小学Pascal练习题

  • 格式:doc
  • 大小:40.50 KB
  • 文档页数:7

一、编程实现:(1):输入x,y的值,用程序实现输出时x为y的值,y为x的值。

(test1)(2):输入一个三位数,输出它的相反数。

如:输入234,输出432。

(3):从键盘输入一个数x,计算表达式3*x-6的值,并在屏幕输出结果。

(test3)(4):输入20个数,统计其中正数、负数和零的个数。

要求:程序名ex统计个数变量:num1(正),num2(负),num3(零)循环变量:i(5):用当循环语句(while)编程计算1×2×4×6×8×……×20的积。

(test5)(6):李冬期末考试考语文、数学、英语三门课程,编程求他期末考试的总分和平均分(test6) (7):随机产生互不相同的两位数20个,并按从小到大的顺序排列。

(8):新年联欢会,来宾聚一堂,互相碰一杯,903响,问有多少人,饮酒在会上?(9):编程求1~100以内所有质数的和。

(10):编程判断某个年份是否是闰年。

输入年份(变量名称:year),若是闰年,则在屏幕上显示Yes,否则输出No (test10(11):小明有一本书,第一天看了全书的一半,第二天又看了剩余的2/3,还有10页没看完,问全书共有几页?(12):一本1000页的书,黄强第一天看了10页。

以后每天比前一天多看3页,编程求出黄强最后一天看了多少页。

(13):兄弟三人岁数和是30,大哥的岁数减2,二哥的岁数加2,弟弟的岁数乘以2 ,结果三人的岁数相同,求三人的岁数各是多少?(14):求1+5+9+13+…101的和。

(15):剧场中有1000个座位,已知第一排有30个座位,以后每排增加2 个座位,1000个座位最多能排几排?最后剩余不够一排的座位有几个?如果按前边的排法再补全一排,整个剧场有多少个座位?(16):爸爸比儿子大30岁,四年后爸爸的年龄将是儿子的四倍,问爸爸和儿子各是多少岁?(17):用数组形式求1-100以内所有奇数的和。

(18):编程模拟投掷硬币100次正反面各出现的次数。

(19):编程求出所有十位数字与个位数字之和等于百位数字的三位数。

(20):随机生成20个两位数的整数,并按从大到小的顺序输出。

(21):编程模拟中福彩票双色球号码产生的程序。

基本要求是红球号码范围为1-33,共产生6 个。

蓝球号码范围为1-16,共产生1 个。

编程输出结果如下:2 6 8 20 24 30 -5 (22):输入三个数,输出三个数中最大的一个。

(23):输出11+12+23+35+58+813+1321+2134……前20项之和。

(24):由键盘输入正整数N(N≤100),求1到N之间所有的5的倍数之和S。

例:输入:N=10输出:S=15(因为1~10之间只有5和10是5的倍数)(25):一光滑墙壁高X尺,有一个小虫从墙底部向上爬,每分钟爬Y尺。

但每爬一分钟后都要休息一分钟,在休息期间又下滑一尺。

编程:输入X和Y,计算该小虫最少几分钟可爬到顶端。

如:输入:X,Y=4,2输出:5二、写出程序的运行结果1.PROGRAM exam(Input,Output);V AR ch1,ch2,ch3:char;BEGINreadln(ch1,ch2,ch3);readln(ch1,ch2);readln(ch1);writeln(ch1,ch2,ch3);END.运行以上程序时,若输入为:ABYXOZBGD则输出结果为:BOY2.PROGRAM p226(output);V AR a,k:integer;BEGINa:=3972; k:=0;WHILE a<>0 DOBEGINa:=a DIV 10; k:=k+1END;Writeln(k:3)END.执行后的输出是:43.PROGRAM p29(output);V AR i,j:integer;BEGINFOR i:=1 TO 5 DOBEGINFOR j:=5 DOWNTO i DO Write(‘+’);Writeln ;ENDEND.运行后输出的图形应是:++++++++++4.FUNCTION high(x,y:integer):integer;BEGINhigh:=x-(x+y) DIV (x-y)END;执行语句t:=high(4,high(6,high(4,1)))后,求变量t的值。

t = -3 (example3)5.FUNCTION f(a,b,c:integer):integer;V AR t:integer;BEGINa:=3*a;t:=b DIV c;f:=a+4*tEND;求表达式f(1,f(1,2,3),3)的值。

f=7 (example3)6.FUNCTION F(n,p:integer):integer;V AR i:integer;BEGINn:=abs(n);FOR i:=1 TO p-1 DO n:=n DIV 10;F:=n MOD 10END;求执行函数调用语句F(5623,6)后的函数值。

f=0 (example3)7.FUNCTION f(n:integer):integer;BEGINIF n=0 THEN f:=0ELSE IF n>0 THEN f:=f(n-2)ELSE f:=f(n+3);END;求函数调用f(5)的值。

f=0 (example3)8.FUNCTION f1(a,b:integer):integer;BEGINIF b=0 THEN f1:=aELSE f1:=f1(pred(a),pred(b))END;求f1(10,6)的值。

f=4 (example3)9.PROGRAM main(input,output); (example4) V AR s,n:integer;PROCEDURE p1;V AR i:integer;BEGINs:=0;FOR i:=0 TO n DO s:=s+1END;PROCEDURE p2;V AR j:integer;BEGINn:=1;FOR j:=1 TO s DO n:=n*jEND;BEGINn:=2;p1;writeln(‘s=’,s);p2;writeln(‘n=’,n);p1;writeln(‘s=’,s);END.结果:s=3n=6s=710.PROGRAM EX(output); (example5)V AR x,y,z:integer;PROCEDURE P(x,y:integer;V AR z:integer);BEGINz:=y-x-z;END;BEGINx:=5; y:=7; z:=4;P(7,x+y+z,x);Writeln(x:2,y:2,z:2)END.结果: 4 7 411.PROGRAM EX(output); (example6)V AR i,j:integer;PROCEDURE f(k:integer;V AR l:integer);BEGINIF k>=0 THEN l:=kELSE l:=-kEND;BEGINFOR i:=-2 TO 2 DOBEGINf(i,j);write(j:2)END;WritelnEND.结果: 2 1 0 1 212.PROCEDURE DB(n:integer); (example4)BEGINIF n>2 THEN DB(n DIV 2);Write(n MOD 2:1)END;主程序用DB(12)调用上述过程,输出的正确结果:110013.PROGRAM EX(output); (example7)VAR x,y,z:integer;PROCEDURE P(x:integer;V AR y:integer);BEGINx:=5; y=6; z=7;writeln(x:3,y:3,z:3)END;BEGINx:=1; y:=2; z:=3;P(x,y);Writeln(x:3,y:3,z:3)END.结果:5 6 71 6 714.PROGRAM pro(input,output); (example8)VAR x,y:integer;PROCEDURE pro(i1,i2:integer);BEGINi1:=x+y; i2:=i1*yEND;BEGINx:=5; y:=10;pro(x,y);Writeln(x:3,y:3)END.结果: 5 1015.FUNCTION f(a,b,c:integer):integer; (example3)V AR t:integer;BEGINa:=3*a;t:=b DIV c;f:=a+4*tEND;求表达式f(1,f(1,2,3),3)的值。

f=716. FUNCTION f(n:integer):integer; (example3)BEGINIF n=0 THEN f:=0ELSE IF n>0 THEN f:=f(n-2)ELSE f:=f(n+3);END;求函数调用f(5)的值。

结果: f=017.设有一函数子程序定义如下:FUNCTION f(x,y,z:integer):integer; (example3)BEGINf:=z-y DIV x;END;执行语句cal:=f(f(2,4,6),6,8)后,变量cal的值。

结果: f=718.CONST r=1; s=2; t=3; (11example)V AR x:ARRAY [1..5] OF integer;且已知x[1]=1; x[2]=7; x[3]=9; x[4]=1; x[5]=6;则计算表达式:(x[s]-1>x[5]) AND (x[t]=7) OR (x[r*3]=(r+s))的值。

表达式简化为0 and 0 or 1结果:119.PROGRAM pro(input,output); (example9)V AR a,b:integer;PROCEDURE p1(x:integer;V AR y:integer);BEGINy:=x+y;writeln(x:3,y:3)END;BEGINa:=5; b:=8; p1(a,b); p1(a+b,a); p1(a DIV b,b)END.结果:5 1318 231 1420.PROGRAM main(input,output); (example4)V AR s,n:integer;PROCEDURE p1;V AR i:integer;BEGINs:=0;FOR i:=0 TO n DO s:=s+1END;PROCEDURE p2;V AR j:integer;BEGINn:=1;FOR j:=1 TO s DO n:=n*jEND;BEGINn:=2; p1; writeln(‘s=’,s); p2;writeln(‘n=’,n); p1; writeln(‘s=’,s);END.结果:s=3n=6s=721.PROGRAM pro1(input,output); (example8)VAR x,y:integer;PROCEDURE pro(i1,i2:integer);BEGINi1:=x+y; i2:=i1*yEND;BEGINx:=5; y:=10;pro(x,y);Writeln(x:3,y:3)END.结果: 5 1022.PROGRAM Y(output); (12example)VAR a,b:integer;PROCEDURE P(c:integer;V AR d:integer);BEGINc:=a+b; d:=a-bEND;BEGINa:=1; b:=2;P(a,b);Writeln(a:3,b:3)END.结果: 1 -123.PROGRAM Abc(output); (13example)V AR k:integer;A:ARRAY [1..5] OF integer;BEGINFOR k:=1 TO 5 DO A[k]:=2*k;FOR k:=2 TO 4 DO A[k]:=A[k+1]+A[k-1];Writeln(A[2]:3,A[4]:3)END.结果: 8 26。