当前位置:
文档之家› 2019-2020年初中信息学奥林匹克竞赛初赛(普及组PASCAL语言)模拟试题附参考答案
2019-2020年初中信息学奥林匹克竞赛初赛(普及组PASCAL语言)模拟试题附参考答案
end.
信息学竞赛初赛模拟试题(三)参考答案
一、 单项选择题(每题 1 分,共 30 分)
1
2
3
4
5
6
7
8
9
10
D
C
B
B
D
D
C
C
C
C
11
12
13
14
15
16
17
18
19
20
D
B
C
B
B
B
C
D
D
B
二、阅读下列程序,写出程序运行结果(第 1 题 5 分,第 2,3,4 题各 6 分,共
23 分)
1、 98543
1、数据结构中,下面是一个树结构图,这个树的
" 先序遍历 " 结果是 ________,中序遍历结
果是: ________________。
2、给出一个后缀算术表达式为
24 8 +3 *4 10 7 - */@
写出对应的中缀算术表达式: ___________________________________________
A.- 1,- 1 4、试指出:下列 begin
B.1,- 1
C.- 1, 1
D. 1, 1
if 语句中,当 x=80 时 , 运行的结果为 ______。
y:=0;
readln(x); if x<0 then y:=5
else
if x<10 then begin y:=10;
if x<100 then y:=100;
begin
j:=i*5;
while [5] =0 do
begin
n:=n+1;
j:= [6]
end;
end;
writeln(n:4);
end.
3、[问题描述 ]找数问题 : 以下程序用在 n 个不同元素中找出第 k 个最小元素。 程序中用分治 策略来设计算法。把这 n 个元素放在一个数组中 ,然后取出第 k 个元素为标准 m,把 n 个元素
四、完善程序(第一题每空 3 分,第二题每空 2 分,第三题每空 4 分,共 32 分 )
1、连续整数平台问题 已知一个含有多个整数的数组, 其中相同的元素集中在一起形成一个平台。
以下程序用于对
输入的数组求出其中最大平台长度。例如,中元素个数为
20,它们依次为
22 223 3 33 3 1 11 1 11 1 114 4
begin
if b=e then begin j:=b;exit end;
I:=b;j:=e;m:= [7] ;
Repeat
While a[I]<m do inc(i);
While m<a[j] do [8] ;
If I<j then
Begin t:=a[I];a[I]:=a[j];a[j]:=t end;
()。
A. X:=ORD(Y) B.X:=Y
C. READ(X,Y) D. WRITE(T,Y)
13、计算机能够直接识别和处理的程序是 _______程序
A.汇编语言
B.源程序
C.机器语言
D.高级语言
14、设有说明
VAR A: ARRAY['A.' . 'E', 1.. 4, BOOLEAN] OF REA;1
A. n
B. n-1
C. 不一定
17、在 Pascal语言中,表达式 35 div 3 mod 4 的值是 ________。
A.0
B.2
C.3
D.6
18、在数据结构中, "树 " 结构下层结点出现三个以上的结点,这种结构称为
________。
A.三层树
B.三叉树 C.多层树
D.多叉树
19、在 Pascal语言中,下列程序段所计算的公式是 程序段: S:=0 ; T:=1;
2019-2020 年初中信息学奥林匹克竞赛初赛(普及组 PASCAL语言)
模拟试题附参考答案
一、选择一个正确答案代码( A/B/C/D ),填入每题的括号内(每题 1.5 分,多选无分,共 30 分)
1、MAN 英文缩写的含义是( )
A.局域网
B.城域网 C.广域网 D.增值网
2、小张用十六进制,八进制和十进制写了如下一个等式:
重新排列 :小于标准 m 的元素放在数组前面 ,大于该标准的放在数组的后面。把该元素
m放
在两者之间。设小于标准的元素个数为 j-1,如果 j=k,则 A(k)即为所求元素。 如果 j>k,则第 k 个
元素必在区间 [1,j], 因此取 A[1], …,A[j] 为新的元素集合 ,然后重复上述的 ”部分排序 ”的过程。如
begin
write( ‘ n=’ );readln(n);
write( ‘ a[1.. ’ ,n, ’ ]= ’ ); for k:=1 to n do read(a[k]);
readln;
write( ‘ k= ’ );readln(k); search( [11] );
pr(n);
readln
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;
FOR i:=J+1 TO 5 DO B[i]:=B[J]+i-J END; END; WRITELN('S=',S); END.
4、program exp4(input,output); var m,n,g:integer;
function gcd(m,n:integer):integer; begin
则它的最大平台长度为 9。
const maxlength=100; var
a:array[1..maxlength] of integer; i,maxi,n,s,t:integer; begin write('n=');readln(n); for i:=1 to n do read(a[i]); readln; maxi:=0; t:= [1] s:=1; for i:=2 to n do
64-13=33
式中三个数是各不相同进位制的数,试问 64, 13, 33,分别为 ________。
A.八进制,十进制,十六进制
B.十进制,十六进制,八进制
C.八进制,十六进制,十进制
D.十进制,八进制,十六进制
3、表达式 (4 MOD (- 3))与 (-4 MOD 3)的值为: _______。
B.能处理的字符串最多由 4 个英文字母组成
C.在 CPU 中能够同时处理 32 位二进制数据
D.在 CPU中运算的最大结果为 2 的 32 次方
8、假设一台计算机的地址总线为 16,那么中央处理器 CPU能访问的最大存储器容量为 ( )
A. 2 * 16 KB B. 16KB C. 216B D. 16*1024*8 B
________。
For I: =1 to 10 do
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! +…… +1!0
D.S=1+2*3+3*4+4*5+ …… +10*11
20、以下说法正确的是(
if a[i]=t then [2] else begin if s>maxi then maxi:=s; t:=a[i]; [3] end;
[4] writeln('maxi=',maxi); end.
2、1000!尾 0 问题 以下程序用于统计 1000 !末尾有多少个 0。其中 1000! =1 2 3 … 1000 。实际上我们只要
end
else y:=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 开始,出栈后不再进栈 ):进栈,进栈,进栈,出栈,进栈,
else gd:=gd(n,m mod n);
end;
begin
readln(a,b);
write( ‘ ( ‘ ,a, ’ , ’ ,b, ’ )= ’ );
f:=gd(a,b);
writeln(f)
end. 键盘输入 : 172 16
屏幕输出:
3、Program exp3(input,output); VAR I,J,S:INTEGER;
果 j<k,则第 k 个元素必在区间 [j+1,n], 因此取 A[j],…,A[n] 为新的元素集合 ,重复过程。直至 j=k
为止。
[程序清单 ]
var j,k,n:integer;
a:array[1..100] of integer;
procedure search(b,e:integer);