搜档网
当前位置:搜档网 › NOIP2001提高组初赛试题答案

NOIP2001提高组初赛试题答案

NOIP2001提高组初赛试题答案
NOIP2001提高组初赛试题答案

第七届分区联赛提高组初赛

(提高组PASCA语言二小时完成)

一、选择一个正确答案代码(A/B/C/D),填入每题的括号内(每题1.5分,多选无分,共30分)

1、中央处理器CPU能访问的最大存储器容量取决于()

A)地址总线B)数据总线C)控制总线D)内存容量

2、计算机软件保护法是用来保护软件()的。

A)编写权B)复制权C)使用权D)著作权

3、64KB的存储器用十六进制表示,它的最大的地址码是()

A)10000 B)FFFF C)1FFFF D)EFFFF

4、在树型目录结构中,不允许两个文件名相同主要指的是()

A)同一个磁盘的不同目录下B)不同磁盘的同一个目录下

C)不同磁盘的不同目录下C)同一个磁盘的同一个目录下

5、下列设备哪一项不是计算机输入设备()

A)鼠标B)扫描仪C)数字化仪D)绘图仪

6、在计算机硬件系统中,cache是()存储器

A)只读B)可编程只读C)可擦除可编程只读D)高速缓冲

7、若我们说一个微机的CPU是用的PII300,此处的300确切指的是()

A)CPU的主时钟频率B)CPU产品的系列号

C)每秒执行300百万条指令D)此种CPU允许最大内存容量

8、Email邮件本质上是一个()

A)文件B)电报C)电话D)传真

9、2KB的内存能存储()个汉字的机内码

A)1024 B)516 C)2048 D)218

10、以下对Windows的叙述中,正确的是()

A)从软盘上删除的文件和文件夹,不送到回收站

B)在同一个文件夹中,可以创建两个同类、同名的文件

C)删除了某个应用程序的快捷方式,将删除该应用程序对应的文件

D)不能打开两个写字板应用程序

11、运算式(2047)10—(3FF)16+(2000)8 的结果是()

A)(2048)10 B)(2049)10 C)(3746)8 D)(1AF7)16

12、TCP/IP协议共有()层协议

A)3 B)4 C)5 D)6

13、若已知一个栈的入栈顺序是1, 2, 3,…,n,其输出序列为P1, P2, P3,…,Pn,若

P1是n,贝U Pi是()

A)i B) n-1 C)n-i+1 D)不确定

14、计算机病毒是()

A)通过计算机传播的危害人体健康的一种病毒

B)人为制造的能够侵入计算机系统并给计算机带来故障的程序或指令集合C)一种由于计算机元器件老化而产生的对生态环境有害的物质

D)利用计算机的海量高速运算能力而研制出来的用于疾病预防的新型病毒15、下面关于算法的错误说法是()

A)算法必须有输出B)算法必须在计算机上用某种语言实现

C)算法不一定有输入 D) 算法必须在有限步执行后能结束

16. [x]补码=10011000,其原码为()

二、问题求解(5+7=12 分)

1. 已知一棵二叉树的结点名为大写英文字母,其中序与后序遍历的顺序分别为: CBGEAFHDIJ 与

CGEBHFJIDA 则该二叉树的先序遍历的顺序为: 2. 平面上有三条平行直线,每条直线上分别有 7,5,6个点,且不同直线上三个点都不在同一条直线上。

问用这些点为顶点,能组成多少个不同四边形?

三、阅读程序,写出程序正确的运行结果 (4+7+8+9=28 分)

1. PROGRAM GAO7_1

FUNCTION ACK(M ,N : INTEGER) : INTEGER ; BEGIN

IF M=0 THEN ACK : =N+1

ELSE IF N=0 THEN ACK:=ACK(M-1

,1)

ELSE ACK:=ACK(M-1 ,ACK(M ,N-1))

END ;

BEGIN WRITELN(ACK(3 ,4)) ; READLN ; END. 输出

2. PROGRAM GAO7_2 ; 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 ;

A)011001111 B)11101000 17. 以下哪一个不是栈的基本运算 A)删除栈顶元素

C)判断栈是否为空 18. 在顺序表(2,5, 关键码比较的次数为

A)2 B)3 C)4

19. 一棵二叉树的高度为

A)2 h -1 B)2h-1 C)2h+1 D)h+1

20. 无 向 图 G=(V , E={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)}, 序列正确的是() A)a,b,e,c,d,f

B)a,c,f,e,b,d

C)11100110 D)01100101

()

B) 删除栈底的元素

D)将栈置为空栈

7 10, 14, 15, 18, 23, 35, 41, ()

D)5

h ,所有结点的度为 C) 2h+1

图 52)中,用二分法查找 12,所需的

0,或为2, E) C)a,e,b,c,f,d

则此树最少有()个结点

V={a,b,c,d,e,f} 对该图进行深度优先遍历,得到的顶点 D)a,b,e,d,f,c

END.

输入12 输出

3. PR0GRAM GAO7_3 ;

VAR I , J, H, M, N, K: INTEGER ;

B : ARRAY[1..10]OF INTEGER ;

BEGIN

READLN(N);

FOR l:=1 TO 10 DO

BEGIN

M: =N ; J: =11 ;

WHILE M>0 DO

BEGIN J:=J-1 ; B[J] : =M MOD 10 ; M:=M DIV 10 END ;

FOR H:=J TO 10 DO N:=N+B[H] ;

END ;

WRITELN(N);

END.

输入1234 输出:

4. PROGRAM GAO7_4 ;

VAR X , Y1 , Y2 , Y3 : INTEGER ;

BEGIN

READLN(X) ; Y1 : =0 ; Y2 : =1 ; Y3 : =1 ;

WHILE Y2<=X DO

BEGIN

Y1 : =Y1+1 ; Y3 : =Y3+2 ; Y2 : =Y2+Y3

END ;

WRITELN(Y1);

END.

输入:23420 输出:四、完善程序(每空3分,共30分)

1. 存储空间的回收算法。设在内存中已经存放了若干个作业 A , B, C , D。其余的空间为可用的

一中(司)。

第i个可用空间首址,dk[i,2]对应第i个可用空间长度如上图中,dk :(如图

上丫下靠

此时,可用空间可用一个二维数组dk[1..100 1..2 ]表示,(如下表一中(a)),其中:dk[i,1]对应

现某个作业释放一个区域,其首址为

d ,长度为L ,此时将释放区域加入到可用空间表中。要求在加

入时,若可用空间相邻时,则必须进行合并。因此出现下面的 4种情况(如上图一 (b )所示)。

(1)

下靠,即回收区域和下面可用空间相邻,例如, d=80 ,

L=20,此时成为表二中的(a )。

(2) 上靠,例如,d=600 ,L=50,此时表成为表二中的(b )。 (3) 上、下靠,例如,d=150 ,L=150,此时表成为表二中的(c )。 (4)

上、下不靠,例如,d=430

,L=20,此时表成为表二中的(d )。

表二(a )(下靠

表二(b )(上靠

表二(c )(上,下靠)

表二(d )(上,下不靠

程序说明:对数组dk 预置2个标志,即头和尾标志,成为表二中 (b ),这样可使算法简单,sp 为dk 表末 地址。

程序清单:

var

i,j,sp,d,l:integer;

dk:array[0..100,1..2]of integer; begin

readln(sp); for i:=1 to sp do

readln(dk[i,1],dk[i,2]); dk[0,1]:=0;dk[0,2]:=0; _ ① ___

dk[sp,1]:=10000;dk[sp,2]:=0; readln(d,l); i:=1;

while dk[i,1]

if (dk[i,1]+dk[i,2]=d) then

if (d+l=dk[i+1,1]) then begin

dk[i,2]:=_

③_;

for j:=i+1 to sp-1 do dk[j]:=dk[j+1];

表一 (a )

表一(b )

sp:=sp_1;

end

else dk[i,2]:=dk[i,2]+l 〃l 不是1

else

if (d+l=dk[i+1,1]) then begin

dk[i+1,1]:= ___ ④ ________ ; dk[i+1,2]:=dk[i+1,2]+l

end

else begin

for j:=sp downto i+1 do dk[j+1]:=dk[j];

__ ⑤____ :=d; dk[i+1,2]:=l; sp:=sp+1;

end;

for i:=1 to sp-1 do writeln( dk[i,1]:4, dk[i,2]:4);

readln;

end.

2. 求关键路径

设有一个工程网络如下图表示(无环路的有向图):

其中,顶点表示活动,①表示工程开始,⑤表示工程结束(可变,用N表示),边上的数字表示活动延

续的时间。

如上图中,活动①开始5天后活动②才能开始工作,而活动③则要等①、②完成之后才能开始,即最早也要7天后才能工作。

在工程网络中,延续时间最长的路径称为关键路径。上图中的关键路径为:①一②一③一④一⑤共18

天完成。

关键路径的算法如下:

1. 数据结构:

R[1..N ,1..N]OF INTEGER ;表示活动的延续时间,若无连线,则用-1表示;

EET[1..N] 表示活动最早可以开始的时间

ET[1..N] 表示活动最迟应该开始的时间

关键路径通过点J,具有如下的性质:EET[J]=ET[J]

2. 约定:

结点的排列已经过拓扑排序,即序号前面的结点会影响序号后面结点的活动。

程序清单:

var

i,j, n, max,mi n, w,x,y:i nteger;

r:array[1..20,1..20]of in teger;

eet,et:array[1..20]of in teger;

beg in

readl n(n);

for i:=1 to n do

相关主题