第四届全国青少年信息学(计算机)奥林匹克联赛初赛试题

  • 格式:doc
  • 大小:37.50 KB
  • 文档页数:5

第四届全国青少年信息学(计算机)奥林匹克联赛初赛试题

一、选择填空:(23%)

1、操作系统是一类重要的系统软件,下面几个软件中不属于操作系统的是____。(1%)

(A)MS-DOS (B)UCDOS (C)PASCAL (D)WINDOWS 95

2、在计算机内部,用来传送、存储、加工处理的数据或指令(命令)都是以____形式进行的。(1%)

(A)十进制码 (B)智能拼音码 (C)二进制码 (D)五笔字型码

3、已知计算机C:\DOS下有一个正确的文件,当执行如下命令:

C:\>FORMAT A:

得到的回答是bad command or file name提示信息,下面解释正确的是_______。(2%)

(A)根目录中没有AUTOEXEC.BAT文件;

(B)在执行该命令前操作者没执行过PATH命令;

(C)C:\DOS中的文件有错

(D)由于AUTOEXEC.BAT或操作者最后执行过的PATH命令中缺少路径C:\DOS,或者根本没有执行过PATH命令。

4、将A盘上50个文件用:C:\>COPY A:*.*命令复制到C盘的当前目录中。在复制到某一个文件时,由于读数据出错,屏幕显示:

Abort, Retry, Ignore, Fail?

键入"I"后,继续复制没再出现过出错信息。最后复制的结果是_______。(2%)

(A)读数据出错的文件不正确,其他文件正确;

(B)读数据出错的文件不正确,其他文件也不正确;

(C)读数据出错的文件正确,其他文件不正确;

(D)复制的文件全正确;

5、表达式(4 MOD (-3))与(-4 MOD 3)的值为:_______。(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三本书的书名,将读过的书打√,结果统计数字如下: (4%)

只读a者8人;只读b者4人;只读c者3人;全部读过的有2人;

读过a,b两本书的有4人;读过a,c两本书的有2人;读过b,c两本书的有3人;

问:(1)读过a的人数是_____。 (2)一本书也没读过的人数是______。

(A)12人 (B)30人 (C)10人 (D)24人 (E)31人

8、下列if语句中,endif表示相应if的结束: (2%)

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时结果为______。 (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

1 0 0 0 0 0 0 1

↑符号位表示负 表示-1

①试问这种表示法的整数a的范围应是_______。

(A)-127≤a≤127 (B)-128≤a≤128

(C)-128≤a<128 (D)-128

②在这样表示法中,以下_____说法是正确的。

(A)范围内的每一个数都只有唯一的格式

(B)范围内的每一个数都有两种格式

(C)范围内的一半数有两种格式

(D)范围内只有一个数有两种表示格式

10、设栈S的初始状态为空,现有5个元素组成的序列{1,2,3,4,5},对该序列在S栈上依次进行如下操作(从序列中的1开始,出栈后不再进栈):进栈,进栈,进栈,出栈,进栈,出栈,进栈,试问出栈的元素序列是________。

(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,…,ak,使得数列从某项开始都满足:

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%)

三、阅读程序,写运行结果:

第1题:

10 FOR I=1 TO 10

20 READ A(I)

30 NEXT I

40 MAX=A(1) : S=A(1)

50 FOR I=2 TO 10

60 IF S<0 THEN S=0

70 S=S+A(I)

80 IF S>MAX THEN MAX=S

90 NEXT I

100 PRINT "MAX=";MAX

110 DATA 8,9,-1,24,6,5,11, 15, -28, 9

输出:MAX=

第2题:

10 N=10

15 S=N+1

20 FOR I=2 TO N

25 GOSUB 100

30 S=S+CO

35 NEXT I

40 PRINT "S="; S

50 END

100 I1= I

110 S1=N

120 FOR J1=N-1 TO N-I1+1 STEP -1

130 S1 = INT(S1*J1/(N-J1+1))

140 NEXT J1

150 CO=S1

160 RETURN

输出:S=

第3题:

10 DIM B(5)

20 S=1

30 FOR I=1 TO 5 :B(I)=I :NEXT I

40 J=1

50 IF J<=0 THEN 160

60 J=5

70 IF J<=0 OR B(J)<>J+5 THEN 100

80 J=J-1

90 GOTO 70

100 IF J<=0 THEN 160

110 S=S+1

120 B(J)=B(J)+1

130 FOR I=J+1 TO 5

140 B(I)=B(J)+I-J

150 NEXT I

155 GOTO 50

160 PRINT "S=";S

170 END

输出: S=

第4题:

10 N=4

15 DIM A$(N*2)

20 FOR I=1 TO N*2

25 READ A$(I)

30 NEXT I

40 S=0 : T=0

50 FOR I=1 TO N*2

60 IF A$(I)="1" THEN 90

70 IF A$(I)="0" THEN 100

80 GOTO 110

90 S=S+1 : GOTO 110

100 T=T+1

110 NEXT I

120 IF (S<>N) OR (T<>N) THEN 320

130 S1=0

140 FOR I=1 TO 2*N -1

150 IF A$(I)<>A$(I+1) THEN S1=S1+1

160 NEXT I

170 PRINT "JAMP=";S1

180 SW=0

190 FOR I= TO 2*N -1

200 FOR J=I+1 TO 2*N

210 IF A$(I)=A$(J) THEN 290

220 B$= A$(I) :A$(I)=A$(J) :A$(J)=B$

230 S=0

240 FOR L=1 TO 2*N-1

250 IF A$(L)<>A$(L+1) THEN S=S+1

260 NEXT L

270 IF S>SW THEN SW=S :I1=I :J1=J

280 B$= A$(I) :A$(I)=A$(J) :A$(J)=B$

290 NEXT J,I

300 IF SW>0 THEN PRINT "MAXSWAP="; SW-S1 , "I="; I1 , "J="; J1

310 GOTO 330

320 PRINT "ERROR"

330 END

340 DATA 1,0,10,1,1,0,0

输出:

1998年第四届全国青少年信息学(计算机)奥林匹克分区复赛试题节选

第1题:

将1,2...9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数.

例如:三个三位数192,384,576满足以上条件.

第2题:

用高精度计算出S=1!+2!+3!+...n!)(n<=50)

其中"!"表示阶乘,例如:5!=5*4*3*2*1

输入正整数N,输出计算结果S.

第3题:

任何一个正整数都可以用2的幂次方表示.

例如:137=2^7+2^3+2^0

同时约定次方用括号来表示,即a^b可表示为a(b)

由此可知,137可表示为:2(7)+2(3)+2(0)

进一步:7=2^2+2+2^0(2^1用2表示)

3=2+2^0

所以最后137可表示为:2(2(2)+2+2(0))+2(2+2(0))+2(0)

又如:1315=2^10+2^8+2^5+2+1

所以1315最后可表示为:2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)

输入:正整数(n<=20000)

输出:符合约定的n的0,2表示(在表示中不能有空格)

第4题:

设有n(n<=20)个正整数,将他们连接成一排,组成一个最大的多位整数。例如:n=3时,3个整数13,312,343,连成的最大整数为:34331213。又如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。

程序输入:

N

N个数

程序输出:连接成的多位数

第5题:

输入N,编程准确确定N!的最后10个精确数字。(N<=200)