NOIP2000普及组初赛试题答案 下载本文

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

( 普及组 PASCAL语言 二小时完成 )

●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ●●

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

30分)

1.下列无符号数中,最小的数是( ).

A.(11011001)2 B.(75)10 C.(37)8 D.(2A)16

2.在外部设备中,绘图仪属于( ).

A.输入设备 B.输出设备 C.辅(外)存储器 D.主(内)存储器

3.GB2312-80 规定了一级汉字3755个,二级汉字3008个,其中二级汉字字库中的汉字

是以( )为序排列的.

A.以笔划多少 B.以部首 C.以ASCII码 D.以机内码

4.算法是指( ).

A.为解决问题而编制的计算机程序 B.为解决问题而采取的方法与步骤 C.为解决问题而需要采用的计算机语言 D.为解决问题而采用的计算方法

5.RAM 中的信息是( ).

A.生产厂家预先写入的 B.计算机工作时随机写入的 C.防止计算机病毒侵入所使用的 D.专门用于计算机开机时自检用的

6.计算机主机是由CPU 与( )构成的.

A.控制器 B.运算器 C.输入、输出设备 D.内存储器

7.计算机病毒的特点是( ).

A.传播性、潜伏性、易读性与隐蔽性 B.破坏性、传播性、潜伏性与安全性 C.传播性、潜伏性、破坏性与隐蔽性 D.传播性、潜伏性、破坏性与易读性

8.设循环队列中数组的下标范围是1–n,其头尾指针分别为f和r,则其元素个数为( ). A.r- f B.r- f +1

C.(r- f ) MOD n+1 D.(r- f + n) MOD n

9.在待排序的数据表已经为有序时,下列排序算法中花费时间反而多的是( ). A 堆排序 B 希尔排序 C 冒泡排序 D 快速排序

10.Internet 的规范译名应为( ).

A.英特尔网 B.因特网 C. 万维网 D.以太网

1

11.WINDOWS 9X 是一种( )操作系统.

A.单任务字符方式 B.单任务图形方式 C.多任务字符方式 D.多任务图形方式

12.某种计算机的内存容量是640K, 这里的640K 容量是指( ) 个字节.

A.640 B. 640*1000 C. 640 * 1024 D.640*1024*1024

13.在Windows 9X中,菜单项后带有符号“?”,表示该菜单项( ) .

A.可以进行开关选择 B.执行时有对话框 C.有若干子命令 D.不能执行

14.某数列有1000个各不相同的单元,由低至高按序排列;现要对该数列进行二分法检

索(binary search),在最坏的情況下,需检视( )个单元.

A.1000 B. 10 C. 100 D. 500

15.已知数组A中,每个元素A[I,J]在存贮时要占3个字节,设I从1变化到8,J从1

变化到10,分配内存时是从地址SA开始连续按行存贮分配的。 试问:A[5,8]的起始地址为( ).

A.SA+141 B.SA+180 C.SA+222 D.SA+225

16.大家知道,不同类型的存储器组成了多层次结构的存储器体系,按存取速度从快到慢

的排列是( ).

A.快存 / 辅存 / 主存 B.外存 / 主存 / 辅存

C.快存 / 主存 / 辅存 D.主存 / 辅存 / 外存

17.线性表若采用链表存贮结构,要求内存中可用存贮单元地址( ).

A.必须连续 B.部分地址必须连续 C.一定不连续 D.连续不连续均可

18.下列叙述中,正确的是( ).

A. 线性表的线性存贮结构优于链表存贮结构 B. 队列的操作方式是先进后出 C. 栈的操作方式是先进先出

D.二维数组是指它的每个数据元素为一个线性表的线性表

19.电线上停着两种鸟(A,B),可以看出两只相邻的鸟就将电线分为了一个线段。这

些线段可分为两类:一类是两端的小鸟相同;另一类则是两端的小鸟不相同. 已知:电线两个顶点上正好停着相同的小鸟,试问两端为不同小鸟的线段数目一定是( ).

A.奇数 B.偶数 C.可奇可偶 D.数目固定

2

20.请仔細閱读下列程序段:

PASCAL语言 BASIC语言

上列程序段的正确輸出是( ).

A.-1 B.-2 C.-3 D.-4

二、问题解答(每题7分,共14分) 1.已知,按中序遍历二叉树的结果为:abc

问:有多少种不同形态的二叉树可以得到这一遍历结果,并画出这些二叉树。

2.有2×n的一个长方形方格,用一个1×2的骨牌铺满方格。例如n=3时,为2×3方格。 此时用一个1×2的骨牌铺满方格,共有3种铺法: 试对给出的任意一个n(n>0),求出铺法总数的递推公式。

三、阅读程序,并写出程序正确的运行结果(10+16分,共26分) 1.PROGRAM NOI_002;

VAR I, J, L, N, K, S, T : INTEGER;

B : ARRAY[1..10] OF 0..9; BEGIN

READLN(L,N); S:=L; K:=1; T:=L; WHILE S

BEGIN K:=K+1; T:=T*L; S:=S+T END; S:=S-T; N:=N-S-1;

FOR I:=1 TO 10 DO B[I]:=0; J:=11;

WHILE N>0 DO

BEGIN J:=J-1; B[J]:=N MOD L; N:=N DIV L END;

FOR I:=10-K+1 TO 10 DO WRITE(CHR(ORD('A')+B[I])); END.

3

var a:array[1..3,1..4] of integer; b:array[1..4,1..3] of integer; x,y:integer; begin for x:=1 to 3 do for y:=1 to 4 do a[x,y]:=x-y; for x:=4 downto 1 do for y:=1 to 3 do b[x,y]:=a[y,x]; writeln(b[3,2]); end. DIM A(3,4), B(4,3) FOR X=1 TO 3 FOR Y=1 TO 4 A(X,Y)=X-Y NEXT Y , X FOR X=4 TO 1 STEP -1 FOR Y=1 TO 3 B(X,Y)=A(Y,X) NEXT Y, X PRINT B(3,2) END