资源描述
信息学初赛模拟试题〔七〕
一、选择一个正确答案代码〔A/B/C/D〕,填入每题的括号内 〔此题共20小题,每题1.5分共30分。1—10小题为单项选择题,11—20小题为不定项选择题,每题有一个或多个答案。〕
1、如果按字长来划分,微型机可以分为8位机、16位机、32位机与64位机。所谓32位机是指该计算机所用的CPU〔 〕
A、同时能处理32位二进制数 B、具有32位的存放器
C、只能处理32位二进制定点数 D、有32个存放器
E、存储方式是32位
2、以下表达式正确的选项是〔 〕
A、 〔1〕10>〔1〕2 B、〔12〕10 >〔10〕16 C、 〔15〕8 > 〔10〕16
D、〔101〕2 > 〔15〕16 E、〔121〕10 =〔79〕16
3、关闭一个活动应用程序窗口,可按快捷键〔 〕
A、Ctrl + F4 B、Alt + F4 C、Alt +Esc D、Ctrl+ Esc E、Shift+ Esc
4、构造化程序设计的三种构造是〔 〕
A、顺序构造、选择构造、转移构造 B、分支构造、等价构造、循环构造
C、多分构造、赋值构造、等价构造 D、分支构造、顺序构造、选择构造
E、循环构造、顺序构造、选择构造
5、编译程序是指〔 〕
A、将高级语言源程序翻译成机器语言程序〔目标程序〕
B、将机器语言源程序翻译成高级语言程序〔目标程序〕
C、对源程序边扫描边翻译执行
D、对目标程序装配连接
E、运行源程序并修改错误
6、在pascal语言中以下运算符〔 〕的优先级别最高
A、 AND B、 NOT C、<> D、* E、OR
7、在线性表中,那些结点只有一个直接前驱与一个直接后续〔 〕
A、头结点 B、尾结点 C、中间的结点 D、所有结点 E、不确定
8、具有12个记录的序列,采用冒泡排序法最少的比拟次数是〔 〕
A、 1 B、144 C、11 D、66 E、0
9、有N个结点的图的邻接矩阵存储法中,链表的表头结点有〔 〕个。
A、 N B、 2N C、N/2 D、N*N E、N-2
10、表达式SQRT〔ABS〔-100〕*SQR〔ROUND〔3.7〕〕〕的值是〔 〕。
A、 30 B、40 C、30.0 D
11、二叉树的后序遍历为 abcdef ,这棵二叉树可能是:
12、具有4个顶点的无向完全图有〔 〕条边。
A、6 B、12 C、16 D、20
13、二进制数1101101.11011转换成十六进制数为〔 〕
A、6D.D8 B1 C、CD.D8 D、CD.D1 E
14、有如下公式,那么 f (f (2*f(3)-1)*2)为( )
2 (n≤2)
f (n)=
f(n-1)+f(n-2)-1 (n≥3)
A、 14 B、 2 C、145 D、146 E、147
15、现有一栈:a,b,c,d,e,f 那么有可能是出栈的序列是( )
A、 a,b B、a,c ,e,b C、 b,c,e D、 f,e,d,c,a,b E、a,b,c,d,e,f
16、以下软件属于系统软件的是〔 〕
A、WORD B、 WINDOWS 98 C、DOS D、 UNIX E、FLASH
17、800个24×24点阵汉字字型库所需要的存储容量是〔 〕
A、 7.04KB B 、56.25KB C、 7200B D、 450KB E、720MB
18、对于矩阵
Dij为aij的地址,每个元素占三个字节空间。假设按照行顺序存储,那么计算Dij正确的式子是〔 〕。
A. D11+3(n(i-1)+(j-1)) B. Dkp+3(n(i-k)+(j-p)) C. D11+m(i-1)+(j-1)
D. D11+n(j-1)+(i-1) E. D11+m(j-1)+(i-1)
19、设有说明 type byte=0..7;
word=0..15;
num=real;
var a:byte;b,c:word;d:integer;e:num;f:char;
那么以下合法的赋值语句是〔 〕
A、b:=a; B、 d:=c; C、 f:=b; D、a:=f; E、e:=d;
20、有如下函数说明:
function st(a,b,c:integer):integer
begin
a:=2*b-2
st:=a+4 div b mod c;
end
那么以下结果正确定是〔 〕
A、st (2,st(1,2,3),4)=6 B、st (2,st(1,2,3),4)=7 C、st (st(1,2,3),2,4)=6
D、st (st(1,2,3),2,4)=4 E、st (2,4 st(1,2,3))=7
二、问题解答: 〔此题共2小题,每题5分,共10分〕
1、 有一群儿童,他们的年龄之与50岁,其中最大的13岁,有一个是10岁;除去这个10岁儿童之外,其余儿童的年龄都是整数且恰好组成一个等差数列.请按由小到大的顺序写出这几个儿童的岁数:____________________________
2、有n个不同的整数,从中取出两组来, 要求第一组数里的最小数大于第二组的最大数。问有多少种方案?________________
三、阅读程序,并写出程序正确的运行结果:(此题共4小题,每题8分,共32分)
1、program expl (input,output);
var i,s,max : integer ;
a:array[1…10] of integer ;
begin
for i:=1 to 10 do read (a[i]);
max :=a[1] ; s:=a[1] ;
for i:=2 to 10 do
begin
if s<0 then s:=0;
s:=s+a[i];
if s>max then max:=s;
end;
writeln(‘max=’,max)
end
输入:44 15 -55 4 -8 2 8 9 6 -9
2、progam exp2(input,output);
var p,q,s,t:integer;
begin
readln(p);
for q:=p+1 to 2*p do
begin
t:=0;
s:=(p*q)mod(q-p);
if s=0 then
begin
t:=p+q+(p*q)div(q-p);
write(t:4);
end;
end;
readln
end.
输入:12
4、Program EXP4(input,output);
const n=4;
type se=array[1..n*2] of char;
var i,j,i1,j1,k,s,t,s1,L,swap:integer;
temp :char;
a :se;
Begin
for i:=1 to n*2 do read(a[i]);readln;
s:=0; t:=0;
for i:=1 to n*2 do
if a[i]='1' then s:=s+1 else if a[i]='0' then t:=t+1;
if (s<>n) or (t<>n) then writeln('error')
else
begin s1:=0;
for i:=1 to 2*n-1 do if a[i]<>a[i+1] then s1:=s1+1;
writeln('jamp=',s1); swap:=0;
for i:=1 to 2*n-1 do
for j:=i+1 to 2*n do
if a[i]<>a[j] then
begin
temp:=a[i];a[i]:=a[j];a[j]:=temp;
s:=0;
for L:=1 to 2*n-1 do
if a[L]<>a[L+1] then s:=s+1;
if s>swap then
begin swap:=s; i1:=i; j1:=j end; temp:=a[i];a[i]:=a[j];a[j]:=temp
end;
if swap>0 then writeln('maxswap=',swap-s1,' i=',i1,' j=',j1)
end
End.
输入:00100111
3、program ex3(output);
type
arr=array[1..4,1..4]of integer;
var
a:arr;
x,y:integer;
begin
for x:=1 to 4 do
for y:=1 to 4 do
if (x+y=5) or (x-y=3)then
a[x,y]:=1
else
a[x,y]:=0;
for x:= 1 to 4 do
begin
for y:= 1 to 4 do
write(a[x,y]:3);
writeln
end;
end.
四、完善程序: (此题共7空,每空4分,28分)
1、孪生素数是指两个相差为2的素数,例如:3与5,5与7,11与13等。下面的程序可输入出15对孪生素数,其中函数f判断整数a是否素数。
Program p(output);
var
k,n:interger
function f(a:interger):boolean;
var
k:integer;
flag:boolean;
begin
flag:=____________;
k:=2;
while (k<=a div 2) and ______________do
if a mod k=0 then
______________
else
k:=k+1;
f:=flag
end
begin
n:=0;
k:=2;
repeat
if f(k) and ___________ then
begin
n:=n+1;
writeln(k,k+2)
end
k:=k+1
until n=15
end
2、有类型说明 : type t1 =^rec;
rec=record
data:integer;
next:t1
end;
设head为t1型变量,并指向一个不少于2个节点的单链表。过程p1可删除phead所指的链表所有重复节点〔即假设有多个节点的data域的值相等,那么只保存最前面的一个节点〕。
例如:假设原链表为
那么执行pl(head);后链表为:
请完成过程 pl
procedure pl(head:t1);
var q,p,t1;
begin
while head<>nil do
begin
p:=head;
q:=p^.next;
while q<>nil do
if q^.data =head^.data then
begin
_________:= q.next;
dispose(______);
q:=p^.next
end
else
begin
p:=p^.next;
q:=__________
end;
head:=head^.next
end;
end;
参考答案
一、 选择题
题号
1
2
3
4
5
6
7
8
9
10
答案
A
E
B
E
A
B
C
C
A
D
题号
11
12
13
14
15
16
17
18
19
20
答案
AB
A
A
A
ACE
BCD
B
AB
ABE
BDE
二、问题求解
1、7,9,10,11,13
2、n·2n-1+1
三、看程序写结果
1、max=59
2、181 110 87 76 66 62 61 60
3、0 0 0 1
0 0 1 0
0 1 0 0
1 0 0 0
4、jamp=3
maxswap=3 i=1 j=7
四、完善程序
1、true
flag 或 flag=true
flag:=false
2、p^.next
q
p^.next;
信息学初赛模拟试题〔八〕
〔中学组PASCAL语言,两小时完成〕
◆◆请将正确答案在答卷上填写,在本试题卷上答题无效◆◆
一、选择题〔每题1.5分,共30分〕
1、 一台计算机一经设计出厂,其指令系统_____
A、已确定 B、再经软件人员编制而成 C、可继续其功能 D、属系统软件
2、把整数7转换为字符’7’的表达式是_____
A、 Chr〔7〕-ord〔‘0’〕 B、chr〔7-ord〔0〕〕
B、 Chr〔7+ord〔‘0’〕〕 D、chr〔7+ord〔0〕〕
3、_____接口是一种通用型系统级接口,它连接的外设可以是硬盘驱动器、光盘驱动器与扫描仪等。
A、RS232 B、IDE C、EIDE D、SCSI
4、1GB=_____字节。
A、220 B、230 C、106 D、109
5、主存储器系统中使用Cache的目的是_____
A、增加主存容量 B、存放常用的系统程序
C、存放BIOS D、提高CPU存取主存的速度
6、从以下表达中选出最确切表达_____
A、CPU是计算机核心部件,它的主要功能是完成算术与逻辑运算操作;
B、根据系统总线传送信息的类型不同,它可分为地址线、数据线与控制线。
C、 在指令字中,除给出指令的操作码外,还必须给出操作的对象。
D、 显示器是构成计算机显示系统的硬件部件。
7、 高级语言中,程序控制一般分为三种根本构造,其中_____构造可提供作条路径选择。
A、循环 B、分支 C、递归 D、过程
8、在子程序的程序头,一般要写出一些变量,这些变量被称为_____
A、形式参数 B、实际参数 C、局部参数 D、全局参数
9、二分法查找_____存储构造。
A、只适合于顺序 B、只适合于链式
C、既适合于顺序也适合于链式 D、既不适合于顺序也不适合于链式
10、中选定文件或文件夹,不将文件或文件夹放到“回收站〞中,直接删除的操作是_____
A、 按 Delete〔Del〕键
B、 用鼠标直接将文件或文件夹拖放到“回收站〞中
C、 按 Shift + Delete 〔Del〕键
D、 用“我的电脑〞或“资源管理器〞窗口中的“文件〞菜单中的删除命令
11、有一个二维数组A,行下标的范围是0到8,列下标的范围是1到5,每个数组元素用相信的4个字节存储。存储器按字节编址。假设存储数组元素A[0,1]的第一个字节的地址是0。假设按列存储,那么A[2,4]的第一个字节的地址是_____
A、28 B、108 C、116 D、132
A、77.E B、77.7 C
13、URL的一般格式为_____
A、/<路径>/<文件名>/<主机> B、<通信协议>://<主机>/<路径>/<文件名>
C、<通信协议>:/<主机>/<文件名> D、//<主机>/<路径>/<文件名>:<通信协议>
14、_____是实现两个异种网络互连的设备。
A、网桥 B、网关 C、集线器 D、路由器
15、_____可能把模拟声音信号转换成数字声音信号。
A、A/D B、D/A C、R/W D、I/O
16、现有十六进制数x、y,它们的值分别是x=BD,y=9D,那么表达式x*y的值为_____
A、73E9 B、50ED C、7E00 D、CE11
17、设T是哈夫曼树,且各片树叶的权分别是:1,2,3,4,5,6,那么此树的非树叶结点的权之与是_____
A、27 B、30 C、45 D、51
18、设要将序列<Q,H,C,Y,P,A,M,S,R,D,F,X>中的关键码按字母的升序重新排列,那么_____是以第一个元素为分界元素的快速排序一趟扫描的结果。
A、 F,H,C,D,P,A,M,Q,R,S,Y,X
B、 P,A,C,S,Q,D,F,X,R,H,M,Y
C、 A,D,C,R,F,Q,M,S,Y,P,H,X
D、 H,C,Q,P,A,M,S,R,D,F,X,Y
19、设X=23 Î 0.0110,那么规格化后阶码为.
A、011 B、010 C、100 D、111
20、线性表具有两种存储方式,即顺序方式与链接方式。现有一个具有五个元素的线性表L={23,17,47,05,31},假设它以链接方式存储在以下100~119号地址空间中,每个结点由数据〔占2个字节〕与指针〔占2个字节〕组成,如下所示:
05
U
17
X
23
V
31
Y
47
Z
120
100
那么该线性表的首结点的起始地址为_____
A、100 B、104 C、108 D、110
二、问题求解〔每题6分,共12分〕
1、 圆周上有10个点,每两点间连一弦,如果其中任意三条弦在圆内都不共点,由这些弦在圆内的交点为顶点的三角形的个数为____________。
2、表达式3*5+2是二叉树中用何种遍历的表达式 并画出该表达式二叉树。
三、写出程序的运行结果:〔共28分〕
第1题〔8分〕
program test31;
const n=5;
var I,j,k:integer;
r:array[0..10] of integer;
begin
for I:=1 to n do read(r[I]);
for I:=2 to n do
begin
k:=r[I];j:=I-1;
while (k>r[j]) and (j>0) do
begin r[j+1]:=r[j];j:=j-1;end;
r[j+1]:=k;
end;
for I:=1 to n do write(r[I],’’);
writeln
end.
输入: 8 4 9 3 5
输出:
第2题〔10分〕
program test32;
var a:array[1..1000] of word;
n,i,j,dep:word;
begin
write('N(1-1000)='); readln(n);
if (n=0) or (n>1000) then begin writeln('Input error.'); readln; halt; end;
fillchar(a,sizeof(a),0); a[1]:=1; dep:=1;
for i:=2 to n do begin
j:=3; while (j>0) do begin
dep:=dep mod n+1;
if a[dep]=0 then dec(j);
end;
a[dep]:=i;
end;
for i:=1 to n do write(a[i]:5);
writeln;
end.
输入:8
输出:
第3题〔10分〕
program test33;
const n=5;
var i:integer;
x,y:real;
a:string[n];
begin
x:=0.375;
while i<n do
begin
y:=x;
i:=0;
while i<n do
begin
y:=y*2; i:=i+1;
if y>=1 then begin a[i]:='1';y:=y-1 end
else a[i]:='0';
end;
write('0.');
for i:=1 to n do write(a[i]);
writeln;
end
end.
输出:
四、完善程序〔每空2分,共28分〕
第1题〔6分〕
[问题描述]
彼得在邮局值夜班,十分无聊,他对邮局内的200个信筒〔编号为1到200〕,全部翻开。然后每隔一个信筒关闭一个〔2,4,6,…〕。然后每隔两个信筒进展检查〔3,6,9,…〕,假设开着,那么关上;假设关着,那么翻开,接着再每隔3个〔4,8,12,…〕作类似工作。问最后结果哪些信筒开着,哪些信筒关着。
Program test41;
const maxn=200;
var i,j:integer;
open:array[1..maxn] of integer;
begin
for i:=1 to maxn do open[i]:=1;
for i:=2 to maxn do
begin
j:=i;
while ① do
begin open[j]:= ② ; j:= ③ end
end;
for i:=1 to maxn do if open[i]=1 then write(i:4);
writeln
end.
第2题〔12分〕
[问题描述]
本程序将自然数1,2,……,N*N〔N≥2〕按顺时针方向依次写在N阶方阵中。N=5时方阵如下:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
program test42;
const maxn=10;
var i,j,k,m,n:integer;
a:array [1..maxn,1..maxn] of integer;
begin
write('Input n:'); readln(n);
m:=1; k:=1;
repeat
i:=k;
j:=k;
repeat
a[i,j]:=m;
j:=j+1;
m:=m+1
until ① ;
repeat
a[i,j]:=m;
i:=i+1;
m:=m+1
until ② ;
repeat
a[i,j]:=m;
j:=j-1;
m:=m+1
until ③ ;
repeat
a[i,j]:=m;
i:=i-1;
m:=m+1
until ④ ;
k:=k+1
until k>n div 2;
if ⑤ then ⑥ ;
for i:=1 to n do
begin
for j:=1 to n do write(a[i,j]:3);
writeln
end
end.
第3题〔12分〕
[问题描述]
从1到n的整数中〔1,2,……,n〕取出r个整数(a1,a2,……,ar ),其中a1<a2<……,<ar
程序将打印出全部满足上述关系的a1,a2,……,ar 的组合。当n=5,r=3时,程序输出如下:
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5
program test43;
const maxn=10; maxr=maxn;
var i,k,m,n,l,r,t:integer;
a:array [0..maxr] of integer;
begin
write('Input n,r='); readln(n,r);
for i:=1 to r do a[i]:=i;
for i:=1 to r do write(a[i]:3);
writeln;
l:=0;
while ① do
begin
m:=r-l;
k:= ② ;
if a[m]<k
then begin ③ ;
for i:= ④ to r do a[i]:= ⑤ ;
for i:=1 to r do write(a[i]:3);
⑥ ; writeln end
else l:=l+1;
end
end.
信息学初赛模拟试题〔七〕参考答案
一、 选择题
题号
1
2
3
4
5
6
7
8
9
10
答案
A
E
B
E
A
B
C
C
A
D
题号
11
12
13
14
15
16
17
18
19
20
答案
AB
A
A
A
ACE
BCD
B
AB
ABE
BDE
二、问题求解
1、7,9,10,11,13
2、n·2n-1+1
三、看程序写结果
1、max=59
2、181 110 87 76 66 62 61 60
3、0 0 0 1
0 0 1 0
0 1 0 0
1 0 0 0
4、jamp=3
maxswap=3 i=1 j=7
四、完善程序
1、true
flag 或 flag=true
flag:=false
2、p^.next
q
p^.next;
信息学竞赛初赛模拟试题〔八〕参考答案
一、 选择填空:〔每题1.5分,共30分〕
题号
1
2
3
4
5
6
7
8
9
10
答案
A
B
D
B
D
D
B
A
A
C
题号
11
12
13
14
15
16
17
18
19
20
答案
C
A
B
B
A
A
D
A
B
C
二、问题解答:〔每题6分,共12分〕
1、________210
2、中序遍历
或
三、写运行结果〔第1小题8分,第2、3小题分别为10分,共28分〕
1、
9 8 5 4 3
2、
1 7 4 2 8 6 3 5
3、
四、完善程序〔每空2分,共30分〕
1、
① j<=maxn
② 1-open[j]
③ j+i
2、
① j>n-k
② i>n-k
③ j<k+1
④ i<k+1
⑤ n mod 2<>0
⑥a[(n+1) div 2,(n+1) div 2]:=n*n
3、
① l<r
② n-l
③ a[m]:=a[m]+1
④ m+1
⑤ a[i-1]+1
⑥ l:=0
第 25 页
展开阅读全文