pascal基础教程.doc
《pascal基础教程.doc》由会员分享,可在线阅读,更多相关《pascal基础教程.doc(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.顺序结构101.求长方形的周长var a,b,c:integer;begin read(a,b); c:=(a+b)*2; write(c);end.102.两个变量的值的交换需要第三个变量的方法:var a,b,c:integer;begin a:=3; b:=4; c:=a; a:=b; b:=c; write(a, ,b);end.不需要第三个变量:var a,b:integer;begin a:=3; b:=4; a:=a+b; b:=a-b; a:=a-b; write(a, ,b);end.103.inc()和dec()var a :integer;begin a:=3; a:
2、=a+1; writeln(a); inc(a); writeln(a); inc(a,3); writeln(a); a:=a-1; writeln(a); dec(a); writeln(a); dec(a,3); writeln(a);end.104.求一个四位数各位之和.var a,b,c,d,s:integer;begin read(s); a:=s mod 10; b:=s div 10 mod 10; c:=s div 100 mod 10; d:=s div 1000; write(a+b+c+d);end. 2.判断结构201.求三个数的最大值1.打擂台模式var a,b,c
3、,s:integer;begin read(a,b,c); s:=a; if bs then s:=b; if cs then s:=c; write(s);end.2.else方式var a,b,c,s:integer;begin read(a,b,c); if a=b then if a=c then write(a) else write(c) else if b=c then write(b) else write(c);end.202.判断是否闰年var n:integer;begin read(n); if (n mod 1000)and(n mod 4=0) or (n mod
4、400=0) then write(yes) else write(no);end.203.输入年和月,输出该月有多少天。var year,month,day:integer; runnian:boolean;begin readln(year,month); case month of 1,3,5,7,8,10,12: day:=31; 4,6,9,11: day:=30;以上处理31天和30天的情况 2:begin runnian:=(year mod 400=0) or (year mod 4=0) and (year mod 1000); case runnian of true: d
5、ay:=28; false: day:=29; end; end; 以上处理2月的情况:闰年28天,平年29天 end; write(day);end.204.某超市为了促销,规定:购物不足50元的按原价付款,超过50不足100的按九折付款,超过100元的,超过部分按八折付款。编一程序完成超市的自动计费的工作。var n,s:real;begin read(n); if n100 then s:=n*0.8 else if n50 then s:=n*0.9 else s:=n; write(s);end.3.循环结构1.单重循环301.1+2+3+4+.+100(1)for.do型var n
6、,i,s:integer;begin n:=100; for i:=1 to n do s:=s+i; write(s);end.(2).while .do型var n,i,s:integer;begin n:=100; i:=1; while in; write(s);end.302.1+3+5+7+.+99(1)for.do型var n,i,s:integer;begin n:=99; for i:=1 to n do if i mod 2=1 then s:=s+i; write(s);end.(2).while .do型var n,i,s:integer;begin n:=99; i:
7、=1; while in; write(s);end.303.求使1+3+5+7+.+x=1000成立的x的最小值var n,x,s:integer;begin s:=0; x:=1; while s0 do begin s:=s*10 + n mod 10; n:=n div 10; end; write(s);end. 305.质数的判断var n,i:longint;f:boolean;begin read(n); f:=true; for i:=2 to trunc(sqrt(n) do if n mod i=0 then begin f:=false; break; end; if
8、f=true then write(yes) else write(no);end.306.求最大公约数与最小公倍数 :var a,b,x,y,n,i:integer;begin read(a,b); x:=a;y:=b; n:=x mod y; while y mod n0 do begin x:=y; y:=n; n:=x mod y; end; writeln(n);求最大公约数 writeln(a*b div n);最小公倍数end.307.数列:1,1,3,1,3,5,1,3,5,7,1,3,5,7,9,.求第n 项的值。例如n=5时,为3. var s,n,i,j,k:intege
9、r;begin read(n); i:=1;当前数到第i项 s:=1;当前项的值 k:=1;当前项处于第k个周期 j:=1;当前周期中数到第j项 while ik then begin j:=1; s:=1; k:=k+1; end else begin j:=j+1; s:=s+2; end; end; write(s);end. 308.求周期性数列第n项的值.数列:1,1,3,1,1,3,5,3,1,1,3,5,7,5,3,1,1,3,5,7,9,7,5,3,1.求第n项的值,如:n=5时,值为1第1周期 1 2第2周期 3 4第3周期 5 6第4周期 7 8第k周期 2*k-1 2*k
10、var s,i,j,k,t,n:integer;begin read(n); i:=1;当前数到第i项 k:=1;当前处于第k个周期 j:=1;处于当前周期中第j项 s:=1;当前项的值 while i2*k-1 then begin j:=1; s:=1; k:=k+1; end else if j+1=k then begin j:=j+1; s:=s+2; end else begin j:=j+1; s:=s-2; end; end; write(s);end.309.数列4:1,1,1,2,2,1,1,1,2,2,2,3,3,3,1,1,1,1,2,2,2,2,3,3,3,3,4,4
11、,4,4.的第n项,如n=4,值为2.var n,i,j,k,s:integer;begin read(n); i:=1;当前在总第i项 k:=1;当前项所在第k个周期 j:=1;处于当前周期中第j项 s:=1;当前项的值 while ik*k then begin j:=1; k:=k+1; s:=1; end else if j mod k=0 then begin j:=j+1; s:=s+1; end else begin j:=j+1; end; /write(s:4); end; write(s:4);end.310.求数列1、5、17、53、161、。前20项的和。(提示: An
12、=2+3A(n-1))(答案:3486784380)var an,am,s:real; i:integer;begin writeln; am:=1; s:=1; write(am:20:0); for i:=2 to 20 do begin an:=am*3+2; s:=s+an; am:=an; write(am:20:0); end; writeln; write(totle:,s:0:0);end.双重循环311.打印图形*var i,j:integer;begin for i:=1 to 5 do begin for j:=1 to i do write(*); writeln; e
13、nd;end.312.打印图形 * * * *var i,j:integer;begin for i:=1 to 5 do begin write(:5-i); for j:=1 to 2*i-1 do write(*); writeln; end;end.313.打印图形* * * * *解法一:var i,j:integer;begin for i:=5 downto 1 do begin write(:5-i); for j:=1 to 2*i-1 do write(*); writeln; end;end.解法二:var i,j:integer;begin for i:=1 to 5
14、do begin write(:i-1); for j:=1 to 10-(2*i-1) do write(*); writeln; end;end.314.打印图形:122333444455555var i,j:integer;begin for i:=1 to 5 do begin for j:=1 to i do write(i); writeln; end;end.315.打印图形:112123123412345var i,j:integer;begin for i:=1 to 5 do begin for j:=1 to i do write(j); writeln; end;end
15、.打印图形:121321432154321解法一:var i,j:integer;begin for i:=1 to 5 do begin for j:=i downto 1 do write(j); writeln; end;end.解法二:var i,j:integer;begin for i:=1 to 5 do begin for j:=1 to i do write(i+1-j); writeln; end;end.思考:打印图形:244666888810101010打印图形:133555777799999打印图形:113135135713579打印图形: 1 313 53135 7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- pascal 基础教程
限制150内