小学生计算机程序设计竞赛试卷及参考答案
时间:2014-11-20 14:53:00
分享到:
核心提示:◆◆请将正确答案在答题卷上填写,在本试题卷上答题无效◆◆一、选择题(2*7)1、下列表达式的值为FALSE的是( )。A. Not(‘90’’100’) B.Round((Abs(-10.5)))10...
◆◆请将正确答案在答题卷上填写,在本试题卷上答题无效◆◆
一、 选择题(2*7)
1、下列表达式的值为FALSE的是( )。
A. Not(‘90’
C. Odd(True(98.49)) D.Ord(Chr(Pred(8)))>=7
2、判断变量ch的值是否为大写字母,下列表达式正确的是( )。
A. ch>=’A’ and ch<=’Z’ B.’A’<=ch<=’Z’
C.(ch>=A)and(ch<=Z) D. not(ch’Z’)
3、表达式Chr(Ord(‘a’)+5))的值是( )。
A.’f’ B.‘E’ C.102 D.101
4、与十进制数2014等值的二进制数是( )。
A.11111011110 B.11110011110
C.10111111110 D.11111111010
5、[x]补码=10011101,其原码为( )。
A.11001111 B.11100100 C.11100011 D.01100101
6、十进算术表达式:5*512+7*64+4*8+7的运算结果,用二进制表示为( )。
A. 101111100111 B.111111100101
C. 111110100101 D.111111011011
7、(2014)16 + (924)10的结果是( )。
A. (9036)10 B. (23B0)16
C. (9130)10 D. (100011000110)2
二、计算下列函数(1*15)
1、Sqr(7)的值为( )。
2、Round(19.6)的值为( )。
3、Round(14.4)的值为( )。
4、int(-5.7)的值为( )。
5、Abs(-4.1)的值为( )。
6、-37 mod 6的值为( )。
7、’A’
8、odd(25)的值( )。
9、Not(17-5>13)的值为( )。
10、(11>10)and(7>=7)的值为( )。
11、Round(-11.1)的值为( )。
12、Round(-9.7)的值为( )。
13、Trunc(-17.7)的值为( )
14、chr(ord(‘h ’))的值为( )。
15、已知chr(97)的值为字母a则chr(99)的值为字母( )。
三、问题求解(5+6)
1、兄弟两人去钓鱼,一共钓了23条,哥哥钓的鱼比弟弟的三倍还多3条,哥哥弟弟各钓了多少条?
哥哥___________________ 弟弟______________________
2、对一批编号为1~100,全部开关朝上(开)的灯进行以下操作:凡是1的倍数反方向拨一次开关;2的倍数反方向又拨一次开关;3的倍数反方向又拨一次开关;……100的倍数反方向又拨一次开关。问:最后为关熄状态的灯的编号有哪些?
______________________________________________________
四、看程序写结果
1、
var d, p: integer;
begin
p:=1;
d:=5;
while d>1 do
begin
p:=2*(p+1);
d:=d-1
end;
writeln (p)
end.
输出:__________________
2、
var x,y:longint;
begin
x:=2014; y:=924;
while (x<>0) and (y<>0) do
begin
if x>=y then x:=x-y else y:=y-x
end;
if x=0 then writeln(y) else writeln(x)
end.
输出:_________________________
3、
var i,j,n:integer;
b:array[1..10] of 0..2;
begin
n:=2014;j:=0;
while n>0 do begin
j:=j+1;b[j]:=n mod 3; n:=n div 3;
end;
for i:=j downto 1 do write(b[i]);
writeln;
end.
输出:
4、
var i,j,s:integer;
b :array[0..5] of integer;
begin
s:=1;
for i:=1 to 5 do b[i]:=i;
j:=1;
while j>0 do
begin
j:=5;
while (j>0) and (b[j]=10+j-5) do j:=j-1;
if j>0 then
begin
s:=s+1; b[j]:=b[j]+1;
for i:=j+1 to 5 do b[i]:=b[j]+i-j
end;
end;
writeln('s=',s);
end.
输出:______________________________
5、
var i,k:integer; a:array [0..20] of integer; begin a[1]:=1;
a[2]:=1;
k:=1;
repeat
a[k+2]:=1;
for i:=k+1 downto 2 do a[i]:=a[i]+a[i-1];
k:=k+1;
until k>=5;
for i:=1 to 6 do write(a[i]:5);
writeln
end.
输出:________________________________
五、完善程序(3*4)
1、鸡兔同笼问题:
鸡有一头二脚,兔有一头四脚;鸡兔同笼共有头m个、脚n个,问笼中鸡、兔各有多少?例如输入:4 10
输出:
3
1
var n,m:Qword;
begin
readln(m,n);
writeln(① );
writeln(② );
end.
2、最小公倍数
求两个正整数m、n的最小公倍数k。例如输入:12 9 输出:36
var a,b,t:Qword;
function gcd(m,n:Qword):Qword;
begin
if m mod n=0 then gcd:=n else gcd:= ③ ;
end;
begin
readln(a,b);if a
end.
3、汉诺塔问题
将A柱上的圆盘移到C柱。移动规则如下: 1、一次只能移动一个盘; 2、不允许把大盘放在小盘上。 第一行只有一个正整数:k,表示总移动次数
接下来的k行,每行是一种移动方法。例如输入3
输出
7
A->C
A->B
C->B
A->C
B->A
B->C
A->C
var
k,n,i:longint;
procedure try(a,b,c:char;m:longint);
begin
if m=1 then writeln(⑤ )
else
begin
try(⑥ );
writeln(a,'->',c);
try(⑦ );
end;
end;
begin
readln(n);
k:=1;
for i:=1 to n do
⑧ ;
writeln(⑨ );
try(⑩ );
end.
计算机程序设计竞赛答案
一、 选择题:(2 *7)
题号 1 2 3 4 5 6 7
答案 A或B D A A C A B
二、计算下列函数(1*15)
题号 1 2 3 4 5
答案 49 20 14 -5.0…E+000 4.1
题号 6 7 8 9 10
答案 -1 True True True True
题号 11 12 13 14 15
答案 -11 -10 -17 h c
三、问答题(5+6)
1、 18 5
2、 1 4 9 16 25 36 49 64 81 100
四、看程序写结果(6*5)
1、 46
2、 2
3、 2202121
4、 s=252
5、 1 5 10 10 5 1
五、完善程序(3*10)
1、 ① (m*4-n)div 2 ② m-(m*4-n)div 2
2、 ③ gcd(n,m mod n) ④ a*b div gcd(a,b)
3、 ⑤ a,'->',c ⑥ a,c,b,m-1 (a,c,b, m div 2)
⑦ b,a,c,m-1(b,a,c,m div 2) ⑧ k:=k*2
⑨ k-1 ⑩ 'A','B','C',n ('A','B','C',K-1)
作者:不详 来源:网络