宁波市第23届中小学生计算机程序设计竞赛 一、单项选择题(每小题 2 分,共40分) 1、被称为“现代计算机之父”的是( )
A、图灵 B、冯.诺依曼 C、比尔.盖茨 D、巴贝奇
2、计算机在工作时突然停电,则( )中的信息全部丢失,来电之后也不能恢复。 A、ROM和RAM B、ROM C、RAM D、硬盘
3、扫描仪、绘图仪、触摸屏、音箱当中有( )中具有输出功能。 A、1 B、2 C、3 D、4
4、计算机能为我们做很多工作,下列缩写CAD、CAM、CAI分别对应的是( ) A、计算机辅助设计/辅助制造/辅助教学 B、计算机辅助制造/辅助设计/辅助教学 C、计算机辅助教学/辅助设计/辅助制造 D、计算机辅助设计/辅助教学/辅助制造 5、二进制数00100100与00010100的和是( )
A、00101000 B、00111100 C、00110100 D、00111000 6、程序设计的三种基本结构是( )
A、主程序、函数、过程 B、顺序、选择、循环 C、程序首部、说明总分、执行部分 D、for、while、repeat 7、在Windows中,“回收站”是( )的一块区域。 A、硬盘 B、内存 C、软盘 D、光盘
8、在Turbo Pascal语言环境下,快捷组合键Ctrl+F的功能是( )
A、下拉File子菜单 B、保存程序 C、关闭窗口 D、新开窗口 9、互联网上最常用的浏览器称为( )
A、word B、QQ C、IE??D、TCP/IP 10、某计算机的硬盘有100G,等于( )字节。 A、100 B、100×1000 C、100×1024×1024 D、100×1024×1024×1024 11、下列数据类型中不是构造类型的是( )
A、集合类型 B、数组类型 C、文件类型 D、枚举类型 12、Integer类型的数据范围是( )
A、-32767~32767 B、0~32767 C、-32768~32767 D、0~65535 13、下列表达式的值为FALSE的是( )
A、Odd(True(7.49)) B、Round((Abs(-9.5)))<10 C、Not(?9?100?) D、Ord(Chr(Pred(8)))>=7
14、R:=Random(100)+1产生一个随机数R,R的取值范围是( ) A、0<=R<=100 B、0
C、(ch>=a)and(ch<=z) D、ch>=?a? and ch<=?z?
16、设n是实型变量,下列表达式能使n四舍五入保留两位小的是( ) A、Round(n*100)/100 B、Round(n/100)*100 C、Trunc(n*100)/100 D、Trunc(n/100)*100
17、设a、b、c都是整型变量,由键盘输入如下三行数据
1 2 3 回车 4 5 6 回车 7 8 9 回车
下列语句组中不能使a=1、b=7的是( )
A、Readln(a,b,b,b,b,b,b,c,c); B、Readln(a);Readln;Readln(b); C、Readln(a,c,c,c);Read(b); D、Readln(a,c,c);Readln(b,c,c); 18、设有变量说明VAR I,j:integer;x,y:Real;a,b:Boolean;c:Char;
下列赋值语句中正确的是( )
A、i:=i+x; B、b:=Ord(c>?c?); C、a:=i=j; D、i:=x mod y; 19、表达式Chr(Ord(?A?)+4))的值是( )
A、?D? B、?E? C、69 D、101
20、设a[1]=1,a[2]=2,a[3]=3,a[4]=4,a[5]=5,a[6]=6,且i=1,j=2,k=3,m=4
下列变量的值等于3的是( )
A、a[i*j] B、a[a[k-i]+3] C、a[m div j] D、a[a[j+k-2]]
二、 问题解答(每小题5分,共10分)
1、 马路上有编号为1~9的9盏路灯,为了节约用电,现要关掉其中的三盏灯,但两端的灯
不能关,也不能同时关掉相邻的灯。问:符合要求的关灯方法共有多少种? 答:共有 种。
2、 A、B、C三人中一位是工人,一位是教师,一位是律师。已知:C仅比律师年龄大,A和
教师不同岁,B比教师年龄小。问:A、B、C分别是什么身分?
答: 是工人, 是教师, 是律师。
三、阅读程序,写出程序的结果(每小题5分,共20分)
(1) var I,j:integer;
begin
for I:=1 to 5 do begin for j:=2 to I do
if I mod 2=0 then write(?A?)
else write(?B?); writeln; end; end.
输出: (2) var I,j,n:integer;
b:array[1..10] of 0..2; begin
n:=2008;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. 输出: (3) var s:string;
I,len:integer; Begin
S:=?olympic games 2008?; S:=? ?+s;len:=length(s); For i:=1 to len do begin Ch:=s[len];
If (ch>=?0?) and(ch<=?9?) then begin Delete(s,len,1);insert(ch,s1); End;
If (s[i]=? ?) and (i<>len) then s[i]:=?-?; End;
Writeln(s); End.
输出: (4) var a,b,x:integer;
Procedure ms(a,b:integer;var c:integer); Begin
a:=3*a;b:=4*b;c:=a-b+c; end; begin
a:=1;b:=2;x:=3; ms(a,b,x);
writeln(a,b:5,x:5); end.
输出: 四、 完善程序(每空3分,共30分)
1、 最佳评分值:
输入10个评委对某项目的评分值(正整数),计算出他们评分的平均值,然后找出最佳评分值,即:最接近平均值的那些数(这些数可能大于、也可能小于平均值)。 Var I,n:integer; b,s:real;
a: ; begin
for i:=1 to 10 do read(a[i]);
s:= ;
for i:=2 to 10 do s:=s+a[i]; s:=s/10; n:=1;
for i:=2 to 10 do
if < then n:=I; b:abs(a[n]-s); for I;=1 to 10 do
if then write(a[i]:3); writeln; end.
2、 高精度阶乘:
正整数A的阶乘,数学中定义为:A!=1×2×3×……×A,如:3!=1×2×3.现在输入一个正整数n(n<=50),要求计算出1~n的每一个整数的阶乘的高精度结果(即:结果为全部有效数字)。下面的程序中采用加法代替乘法的方法计算阶乘,如:3!=2!×3=2!×2!×2!。
输出格式:每行打印一个数的阶乘 如:输入:n=3 输出:1!=1 2!=2 3!=6
Const max=80; Var I,j,k,n,r:integer;
a,b:array[1..max] of integer; Begin
Write(?n=?);readln(n); a[1]:=1;writeln(?1!=?,1);
For j:=1 to do begin b:=a;
for k:=1 to do for i:=1 to max do begin r:= ;
if r>=10 then :=a[i+1]+1; a[i]:=r mod 10; end; k:=max;
while do k:=k-1; write(j+1,?!=?);
for i:=k downto 1 do write(a[i]); writeln;
end;