haihongyuan.com
海量文库 文档专家
全站搜索:
您现在的位置:首页 > 小学教育 > 学科竞赛学科竞赛

小学Pascal练习题

发布时间:2013-10-17 13:33:55  

一、编程实现:

(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):输入三个数,输出三个数中最大的一个。

1123581321(23):输出 + + + + + + + ……前20项之和。 12358132134

(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); VAR ch1,ch2,ch3:char; BEGIN

readln(ch1,ch2,ch3);

readln(ch1,ch2);

readln(ch1);

writeln(ch1,ch2,ch3);

END.

运行以上程序时,若输入为: ABY

XOZ

BGD

则输出结果为: BOY

2.PROGRAM p226(output); VAR a,k:integer;

BEGIN

a:=3972; k:=0;

WHILE a<>0 DO

BEGIN

a:=a DIV 10; k:=k+1 END;

Writeln(k:3)

END.

执行后的输出是:4

3. PROGRAM p29(output);

VAR i,j:integer;

BEGIN

FOR i:=1 TO 5 DO

BEGIN

FOR j:=5 DOWNTO i DO Writeln ;

END

END.

运行后输出的图形应是: ++++

+++

++

+

4.FUNCTION high(x,y:integer):integer; BEGIN

high:=x-(x+y) DIV (x-y) Write(‘+’);

END;

执行语句t:=high(4,high(6,high(4,1)))后,求变量t的值。 t = -3 (example3)

5.FUNCTION f(a,b,c:integer):integer;

VAR t:integer;

BEGIN

a:=3*a;

t:=b DIV c;

f:=a+4*t

END;

求表达式f(1,f(1,2,3),3)的值。

f=7 (example3)

6.FUNCTION F(n,p:integer):integer;

VAR i:integer;

BEGIN

n:=abs(n);

FOR i:=1 TO p-1 DO n:=n DIV 10; F:=n MOD 10

END;

求执行函数调用语句F(5623,6)后的函数值。 f=0 (example3)

7.FUNCTION f(n:integer):integer;

BEGIN

IF n=0 THEN f:=0

ELSE 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;

BEGIN

IF b=0 THEN f1:=a

ELSE f1:=f1(pred(a),pred(b))

END;

求f1(10,6)的值。

f=4 (example3)

9.PROGRAM main(input,output); (example4)

VAR s,n:integer;

PROCEDURE p1;

VAR i:integer;

BEGIN

s:=0;

FOR i:=0 TO n DO s:=s+1

END;

PROCEDURE p2;

VAR j:integer;

BEGIN

n:=1;

FOR j:=1 TO s DO n:=n*j END;

BEGIN

n:=2;

p1;

writeln(‘s=’,s);

p2;

writeln(‘n=’,n);

p1;

writeln(‘s=’,s);

END.

结果:

s=3

n=6

s=7

10.PROGRAM EX(output); (example5)

VAR x,y,z:integer;

PROCEDURE P(x,y:integer;VAR z:integer); BEGIN

z:=y-x-z;

END;

BEGIN

x:=5; y:=7; z:=4;

P(7,x+y+z,x);

Writeln(x:2,y:2,z:2)

END.

结果: 4 7 4

11.PROGRAM EX(output); (example6) VAR i,j:integer;

PROCEDURE f(k:integer;VAR l:integer); BEGIN

IF k>=0 THEN l:=k

ELSE l:=-k

END;

BEGIN

FOR i:=-2 TO 2 DO

BEGIN

f(i,j);

write(j:2)

END;

Writeln

END.

结果: 2 1 0 1 2

12.PROCEDURE DB(n:integer); (example4)

BEGIN

IF n>2 THEN DB(n DIV 2);

Write(n MOD 2:1)

END;

主程序用DB(12)调用上述过程,输出的正确结果: 1100

13.PROGRAM EX(output); (example7)

VAR x,y,z:integer;

PROCEDURE P(x:integer;VAR y:integer);

BEGIN

x:=5; y=6; z=7;

writeln(x:3,y:3,z:3)

END;

BEGIN

x:=1; y:=2; z:=3;

P(x,y);

Writeln(x:3,y:3,z:3)

END.

结果:

5 6 7

1 6 7

14.PROGRAM pro(input,output); (example8)

VAR x,y:integer;

PROCEDURE pro(i1,i2:integer);

BEGIN

i1:=x+y; i2:=i1*y

END;

BEGIN

x:=5; y:=10;

pro(x,y);

Writeln(x:3,y:3)

END.

结果: 5 10

15.FUNCTION f(a,b,c:integer):integer; (example3) VAR t:integer;

BEGIN

a:=3*a;

t:=b DIV c;

f:=a+4*t

END;

求表达式f(1,f(1,2,3),3)的值。

f=7

16. FUNCTION f(n:integer):integer; (example3)

BEGIN

IF n=0 THEN f:=0

ELSE IF n>0 THEN f:=f(n-2)

ELSE f:=f(n+3);

END;

求函数调用f(5)的值。

结果: f=0

17.设有一函数子程序定义如下:

FUNCTION f(x,y,z:integer):integer; (example3)

BEGIN

f:=z-y DIV x;

END;

执行语句cal:=f(f(2,4,6),6,8)后,变量cal的值。

结果: f=7

18.CONST r=1; s=2; t=3; (11example)

VAR 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

结果:1

19.PROGRAM pro(input,output); (example9)

VAR a,b:integer;

PROCEDURE p1(x:integer;VAR y:integer);

BEGIN

y:=x+y;

writeln(x:3,y:3)

END;

BEGIN

a:=5; b:=8; p1(a,b); p1(a+b,a); p1(a DIV b,b)

END.

结果:

5 13

18 23

1 14

20.PROGRAM main(input,output); (example4)

VAR s,n:integer;

PROCEDURE p1;

VAR i:integer;

BEGIN

s:=0;

FOR i:=0 TO n DO s:=s+1 END;

PROCEDURE p2;

VAR j:integer;

BEGIN

n:=1;

FOR j:=1 TO s DO n:=n*j

END;

BEGIN

n:=2; p1; writeln(‘s=’,s); p2; writeln(‘n=’,n); p1; writeln(‘s=’,s); END.

结果:

s=3

n=6

s=7

21.PROGRAM pro1(input,output); (example8)

VAR x,y:integer;

PROCEDURE pro(i1,i2:integer); BEGIN

i1:=x+y; i2:=i1*y

END;

BEGIN

x:=5; y:=10;

pro(x,y);

Writeln(x:3,y:3)

END.

结果: 5 10

22.PROGRAM Y(output); (12example)

VAR a,b:integer;

PROCEDURE P(c:integer;VAR d:integer); BEGIN

c:=a+b; d:=a-b

END;

BEGIN

a:=1; b:=2;

P(a,b);

Writeln(a:3,b:3)

END.

结果: 1 -1

23.PROGRAM Abc(output); (13example) VAR k:integer;

A:ARRAY [1..5] OF integer;

BEGIN

FOR 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

网站首页网站地图 站长统计
All rights reserved Powered by 海文库
copyright ©right 2010-2011。
文档资料库内容来自网络,如有侵犯请联系客服。zhit326@126.com