2009年长沙市小学生计算机奥林匹克竞赛初赛试题
(时间:90分钟)
参赛证号: 姓名: 学校: 总分:
一、 单项选择题(每小题2分,共40分)
1、 操作系统是对( )进行管理的系统软件。
A、软件 B、硬件 C、应用程序 D、计算机资源
2、今年长沙市小学生计算机奥赛中使用的计算机语言仍是( )。
A、Free Pascal B、C++ C、Turbo Pascal D、Turbo C
3、2008年中科院研制成功的“曙光5000”超级计算机,又刷新了我国计算机的最高运算速度,它每秒运算超过了( )。
A、100亿次 B、1000亿次 C、100万亿次 D、1000万亿次
4、执行b:=10;for i:=0 to b do b:=b+1; 之后,变量i、b的值分别为( )。
A、20,20 B、10,21 C、21,21 D、10,20
5、与二进制数100110101相等的十六进制数是( )。
A、135 B、465 C、9A1 D、531
6、根据条件判断的结果,来选择程序执行方向的程序结构称为( )。
A、顺序结构 B、分支结构 C、树形结构 D、菜单结构
7、若Var A:array[0..10]of integer;定义了数组A,则A数组需要的内存空间为( )。
A、22Byte B、20KB C、22KB D、20Bit
8、中央处理器每执行一个( ),就可以完成一次基本运算或判断。
A、语句 B、指令 C、程序 D、软件
9、表达式Trunc(sqrt(18236 div 100 mod 100))的值为( )。
A、9 B、6 C、82 D、0
10、内存储器的每一个存储单元,都对应一个唯一的序号,作为它的( )。
A、内容 B、指令 C、程序 D、地址
11、描述网络数据传输速率的单位是BPS,其含义是( )。
A、每秒传输数据多少公里 B、每秒传输数据多少万公里
C、每秒传输多少二进制位 D、每秒传输多少个数据
12、对10个按大小排列的数,用二分法查找其中某个数的位置,最多只需查找( )次。
A、1 B、4 C、10 D、5
13、下面布尔表达式的值为true 的是( )。
A、chr(ord(‘b’)+1)>’b’ B、(‘123’>’23’)and(123>23)
C、’2’>’1000’ D、not(‘A’<>’a’)
14、产生10-30之间(包括10、30)的随机整数表达式为( )。
A、random(10)+20 B、random(20)+10 C、random(30)+10 D random(21)+10
15、下列Pascal表达式当中正确的是( )。
A、(x+y)(x-y) B、(b>c)*(a+2) C、m/2+2n D、(((b+1)*2+1)*2+1)*2+1
16、执行i:=0;while i<2009 do begin n:=n+ord(odd(i));i:=i+1 end 之后,n值为( )。
A、1004 B、2009 C、1005 D、2008
17、执行语句writeln(‘12*3=’,12*3)的结果为( )。
A、36=36 B、12*3=36 C、‘12*3=’36 D、‘12*3=’,12*3
18、在完成编程后,为了有效检测程序的正确性,应该( )。
A、随便选取一个数据进行测试
B、取一切可能的数据进行测试
C、选择最可能发现错误的数据进行测试
D、自己不测试,交给老师测试
19、对二给数组a:array[1..5,1..7] of ingeger,现在要存入数据,若按行顺序存储,其中有一个数在[3,5]的位置,而若改为按列顺序存储,则这个数应该位于( )。
A、[4,4] B、[5,3] C、[2,5] D、[3,5]
20、下面描述错误的是( )。
A、双核处理器是指在一个处理器上集成两个运算核心,从而提高运行速度和计算能力。
B、计算机在工作时突然断电,保存在内存ROM中的信息会全部丢失。
C、计算机病毒都是人为制造出来的,而不是计算机硬件故障的结果。
D、“微软黑屏事件”与计算机知识产权问题有关。
二、 问答题(每小题5分,第一小题第一空2分,第一空3分,共10分)
1、 1
2、3
4、5、6
7、8、9、10
……………………
问:如上三角形数阵中第11行第6个数是多少?请完善计算机第n行第i个数的表达式。
答:第11行第6个数是 ,第n行第i个数的表达式为: *n/2+i
2、有一种电子钟,每到正点响一次铃,每过九分钟亮一次灯。问:如果中午12点整它既响铃又亮灯,那么下一次既响铃又亮灯是什么时间?
答: 。
三、 读程序,写结果(每小题5分,共20分)
(1) var x,y:integer;
begin
readln(x,y);
if x-10>y then writeln(x div y) else writeln(x mod y);
end.
输入:34 26
输出:
(2) var a:array[0..8] of integer;
i:integer;
Begin
For i:=1 to 8 do a[i]:=I;
For i:=1 to 4 do begin
A[0]:=a[i];a[i]:=a[9-i];a[9-i]:=a[0];
End;
For i:=1 to 8 do write(a[i]:2);
Writeln;
End.
输出:
(3) var s,s1,s2:string;
I,j,len:integer;
Begin
Readln(s);
len:=length(s);
s1:=’’;s2:=’’;j:=0;
for i:=1 to len do begin
If (s[i]>=’0’)and(s[i]<=’9’) tehn begin
j:=j+1;insert(s[i],s1,j);
end else
If (s[i]>=’a’)and(s[i]<=’z’)or (s[i]>=’A’)and(s[i]<=’Z’)
Then s2:=s2+s[i];
end;
Writeln(s1,’ ’,s2);
End.
输入:Is 4Today 18?
输出:
(4) var a,b:integer;
Procedure tt(x:integer;var y:integer);
Begin
X:=x+y;
Y:=x-y;
End;
Begin
A:=7;b:=8;
tt(a,b);
Writeln(a:3,b:3);
tt(a-b,b);
writeln(a:3,b:3);
end.
四、 完善程序(每空3分,共30分)
1、 统计子序列数
输入一个互不相同的正整数序列,求出该序列中所有递增和递减子序列的数目。例如:整数序列(7,4,6,9,8,3,5,2,1),可以分为(7,4),(4,6,9),(9,8,3),(3,5),(5,2,1)这些子序列,即:子序列的数目为5。
(注:上例整数序列中的4,9,3,5被称之为“转折元素”)
Var n,I,s:integer;
d:array[1..100] of integer;
begin
readln(n);
f