第四届全国青少年信息学(计算机)奥林匹克分区联赛初赛试题
(初中组)
(PASCAL 语言竞赛用时:2小时)
●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●
一、选择填空(25%)
1、操作系统是重要的系统软件,下面几个软件中不属于操作系统的是_______。{1%}
(A)MS-DOS (B)UCDOS (C)PASCAL (D)WINDOWS 95
2、MS-DOS 系统对磁盘信息进行管理和使用是__________为单位的。{1%}
(A)文件(B)盘片(C)字节(D)命令
3、在计算机内部用来传送、存贮、加工处理的数据或指令(命令)都是以___形式进行的.{1%}
(A)十进制码(B)智能拼音码(C)二进制码(D)五笔字型码
4.已知在计算机C:\DOS下有一个正确的FORMA https://www.doczj.com/doc/7a2235776.html,文件,当执行如下命令:
C:\> FORMA T A: < 回车> 得到的回答是BAD COMMAND OR FILE NAME 提示信息,下面解释正确的是_____________。{2%}
(A)根目录中没有AUTOEXEC.BAT 文件
(B)在执行该命令前操作者没执行过PA TH 命令
(C)C:\DOS 中的FORMA https://www.doczj.com/doc/7a2235776.html,文件有错
(D)由于AUTOEXEC.BAT 或操作者最后执行过的PA TH 命令缺少路径C:\DOS,或者根本没有执行PATH 命令
5.将A盘上50个文件用C:\>COPY A: *.* 命令复制到C盘的当前目录中,在复制到某一个文件时,由于读数据出错,屏幕显示:{2%}
ABORT, RETRG , IGNORE , FAIL ?
键入“I”后,继续复制没再出现过错误信息,最后复制的结果是_________。
(A)读数据出错的文件不正确,其他文件正确
(B)读数据出错的文件不正确,其它文件也不正确
(C)读数据出错的文件正确,其它文件不正确
(D)复制的文件完全正确
6.下面四个不同进制的数,最小的一个数是。{2%}
(A)(11011001)2 (B)(75)10(C)(37)8(D)(A7)16
7.小张用十六进制、八进制和十进制写了如下一个等式:{3%}
52 - 19 = 33
式中三个数是各不相同进位制的数,试问52、19、33,分别为_________.
(A)八进制,十进制,十六进制(B)十进制,十六进制,八进制
(C)八进制,十六进制,十进制(D)十进制,八进制,十六进制
8
↑
↑ 符号位表示负
① 试问这样表示法的整数A 的范围应该是_____________________。 (A ) -127 ≤ A ≤ 127 (B ) -128 ≤ A ≤ 128 (C ) –128 ≤ A < 128 (D ) -128 < A ≤ 128 ② 在这样表示法中,以下 说法是正确的。 (A )范围内的每一个数都只有唯一的格式 (B )范围内的每一个数都有两种格式 (C )范围内的一半数有两种格式 (D )范围内只有一个数有两种表示格式
9.下列IF 语句中,ENDIF 表示相应IF 的结束: {4%} y=0 if x<0 then Y=5 else if x<10 then y=10 if x<100 then y=100 endif else y=200 endif endif 试指出:
当X=80 时,运行的结果是______; 当X=5 时,运行结果为_________。
(A ) Y=9 (B ) Y=5 (C ) Y=10 (D ) Y=100 (E )Y=200
10.设栈S 的初始状态为空,现有5个元素组成的序列{1,2,3,4,5},对该序列在S 栈上依次进行如下操作(从
序列中的1开始,出栈后不再进栈):进栈、进栈、进栈,出栈、进栈、出栈、进栈。试问出栈的元素序列是______________。{4%}
(A ){ 5,4,3,2,1} (B ){2,1} (C ){ 2,3} (D ){3,4} 二、问题求解:(20%)
1.已知一个数列U 1,U 2,U 3,…,U N ,… 往往可以找到一个最小的K 值和K 个数a 1,a 2, …,a k 使得数列从某项开始都满足:
U N+K =a 1U N+K-1+a 2U N+K-2+……+a k U N (A)
例如对斐波拉契数列1,1,2,3,5,…可以发现:当K=2,a 1 =1,a 2 =1时,从第3项起(即N>=1)都满足
U n+2
=U n+1+U n 。试对数列12,22,32,…,n 2,…求K 和a 1,a 2, …,a K 使得(A )式成立。
{7%}
2.某班有50名学生,每位学生发一张调查卡,上写a ,b ,c 三本书的书名,将读过的书打 ,结果统计数字如下:
+1 -1
只读a者8人;只读b者4人;只读c者3人;全部读过的有2人;读过a,b两本书的有4人;读过a,c两本书的有2人;读过b,c两本书的有3人;{6%}
(1)读过a的人数是(2)一本书也没有读过的人数是
3.任给自然数n,k,1≤K≤9 ,按如下计算步骤求序列X J X J-1……X0的步骤:{8%}
(1)j=0
(2)如果N>=K 则转第3步,否则转第7步
(3)X j = N MOD K {div表示整数除法,结果取整数;
(4)N =N DIV K mod表示整除取余数}
(5)j=j+1
(6)回第2步
(7)X j = N
(8)结束
试求当:N=1998,K=3时,X J X J-1……X0之值。
三、阅读程序,写出程序的正确运行结果(39%)
1.Program exp1 (imput,output); (7%)
V ar 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.
输入:-2 13 -1 4 7 8 -1 -18 24 6
输出:max=
2.Program exp2 (input,output); {10%}
Const n=5;
Var i,j,k : integer;
a : array[1..2*n, 1..2*n] of integer;
Begin
K:=1;
For I:=1 to 2*n-1 do
If i<=n then
if odd(i) then
for j:= I downto 1 do
begin
a [I-j+1,j]:=k; k:=k+1
end
else for j: =1 to i do
begin
a[i-j+1,j]:=k; k:=k+1;
end
else if odd(i) then for j:=n downto I-n+1 do
begin
a[I-j+1,j]:=k; k:=k+1;
end
else for j:=I-n+1 to n do
begin
a[I-j+1,j]:=k; k:=k+1;
end;
for I:=1 to n do
begin
for j:=1 to n do
write(a[I,j]:3);
writeln
end;
end.
3.Program exp3 (input,output); {10%} Const N=10;
Var
S,I : integer;
Function CO(I1:integer) : integer;
V AR J1,S1 : integer;
Begin
S1:=N;
For J1:= (N-1) downto (N-I1+1) do
S1:= S1*J1 div (N-J1+1);
CO:=S1
End;
Begin
S:=N+1;
For I:= 2 to N do S:=S + CO(I);
Writeln(‘S=’,S);
End.
4.Program exp4(input,output); {12%}
Const N=3;
V AR I,J,S,X :integer;
P :array[0..n+1] of integer;
G :array[0..100] of integer;
Begin
For I := 0 to 100 do G[I]:=0;
P[0]:=0; P[n+1]:=100;
For I:= 1 to n do read (P[I]); readln;
For I:= 0 to n do
For J:= I+1 to N+1 do
G[abs(P[J]-P[I])]:=G[abs(P[J]-P[I])]+1;
S:=0;
For I:=0 to 100 do
If G[I]>0 then begin
Write(I,:4); S:=S+1;
End;
Writeln;
writeln(‘S=’,S);
Writeln(‘input data:’); readln(X);
Writeln(G[x])
End.
输入:10 20 65
input data: 10
输出:
四、根据题意,补充完善以下程序:(14%)
输入一长度不超过80个字符的字符串(称为源串),该字符串由小写英文字母、空格组成,并以'.'结束。单词是由连续字母组成,两个单词之间至少有一个空格。本程序的功能为:首先找出字符串中所有单词并保留一个空格作为单词分隔,存入数组ch中。然后用键盘输入一个待查找的单词,以字符'$'结束。采用顺序查找的方法在ch 中进行查找,若找到,则输出该单词在ch中出现的序号(若有多个位置出现该单词,则只输出第一个序号位置)。
若不存在,则输出'NOT FOUND'。
程序如下:(14%)
PROGRAM EXP1;
V AR
A,B,CH : ARRAY[1..80] OF CHAR;
I,J,K,N,M : INTEGER;
BEGIN
N := 0;
REPEAT
_______1______; READ(A[N]); 1%
UNTIL A[N]='.';
READLN;
K := 0;
FOR I := 1 TO N DO
IF (A[I]>='a')AND(A[I]<='z') THEN
BEGIN
K := K + 1;
________2_________; 2%
END
ELSE IF K <> 0 THEN IF CH[K]<>'□' THEN {□表示一个空格,以下同}
BEGIN
K := K + 1;
CH[K] := '□'
END;
M := 0_________3________; 2%
REPEAT
M := M + 1; READ(B[M]);
UNTIL _______4_________; 2%
I := 1; J := 1; K := 1; B[M]:='□';
WHILE (I<=N)AND(J<=M) DO
BEGIN
IF _________5________ THEN BEGIN I := I + 1; J := J + 1 END 3%
ELSE BEGIN
WHILE CH[I] <> '□' DO ____6____; 2%
I := I + 1; J := 1; K := K +1
END
END;
IF _____7________ THEN WRITELN(K:4) 2%
ELSE WRITELN('NOT FOUND')
END.
第四届全国青少年信息学(计算机)奥林匹克分区联赛初赛
(初中组)
参考答案
一、选择填空:共25分
1.不属于操作系统的软件是C 。{1%}
2.MS-DOS系统对磁盘信息进行管理和使用是以A 为单位的。{1%}
3.在计算机内部,用来传送、存贮、加工处理的数据或指令(命令)都是以C形式进行的。
{1%}
4.解释正确的是D。{3%}
5.最后复制的结果是A 。{2%}
6.最小的一个数是C 。{2%}
7.等式中的52,19,33,分别为B 。{3%}
8.①这样表示法的整数a的范围应是 A 。{2%}
②在这样表示法中, D 说法是正确的。{2%}
9.当x=80时,运行的结果为 E 。{2%}
当x=5时,运行的结果为 D 。{2%} 10.出栈的元素序列是 D 。{4%}
二、问题求解:共20分
1.当K= 3 ,a1,a2,…,a k为a1=3,a2=-3,a3=1时,
对数列122232,…,n2,…(A)成立。{3%+3%)2.(1)读过a的人数是12人。(2)一本书也没读过的人数是30人。{3%+4%} 3.当n=1998,k=3时,x j x j-1…x0之值为2202000 。{7%}
三、阅读程序,写出程序的正确运行结果:共39分
1.输出:max=42 {7%} 2.输出结果为:{10%}
1 3 4 10 11
2 5 9 12 19
6 8 13 18 20
7 14 17 21 24
15 16 22 23 25
3.输出:S=1024 {10%} 4.输出:10 20 34 45 55 65 80 90 100 {12%} S=9
输入:input data:10
输出:2
四、根据题意,补充完善以下程序:(14%)
PASCAL语言BASIC语言
①N:=N+1 ;{1%} 30 N=N+1
②CH[K]:=A[i] ;{2%} 100 CH$(K)=A$(I)
③N:=K ;{2%} 160 N=K
④B[M]:‘$’;{2%} 180 B$(M)<>“$”
⑤CH[i]=B[j] {3%} 210 CH$(I)=B$(J)
⑥i:=i+1 ; {2%} 220 240
⑦j>M-1 {2%} 260 J>M-1
第五届全国青少年信息学(计算机)奥林匹克分区联赛初赛试题
(普及组)
(PASCAL 语言竞赛用时:2小时)
●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●
一、选择一个正确答案代码(A/B/C/D),填入每题的括号内(每题1.5分,多选无分,共30分)
1.微机内的存储器的地址是以()编址的。
A.二进制位B.字长C.字节D.微处理器的型号
2.下列诸因素中,对微机工作影响最小的是()。
A.尘土B.噪声C.温度D.湿度
3.在24*24 点阵的字库中,汉字“一”与“编”的字模占用字节数分别是()。
A.32、32 B.32、72 C.72、72 D.72、32
4.将DOS 系统盘插入A驱动器启动机器,随后使用一批应用软件,在此过程中,DOS 系统盘()。
A.必须始终插入在A 驱动器中B.不必再用
C.可能有时要插入A驱动器中D.可能有时要插入B 驱动器中
5.以下DOS命令中,有可能在磁盘上建立子目录的是()
A.TYPE B.DIR C.XCOPY D.CD
6.在CONFIG.SYS 文件中,装入特定可安装设备驱动程序的命令是()。
A.BUFFER B.FILES C.DRIVER D.DEVICE
7.计算机能直接执行的指令包括两部分,它们是()。
A.源操作数与目标操作数B.操作码与操作数
C.ASCII码与汉字代码D.数字与字符
8.在微机中,通用寄存器的位数是()。
A.8位B.16位C.计算机字长D.32位
9.在计算机中,ASCII码是()位二进制代码。
A.8 B.7 C.12 D.16
10.计算机的软件系统通常分为()。
A.系统软件与应用软件B.高级软件与一般软件
C.军用软件与民用软件D.管理软件与控制软件
11.执行DOS 命令:C:\ATTRIB A: *.* 的功能是()。
A.查看A盘上所有文件属性B.查看A盘上当前目录中所有文件属性
C.查看A盘上所有系统文件属性D.删去A盘上所有隐含文件的属性
12.执行下列DOS命令,效果等价的是()组。
A.COPY *.FOR 与COPY *.FOR CON
B.COPY A: *.* B: 与XCOPY A: *.* B:
C.COPY FILE1.TXT + FILE2.TXT 与COPY FILE2.TXT +FILE1.TXT
D.XCOPY A: *.* B :/S 与DISKCOPY A: B:
13.已知小写字母“M”的十六进制的ASCⅡ码值是6D,则小写字母“C”的十六进制数的ASCII码值是()。
A.98 B.62 C.99 D.63
14.计算机中的数有浮点与定点数两种,其中用浮点数表示的数,通常由()这两部分组成。
A.指数与基数B.尾数与小数C.阶码与尾数D.整数与小数
15.下列文件名中,属于DOS 中的保留设备名的为()。
A.AUX B.COM C.CON1 D.PRN1
16.启动计算机引导DOS是将操作系统()。
A.从磁盘调入中央处理器B.从内存储器调入高速缓冲存储器
C.从软盘调入硬盘D.从系统盘调入内存储器
17.十进制算术表达式:3*512 + 7*64 + 4*8 + 5的运算结果,用二进制表示为()。
A.10111100101 B.11111100101 C.11110100101 D.11111101101
18.组成“教授”(JIAO SHOU),“副教授”(FU JIAO SHOU)与“讲师”(JIANG SHI)这三个词的汉字,在GB2312-80字符集中都是一级汉字,对这三个词排序的结果是()。
A.教授、副教授、讲师B.副教授、教授、讲师
C.讲师、副教授、教授D.副教授、讲师、教授
19.不同的计算机,其指令系统也不相同,这主要取决于()。
A.所用的操作系统B.系统的总体结构
C.所用的CPU D.所用的程序设计语言
20.对具有隐含属性(H)的当前目录下的文件ab.txt,能成功执行的DOS命令是()
A.TYPE ab.txt B.COPY ab.txt xy.txt
C.DIR ab.txt D.REN ab.txt xy.txt
二、回答问题(10分)
在磁盘的目录结构中,我们将与某个子目录有关联的目录数称为度。例如下图
该图表达了A盘的目录结构:D1,Dll,…,D2均表示子目录的名字。在这里,根目录的度为2,D1子目录的度为3,D11子目录的度为4,D12,D2,D111,D112,D113的度均为1。不考虑子目录的名字,则可简单的图示为如下所示的树结构:
若知道一个磁盘的目录结构中,度为2的子目录有2个,度为3的子目录有1个,度为4的子目录有3个。
试问:度为1的子目录有几个?
三、公式推导(10分)
根据Nocomachns定理,任何一个正整数n的立方一定可以表示成n个连续的奇数的和。
例如:
13= 1
23=3+5
33=7+9 +11
43= 13+15+17+19
在这里,若将每一个式中的最小奇数称为X,那么当给出n之后,请写出X与n之间的关系表达式:
四、阅读程序,并写出程序的正确运行结果:(每题15分,共30分)
1.Program excpl;
var
x,y,y1,jk,j1,g,e:Integcr;
a:array[l..20]of 0..9;
begin
x:=3465;y:=264;jk:=20;
for j1:= 1 to 20 do a[j1]:=0;
while y<>0 do
begin
y1:=y mod 10;
y:= y div 10;
while y1<>0 do
begin
g:=x;
for e:=Jk downto 1 do
begin
g:=g+a[e];
a[e ]:= g mod 10;
g:= g div 10
end;
y1:=y1-1
end;
jk:=jk-1
end;
j1=1;
while a[j1]=0 do j1:=J1+1;
for Jk:=j1 to 20 do write(a[jk]:4)
WRITELN
End.
程序输出结果为:_________________________________
2.program excp2
var
i,j:integer;;
a :array[1..14] of integer;
procedure sw(i1,j1:Integer);
var k1:Integer;
begin
for k1:= 1 to(j1- i1+1)div 2 do
begin
a[i1+k1-1]:=a[i1+k1-1]+a[j1-k1+1];
a[j1-k1+1]:=a[i1+k1-1]-a[j1-k1+1];
a[i1+k1-1]:=a[i1-k1+1]-a[J1-k1+1];
end;
end;
begin
j:=211;
for i:=1 to 14 do
begin
a[i]:=i; J:=j-i
end;
sw(1,4);sw(5,10);
Sw(11,14);sw(1,14);
For i:=1 to 14 do
begin
If j mod I=1 then write (a[i]:3);
j:=j-a[i];
end;
WRITElN
end.
程序运行结果是:________________________________________
五、根据题意,将程序补充完整(20分)
[问题描述]
下面程序的功能是从键盘读取A,B数组的元素,A,B数组均已从小到大排好序(无相同元素),现将A,B合并为数组C,同样要求数组C也是从小到大排好序(有相同元素时只保留一个)。
程序中N表示数组A,B的长度,i,j,k分别表示数组A,B,C的取数或存数的指针。
[程序清单]
program excp3;
const n=8; m=2*n;
type arr1=array[1..n]of integer;
arr2=array[1..m]of integer;
var a,b :arr1; c :arr2; i,j,k :integer;
procedure copy(x:arr1;var y:arr2;var i,j:integer);
begin i:=i+1;y[i]:=x[j];j:=j+1; end;
begin
for i:=1 to n do read(a[i]);readln;
for i:=1 to n do read(b[i]);readln;
i:=1;j:=1;___________①________
while__________②__________do.
if a[i]