竞赛练习题.docx
《竞赛练习题.docx》由会员分享,可在线阅读,更多相关《竞赛练习题.docx(11页珍藏版)》请在冰豆网上搜索。
竞赛练习题
一、选择题:
(每题1.5分,共计30分。
每题有5个选项,前10题为单选题,后10题为不定项选择题,全部选对才得分)。
1. 二进制数11011011的十进制值是( )
A. 202 B. 219 C. 193 D. 209
2. 我国研制的银河Ⅲ型的超级计算机通过基准程序的测试,其峰值速度是( )
A. 80亿次 B. 100亿次 C. 130亿次 D. 150亿次
3. 程序段如下:
FOR I:
=1 TO 5 DO
FOR J:
=2 TO I DO
Writeln(‘*’)
输出’*’的个数是( )
A. 5 B. 10 C. 15 D. 25 E. 30
4. 设待排序的记录为(49,38,65,97,76, 13,27 , 49, 55, 4),经过下过程将序列排序
第一趟:
13, 27, 49, 55, 4, 49, 38, 65, 97, 76
第二趟:
13, 4, 49, 38, 27, 49, 55, 65, 97, 76
第三趟:
4, 13, 27, 38, 49, 49, 55, 65, 76, 97
问它所用的方法是:
(
A. 冒泡排序 B. 直接选择排序 C. 直接插入排序 D. 希尔排序
5. 设无向树T有7片树叶,其余顶点度均为3,则T中3度顶点有多少个( )
A. 5 B. 7 C. 9 D. 4 E. 8
6. 设连通图G的顶点数和边数与一立方体相同,即有8个顶点和12条边。
任意一棵G的生成树的总边数为( )
A.7 B. 8 C. 9 D. 10 E. 11
7. 设有两个散列函数h1(k)=k mod 13 和 h2(k)=k mod 11 +1,散列表为T[0…12],用二次散列法解决冲突。
函数h1用来计算散列地址,当发生冲突时,h2作为计算下一个探测地址的地址增量。
假定某一时刻散列表的状态为:
0 1 2 3 4 5 6 7 8 9 10 11 12
80 44 35
下一个被插入的关键码为57,其插入的位置为( 。
A. 4 B. 5 C. 6 D. 7 E. 8
请根据下面是一段pascal程序,判断第8、9题。
for h :
=1 to n-1 do begin
x :
=A[h+1];
k :
=h;
while (k>=1) and (A[k]>x) do begin
A[k+1] :
=A[k];
k:
=k–1
end
A[k+1] :
=x
end
8. 假设在程序开始执行时,数组A[1…n]是一组随机整数。
下列答案中,哪一个最好的描述了最差情况下的程序排序的时间复杂度?
( )
A. O(n log2 n) B. O(n) C. O(log2n) D. O(n2) E. O(2n)
9. 假设在程序开始执行时,数组A[1…n]是按关键字非递减有序排列时,下列答案中,哪一个最好的描述了最好情况下的程序排序的时间复杂度?
( )
A. O(n log2 n) B. O(n) C. O(log2n) D. O(n2) E. O(2n)
10.对下列四个序列用快速排序方法进行排序,以序列的第一个元素为划分的基准,在第一趟划分过程中,元素的移动数最多的是哪一个序列( )
A. 70 , 65 , 34 , 82 , 53 , 25 , 90
B. 82 , 53 , 25 , 70 , 65 , 34 , 90
C. 34 , 25 , 53 , 65 , 90 , 82 , 70
D. 53 , 25 , 65 , 70 , 34 , 90 , 82
E. 65 , 34 , 82 , 70 , 25 , 53 , 90
11.在计算机运行时,把程序和数据一样存放在内存中,这是1946年由_______所领导的研究小组正式提出并论证的。
( )
A. 图灵
B. 冯·诺依曼
C. 布尔
D. 赫夫曼
E. 哈希
12.下面关于计算机的说法正确的是( )
A. 微机内存容量的基本计量单位是字节
B. 二进制数中右起第10位上的1相当于210
C. CPU每执行一个指令,就完成一步基本运算或判断
D. 1T=1024MB
E. 32位的计算机中的“32”指的是字长
13.为什么说pascal是“高级语言”,是因为它( )
A. 必须在性能较高的机器上运行
B. 必须经过良好培训的高水平的程序员使用
C. 离机器的硬件较远
D. 开发的时间较长
E. 程序的性能较好
14.以下数据结构中,哪一个是线性结构?
( )
A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串 E. 队列
15.在下面关于计算机系统硬件的说法中不正确的是(
A. 没有外部设备的计算机称为祼机
B. 当关闭计算机电源后,RAM中的程序和数据就消失了
C. 软盘和硬盘上的数据均可由 CPU直接存取
D. 软盘和硬盘驱动器既属于输入设备又属于输出设备
E. CPU主要由运算器、控制器和寄存器组成
16. 下面关于算法的正确说法是( )
A. 算法必须有输出
B. 算法必须在计算机上用某种语言实现
C. 算法不一定有输入
D. 算法必须在有限步执行后能结束
E. 算法是程序的灵魂
17.以下关于结构化程序的说法中,正确的是( )
A. 结构化程序是由单入口,单出口和循环三种结构组成
B. 结构化程序是出顺序、单入中和单出口三种结构组成
C. 结构化程序是由顺序、循环和GOTO语句结构组成
D. 结构化程序是由顺序、循环和分支三种结构组成
E. “自顶向下,逐步求精”是结构化程序设计方法的特点
18.栈S最多能容纳4个元素。
现有6个元素按1,2,3,4,5,6的顺序进栈,问下列哪一个序列是可能的出栈序列?
( )
A. 5,4,3,2,1,6
B. 3, 2, 5, 4, 1, 6
C. 2, 3, 5, 6, 1, 4
D. 1, 4, 6, 5, 2, 3
E. 4,5,3,6,2,1
19.下列排序算法中,哪些排序是不稳定的( )
A.快速排序 B. 基数排序 C. 希尔排序 D. 冒泡排序 E.选择排序
20.下列说法正确的是( )
A. 解释程序是接受参数,按照某一样板产生机器语言的计算机程序
B. BASIC语言程序通常需解释执行
C. 连接程序可以把经编译程序产生的目标程序变成可执行的机器语言程序
D. 就执行速度而言,编译程序比解释程序快
E. pascal通常是先编译后执行
一、选择一个正确答案代码(A/B/C/D),填入每题的括号内(每题1.5分,多选无分,共30分)
1、MAN英文缩写的含义是()
A.局域网 B.城域网 C.广域网 D.增值网
2、小张用十六进制,八进制和十进制写了如下一个等式:
64-13=33
式中三个数是各不相同进位制的数,试问64,13,33,分别为________。
A.八进制,十进制,十六进制 B.十进制,十六进制,八进制
C.八进制,十六进制,十进制 D.十进制,八进制,十六进制
3、表达式(4MOD(-3))与(-4MOD3)的值为:
_______。
A.-1,-1 B.1,-1 C.-1,1 D.1,1
4、试指出:
下列if语句中,当x=80时,运行的结果为______。
begin
y:
=0;
readln(x);
ifx<0 theny:
=5
else
ifx<10 thenbegin
y:
=10;
ifx<100 theny:
=100;
end
elsey:
=200;
write('y=',y);
end.
A.y=9 B.y=200 C.y=10 D.y=100
5、设栈S的初始状态为空,现有5个元素组成的序列{1,2,3,4,5},对该序列在S栈上依次进行如下操作(从序列中的1开始,出栈后不再进栈):
进栈,进栈,进栈,出栈,进栈,出栈,进栈,试问出栈的元素序列是________。
A.{5,4,3,2,1} B.{2,1} C.{2,3} D.{3,4}
6、ASCII码是( )。
A.国标码 B.二进制编码 C.十进制编码 D.美国标准信息交换码
7、一台计算机的字长是4个字节,这意味着( )。
A.能处理的数值最大为4位十进制数9999
B.能处理的字符串最多由4个英文字母组成
C.在CPU中能够同时处理32位二进制数据
D.在CPU中运算的最大结果为2的32次方
8、假设一台计算机的地址总线为16,那么中央处理器CPU能访问的最大存储器容量为(
A.2*16KB B.16KB C.216B D.16*1024*8B
9、计算机最终处理的信息形式是( )
A.ASCII码 B.BCD码 C.二进制 D.十六进制
10、与十六进制数6F等值的八进制数是( )
A.166 B.139 C.157 D.183
11、以下属非法用户自定义标识符的是()。
A.date B.dir C.list D.type
12、设X和Y是同一种枚举类型变量,则下列语句中合法的是()。
A.X:
=ORD(Y) B.X:
=Y C.READ(X,Y) D.WRITE(T,Y)
13、计算机能够直接识别和处理的程序是_______程序
A.汇编语言 B.源程序 C.机器语言 D.高级语言
14、设有说明
VARA:
ARRAY['A'..'E',1..4,BOOLEAN]OFREA1;
则A['A',3]是( 。
A.一个实型的数组元素
B.一个数组,该数组具有两个实型数组元素
C.一个数组,该数组具有4*2个实型数组元素
D.一个数组,该数组具有5*4*2个实型数组元素
15、下列属于线性时间的排序算法是:
( )
A.快速排序 B.桶排序 C.冒泡排序
16、一棵包含n个节点的树有几条边:
A.n B.n-1 C.不一定
17、在pascal语言中,表达式35div3mod4的值是________。
A.0 B.2 C.3 D.6
18、在数据结构中,"树"结构下层结点出现三个以上的结点,这种结构称为________。
A.三层树 B.三叉树 C.多层树 D.多叉树
19、在pascal语言中,下列程序段所计算的公式是________。
程序段:
S:
=0;T:
=1;
ForI:
=1to10do
Begin
T:
=T*I;
S:
=S+T;
end;
A.S=1+2+3+4+……+10
B.S=1*2*3*4*……*10
C.S=1!
+2!
+3!
+4!
+……+10!
D.S=1+2*3+3*4+4*5+……+10*11
20、以下说法正确的是( )。
A.CPU与内存不交换信息 B. CPU与内存直接交换信息
C.CPU与内存间接不交换信息 D. CPU与内存部分交换信息
二、阅读下列程序,写出程序运行结果(第1题5分,第2,3,4题各6分,共23分)programexp1;
constn=5;
varI,j,k:
integer;
r:
array[0..10]ofinteger;
begin
forI:
=1tondo
read(r[I]);
forI:
=2tondo
begin
k:
=r[I];j:
=I-1;
while(k>r[j])and(j>0)do
beginr[j+1]:
=r[j];j:
=j-1;end;
r[j+1]:
=k;
end;
forI:
=1tondo
write(r[I],’’);
writeln
end.
键盘输入:
84935
屏幕输出:
programexp2;
vara,b,f:
integer;
functiongd(m,n:
integer):
integer;
begin
ifn=0thengd:
=m
elsegd:
=gd(n,mmodn);
end;
begin
readln(a,b);
write(‘(‘,a,’,’,b,’)=’);
f:
=gd(a,b);
writeln(f)
end.
键盘输入:
17216
屏幕输出:
3、Programexp3(input,output);
VARI,J,S:
INTEGER;
B:
ARRAY[0..5]OFINTEGER;
BEGIN
S:
=1;
FORI:
=1TO5DO B[I]:
=I;
J:
=1;
WHILEJ>0DO
BEGIN
J:
=5;
WHILE(J>0)AND(B[J]=10+J-5)DOJ:
=J-1;
IFJ>0THEN
BEGIN
S:
=S+1; B[J]:
=B[J]+1;
FORi:
=J+1TO5DO B[i]:
=B[J]+i-J
END;
END;
WRITELN('S=',S);
END.
4、programexp4(input,output);
varm,n,g:
integer;
functiongcd(m,n:
integer):
integer;
begin
ifn=0thengcd:
=m
elsegcd:
=gcd(n,mmodn)
end;
begin
read(m,n);
g:
=gcd(m,n);
writeln('m=',m,'n=',n,'gcd=',g)
end.
输入:
48 9
输出:
三、问题解答(第1题每空4分,第2题8分)
1、数据结构中,下面是一个树结构图,这个树的"先序遍历"结果是________,中序遍历结果是:
________________。
24 8 +3 *4 10 7 -*/@
2、给出一个后缀算术表达式为
写出对应的中缀算术表达式:
___________________________________________
四、完善程序(第一题每空3分,第二题每空2分,第三题每空4分,共32分)1、连续整数平台问题
已知一个含有多个整数的数组,其中相同的元素集中在一起形成一个平台。
以下程序用于对输入的数组求出其中最大平台长度。
例如,中元素个数为20,它们依次为
2 2 2 2 3 3 3 3 3 1 1 1 1 1 1 1 1 1 4 4
则它的最大平台长度为9。
constmaxlength=100;
var
a:
array[1..maxlength]ofinteger;
i,maxi,n,s,t:
integer;
begin
write('n=');readln(n);
fori:
=1tondoread(a[i]);
readln;
maxi:
=0;
t:
= [1]
s:
=1;
fori:
=2tondo
ifa[i]=tthen [2]
else
begin
ifs>maxithenmaxi:
=s;
t:
=a[i];
[3]
end;
[4]
writeln('maxi=',maxi);
end.
2、1000!
尾0问题
以下程序用于统计1000!
末尾有多少个0。
其中1000!
=1´2´3´…´1000。
实际上我们只要统计1000!
有多少个因子10。
由于10=5´2,因而只需统计有多少个因子5和2。
显然在1~1000的所有数中,5的因子个数比2的因子个数少。
因此,只要统计1~1000的所有数中共有多少个因子5就行了。
var i,j,n:
integer;
begin
n:
=0;
fori:
=1to200do
begin
j:
=i*5;
while [5] =0do
begin
n:
=n+1;
j:
= [6]
end;
end;
writeln(n:
4);
end.
3、[问题描述]找数问题:
以下程序用在n个不同元素中找出第k个最小元素。
程序中用分治策略来设计算法。
把这n个元素放在一个数组中,然后取出第k个元素为标准m,把n个元素重新排列:
小于标准m的元素放在数组前面,大于该标准的放在数组的后面。
把该元素m放在两者之间。
设小于标准的元素个数为j-1,如果j=k,则A(k)即为所求元素。
如果j>k,则第k个元素必在区间[1,j],因此取A[1],…,A[j]为新的元素集合,然后重复上述的”部分排序”的过程。
如果j直至j=k为止。
[程序清单]
varj,k,n:
integer;
a:
array[1..100]ofinteger;
proceduresearch(b,e:
integer);
varI,m,t:
integer;
begin
ifb=ethenbeginj:
=b;exitend;
I:
=b;j:
=e;m:
= [7] ;
Repeat
Whilea[I]WhilemIfI Begint:
=a[I];a[I]:
=a[j];a[j]:
=tend;
UntilI>=j;
IfI=kthenexit;
If [9] thensearch(b,j)elsesearch(j+1,e)
End;
procedure [10]
varI:
integer;
begin
forI:
=1tondowrite(a[I],’’);
writeln;
writeln(‘a[‘,k,’]=’,a[k]);
end;
begin
write(‘n=’);readln(n);
write(‘a[1..’,n,’]=’);
fork:
=1tondoread(a[k]);
readln;
write(‘k=’);readln(k);
search( [11] ;
pr(n);
readln
end.
参考答案
一、单项选择题(每题1分,共30分)
12345678910
DCBBDDCCCC
11121314151617181920
DBCBBBCDDB
二、阅读下列程序,写出程序运行结果(第1题5分,第2,3,4题各6分,共23分)
1、 98543
1、(172,16)=4
3、 S=252
4、 m=48n=9gcd=3
三、问题解答(第1题每空4分,第2题8分)
1、ABCDE BADCE
2、(24+8)*3/4*(10-7)
四、完善程序(第一题每空3分,第二题每空2分,第三题每空4分,共32分)
(1)a[1]
(2)s:
=s+1 (3)s:
=1 (4)ifs>maxithenmaxi:
=s;
(5)jmod5 (6)jdiv5
(7)a[k] (8)de(j) (9)j>k (10)pr(n:
integer); (11)Ln