1998初赛.docx
《1998初赛.docx》由会员分享,可在线阅读,更多相关《1998初赛.docx(12页珍藏版)》请在冰豆网上搜索。
1998初赛
第四届全国青少年信息学(计算机)奥林匹克分区联赛初赛试题
(高中组)
(pascal语言竞赛用时:
2小时)
●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●
一、选择填空(23%)
1.操作系统是一类重要的系统软件,下面几个软件中不属于操作系统的是。
{1%}
(A)MS-DOS(B)UCDOS(C)PASCAL(D)WINDOWS95
2.在计算机内部,用来传送、存贮、加工处理的数据或指令(命令)都是以形式进行的。
(A)十进制码(B)智能拼音码(C)二进制码(D)五笔字型码{1%}
3.已知在计算机C:
\DOS下有一个正确的FORMAT.COM文件,当执行如下命令:
C:
\>FORMATA:
<回车>得到的回答是badcommandorfilename提示信息,下面解释正确的是_____________。
{2%}
(A)根目录中没有AUTOEXEC.BAT文件
(B)在执行该命令前操作者没执行过PATH命令
(C)C:
\DOS中的FORMAT.COM文件有错
(D)由于AUTOEXEC.BAT或操作者最后执行过的PATH命令缺少路径C:
\DOS,或者根本没有执行PATH命令
4.将A盘上50个文件用C:
\>COPYA:
*.*命令复制到C盘的当前目录中,在复制到某个文件时,由于读数据出错,屏幕显示:
Abort,Retrg,Ignore,Fail?
键入“I”后,继续复制没再出现过错误信息,最后复制的结果是_________。
{2%}
(A)读数据出错的文件不正确,其他文件正确;
(B)读数据出错的文件不正确,其它文件也不正确;
(C)读数据出错的文件正确,其它文件不正确;
(D)复制的文件完全正确。
5.表达式(4MOD(-3))与(-4MOD3)的值为:
。
{2%}
(A)-1,-1(B)1,-1(C)-1,1(D)1,1
6.小张用十六进制、八进制和十进制写了如下的一个等式:
52-19=33
式中三个数是各不相同进位制的数,试问52、19、33,分别为_________。
{3%}
(A)八进制,十进制,十六进制(B)十进制,十六进制,八进制
(C)八进制,十六进制,十进制(D)十进制,八进制,十六进制
7.某班有50名学生,每位学生发一张调查卡,上面写a,b,c三本书的书名,将读过的书打✓,结果统计数字如下:
只读a者8人;只读b者4人;只读c者3人;全部读过的有2人;读过a,b两本书的有4人;读过a,c两本书的有2人;读过b,c两本书的有3人;{4%}
(1)读过a的人数是,
(2)一本书也没有读过的人数是。
(A)12人(B)30人(C)10人(D)31人
8.下列IF语句中,ENDIF表示相应IF的结束:
{2%}
y=0
ifx<0
theny=5
elseifx<10
theny=10
ifx<100
theny=100
endif
elsey=200
endif
endif
试指出:
当X=80时,运行的结果是______,X=5时,运行结果为_________。
{2%}
(A)Y=9(B)Y=5(C)Y=10(D)Y=100(E)Y=200
9.如果用一个字节来表示整数,最高位用作符号位,其它位表示数值。
例如:
{4%}
0
0
0
0
0
0
0
1
↑符号位表示正
1
0
0
0
0
0
0
1
↑符号位表示负
①试问这样表示法的整数a的范围应该是_____________________。
(A)-127≤a≤127(B)-128≤a≤128
(C)–128≤a<128(D)-128<a≤128
②在这样表示法中,以下说法是正确的。
(A)范围内的每一个数都只有唯一的格式
(B)范围内的每一个数都有两种格式
(C)范围内的一半数有两种格式
(D)范围内只有一个数有两种表示格式
10.设栈S的初始状态为空,现有5个元素组成的序列{1,2,3,4,5},对该序列在S栈上依次进行如下操作(从序列中的1开始,出栈后不再进栈):
进栈、进栈、进栈,出栈、进栈、出栈、进栈。
试问出栈的元素序列是______________。
{2%}
(A){5,4,3,2,1}(B){2,1}(C){2,3}(D){3,4}
二、问题求解:
(21%)
1.已知一个数列U1,U2,U3,…,UN,…往往可以找到一个最小的K值和K个数a1,a2,…,an使得数列从某项开始都满足:
UN+K=a1UN+K-1+a2UN+K-2+……+akUN(A)
例如对斐波拉契数列1,1,2,3,5,…可以发现:
当K=2,a1=1,a2=1时,从第3项起(即N>=1)都满足Un+2=Un+1+Un。
试对数列13,23,33,…,n3,…求K和a1,a2,…,aK使得(A)式成立。
{8%}
2.给出一棵二叉树的中序遍历:
DBGEACHFI与后序遍历:
DGEBHIFCA画出此二叉树。
{8%}
3.用邻接矩阵表示下面的无向图:
{6%}
三、阅读程序,写出程序的正确运行结果:
(39%)
1.programexp1(imput,output);{6%}
VARi,s,max:
integer;
a:
array[1..10]ofinteger;
begin
fori:
=1to10doread(a[i]);
max:
=a[1];s:
=a[1];
fori:
=2to10do
begin
ifs<0thens:
=0;
s:
=s+a[i];
ifs>maxthenmax:
=s
end;
writeln(‘max=’,MAX)
end.
输入:
89-124651115-289
输出:
max=
2.programexp3(input,output);{9%}
ConstN=10;
VarS,I:
integer;
FunctionCO(I1:
integer):
integer;
VARJ1,S1:
integer;
Begin
S1:
=N;
ForJ1:
=(N-1)downto(N-I1+1)do
S1:
=S1*J1div(N-J1+1);
CO:
=S1
End;
Begin
S:
=N+1;
ForI:
=2toNdoS:
=S+CO(I);
Writeln(‘S=’,S);
End.
3.programexp3(input,output);{12%}
VARI,J,S:
INTEGER;
B:
ARRAY[0..5]OFINTEGER;
BEGIN
S:
=1;
FORI:
=1TO5DOB[I]:
=I
J:
=1;
WHILEJ>0DO
BEGIN
J:
=5;
WHILE(J>0)AND(B[J]=10+J-5)DO
J:
=J-1;
IFJ>0THENBEGIN
S:
=S+1;B[J]:
=B[J]+1;
FORi:
=J+1TO5DOB[i]:
=B[J]+i-J
END;
END;
WRITELN('S=',S);
END.
4.ProgramEXP4(input,output);{12%}
constn=4;
typese=array[1..n*2]ofchar;
vari,j,i1,j1,k,s,t,s1,l,swap:
integer;
temp:
char;
a:
se;
begin
fori:
=1ton*2doread(a[i]);readln;
s:
=0;t:
=0;
fori:
=1ton*2do
ifa[i]='1'thens:
=s+1
elseifa[i]='0'thent:
=t+1;
if(s<>n)or(t<>n)thenwriteln('error')
elsebegin
s1:
=0;
fori:
=1to2*n-1doifa[i]<>a[i+1]thens1:
=s1+1;
writeln('jamp=',s1);swap:
=0;
fori:
=1to2*n-1do
forj:
=i+1to2*ndo
ifa[i]<>a[j]thenbegin
temp:
=a[i];a[i]:
=a[j];a[j]:
=temp;
s:
=0;
forl:
=1to2*n-1do
ifa[l]<>a[l+1]thens:
=s+1;
ifs>swapthenbegin
swap:
=s;i1:
=i;j1:
=j
end;
temp:
=a[i];a[i]:
=a[j];a[j]:
=temp
end;
ifswap>0thenwriteln('maxswap=',swap-s1,'i=',i1,'j=',j1)
end
END.
输入:
10101100输出:
四、根据题意,补充完善以下程序:
(17%)
1.FBZ串问题。
已知一个由0,1字符组成的长度为2n的字符串。
请按以下规则将已给出的字符串分解为FBZ串:
(1)若其中字符全为'1',则称其为'B'串;
(2)若其中字符全为'0',则称其为'Z'串;
(3)若不全为'0',同时也不全为'1',则称'F'串。
若此串为F串,则应将此串分解为2个长为2n-1的子串。
对分解后的子串,仍按以上规则继续分解,直到全部为B串或为Z串为止。
例如n=3时,给出0-1串为:
'10111001'
F
F(1011)
F(1001)
F(10)
F(10)
F(01)
B(11)
1
1
1
0
0
0
最后输出:
FFFBZBFFBZFZB
问题:
给出01串,分解成FBZ串。
程序如下:
ProgramEXP-5;
Constn=8;
Var
I,j,st11,st12,ST2,s,t:
integer;
Str1:
array[1..n*2,1..n]ofchar;
Str2:
array[1..40]ofchar;
Begin
ForI:
=1ton*2do
Forj:
=1tondostr1[I,j]:
='□';
St11:
=1;st12:
=1;st2:
=0;
ForI:
=1tondoread(str1[1,I]);readln;4%
While_______1________do
Begin
S:
=0;t:
=0;
ForI:
=1tondo
Begin
Ifstr1[st12,I]='1'thens:
=s+1;
Ifstr1[st12,I]='0'thent:
=t+1
End;
If___2_____thenbegin2%
St2:
=st2+1;str2[st2]:
='B'
End
Elseif___3____thenbegin2%
St2:
=st2+1;str2[st2]:
='Z'
End
Elsebegin
St2:
=st2+1;str2[st2]:
='F';j:
=(s+t)div2;
Fors:
=n*2-2downto___4___do3%
Fort:
=1tondo
Str1[s+2,t]:
=str1[s,t];
St11:
=st11+2;
ForI:
=1tojdo
Begin
Str1[st12+1,I]:
=str1[st12,I];
Str1[st12+2,I]:
=______5______4%
End;
ForI:
=___6___dobegin2%
Str1[st12+1,I]:
='□';str1[st12+2,I]:
='□'
end
end
st12:
=st12+1
End;
ForI:
=1tost2dowrite(str2[I]);writeln
End.
第四届全国青少年信息学(计算机)奥林匹克分区联赛初赛
(高中组)
参考答案
一、选择填空:
共23分
1.不属于操作系统的软件是C{1%}
2、在计算机内部,用来传送、存贮、加工处理的数据或指令(命令)都是以C形式进行的。
{1%}
3.解释正确的是D{2%}
4.最后复制的结果是A。
{2%}
5.表达式的值是B{2%}
6.等式中的52,19,33,分别为B。
{3%}
7.
(1)读过a的人数是A
(2)一本书也没有读过的人数是B。
{2%+2%}
8.当x=80时,运行的结果为E{1%}
当x=5时,运行的结果为D{1%}
9.①这样表示法的整数a的范围应是A{2%}②在这样表示法中,D说法是正确的。
{1%}
10.出栈的元素序列是D。
{2%}
二、问题求解:
共20分
1.当K=4,a1,a2,…,ak为a1=4,a2=6,a3=4,a4=-1对数列132333,…,n3,…(A)成立。
{3%+5%)
2.此二叉树为:
{7%}
3.表示该无向图的邻接矩阵为{6%}
0100000
1011000
0101000
0110111
0001001
0001001
0001110
三、阅读程序,写出程序的正确运行结果:
共39分
1.输出:
max=77{7%}
2.输出结果为:
S=1024{10%}
3.输出结果为:
S=252{10%}
4.输入:
10101100输出:
jamp=5maxswap=2i=6j=7{12%}
四、根据题意,补充完善以下程序:
(17%)
PASCAL语言BASIC语言
①st12<=st11;80STR2>STR1{4%}
②t=0;140T=0{2%}
③s=0;150S=0{2%}
④st12+1;180STR2+1{3%}
⑤str1[st12,I+j];250STR1$(STR2,I+J){4%}
⑥j+1ton;270J+1TON{2%}