高中信息学联赛经典题(pascal)

第八届全国信息学奥林匹克竞赛省(NOIP2002)初赛试题。

(提高小组的PASCAL语言两个小时)

审批:全国青少年信息学奥林匹克竞赛科学委员会

主管:中国科学技术协会,教育部。

主办:中国计算机联合会

主办单位:江苏省科协青少年科技中心

●●●所有试题答案要求写在答题卡上,无效●●

1.选择一个正确的答案代码(A/B/C/D)填在每道题的括号内(65438+每题0.5分,多选不计分,***30分)。

1.微型计算机的出现是由于()的出现。

a)中小型集成电路b)晶体管电路c)(超)大规模集成电路d)电子管电路

2.中央处理器(CPU)可以访问的最大内存容量取决于()。

a)地址总线b)数据总线c)控制总线d)实际存储容量

3.十进制书11/128可以表示为:()。

a)1011/1000000 B)1011/100000000 C)0.0010111D)0.000165438

4.公式(2047)10-(3ff)16+(2000)8的结果是()。

(2048)10b)(2049)10c)(3746)8d)(1af 7)16

5.给定x =(0.1011010)2,那么[x/2]补数=( )2。

a)0.1011101 B)1111110 C)0.0111D)0.

6.IPv4地址由一个()位二进制数表示。

16 B)32 C)24 D)8

7.计算机病毒感染的必要条件是:()。

a)在内存中运行病毒程序b)读写磁盘。

c)在存储器中运行包含病毒的可执行程序d)复制文件。

8.在磁盘上创建子目录有很多好处。以下描述中,()不属于创建子目录的优点。

a)方便文件管理b)解决根目录下目录项数量有限的问题。

c)加快文件搜索d)节省磁盘空间。

9.在使用电子邮件之前,需要设置Outlook,ISP接收邮件的服务器称为()服务器。

A)POP3 B)SMTP C)DNS D)FTP

10.多媒体电脑是指()电脑。

a)供家庭使用b)带光盘。

c)高级d)连接网络,具有处理文字、图形、声音、图像等信息的能力。

11.在微型计算机中,()的存取速度最快。

a)高速缓存b)外部存储器c)寄存器d)内部存储器

12.在资源管理器目录前面的图标上加一个“+”号,表示()。

a)该目录下的子目录已经展开;b)该目录下有子目录未展开。

c)该目录下没有子目录d)该目录为空。

13.在WORD文档编辑中,下列关于文本框的说法正确的是()。

a)文本框中的图形不能与文档中的输入文本叠加,只能在文档中的不同位置叠加。

b)文本框中的图形不能排在文档中输入的文本下方。

c)通过文本框,可以实现图形与文档中输入的文字的叠加,还可以实现文字换行。

d)图形放入文本框后,文档中输入的文本不能环绕图形。

14.向量的第一个元素的存储地址是100,每个元素的长度是2,所以五个元素的地址是()。

a)110 B)108 C)100D)109

15.已知A = 35H,A /\ 05H \/ A /\ 30H的结果是:()。

A)30H B)05H C)35H D)53H

16.有一个散列表(0 ~ 12)有13个元素。哈希函数是:H(key)= key% 13,其中%是余数运算。如果用线性探索的方法解决冲突,就要把序列(2,8,31,20,19,18,53,27)放在()框里。

A)5 B)9 C)4 D)0

17.根据二进制数的定义,三个节点的二叉树有()种。

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

18.在有向图中,所有顶点的入度之和等于所有顶点的出度之和的()倍。

A)1/2 B)1 C)2 D)4

19.为了使网格字的存取顺序为1...8: 8,2,6,5,7,3,1,4,下图中的空格要用()填充。

1 2 3 4 5 6 7 8

4 6 1 -1 7 3 2

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

20.栈s和队列q的初始状态为空,元素e 1,e 2,e 3,e 4,e 5,e 6依次通过栈s,一个元素出队后进入队列q。如果出队顺序为e 2,e 4,e 3,e 6,e 5,e 1,那么堆栈s的容量至少应为。

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

2.解题:(6+8 = 14)

1.有n本编号为1,2,...在架子上。现在把N本书都拿下来放回去。放回去的时候,要求每本书不能放在原来的位置。例如,当n = 3时:

原始位置:1 2 3

放回去只能是:3 1 2或者2 3 1。

问题:n = 5时* * *有几种?(您不需要列出每种方法)

2.设一棵K树,树中只有度为0和K的两种节点,设n ^ 0和n ^ K分别代表度为0和K的节点数,试找出n ^ 0和n ^ K的关系(n ^ 0 =数学表达式,只包含n ^ K,K和数字)。

3.阅读程序,写出正确的程序运行结果:(8+9+9 = 26分)

1.程序gxp 1;

var i,n,jr,jw,jb:整数;

ch 1:char;

ch : array[1..20]的char

开始

readln(n);

for i:=1到n do read(ch[I]);

Jr:= 1;jw:= n;JB:= n;

while(Jr & lt;=jw) do

开始

if (ch[jw]='R ')

那么开始吧

ch 1:= ch[Jr];ch[Jr]:= ch[jw];ch[jw]:= ch 1;Jr:= Jr+1;

结束

否则,如果ch[jw]='W '

那么jw:= jw-1;

否则开始

ch 1:= ch[jw];ch[jw]:= ch[JB];ch[JB]:= ch 1;jw:= jw-1;JB:= j B- 1;

结束

结束;

对于i:=1到n做写(ch[1]);

writeln

结束。

输入:10

RBRBWWRBBR

输出:

2.程序Gxp2

var i,j,s,sp1:整数;

p:布尔型;

答:数组[1..10]的整数;

开始

sp 1:= 1;a[1]:= 2;j:= 2;

而sp 1 & lt;10 do

开始

j:= j+1;p:=真;

对于i:=2到j-1 do

if (j mod i=0)那么p:= false;

如果p然后开始

sp 1:= sp 1+1;a[sp 1]:= j;

结束;

结束;

j:= 2;p:=真;

而p会

开始

s:= 1;

for I:= 1 to j do s:= s * a[I];

s:= s+1;

对于i:=2到s-1 do

如果s mod i=0那么p:= false;

j:= j+1;

结束;

书写内容;writeln

结束。

输出:

3.程序Gxp2

Var d1,d2,X,Min:real;

开始

min:= 10000;x:= 3;

而X & lt15 do

开始

d 1:= sqrt(9+(X-3)*(X-3));D2:= sqrt(36+(15-X)*(15-X));

if(d 1+D2)& lt;Min then Min:= d 1+D2;

x:= x+0.001;

结束;

writeln(Min:10:2);

结束。

输出:

四。完善程序:(15+15 = 30分)

1.问题描述:工厂在日常生产中需要一定数量的零件,也可以知道每天一个零件的生产单价。在n天的生产中,当天生产的零件可以满足当天的需求。如果当天没有用完,第二天可以使用,但是要收取每一部分的保管费,不同的日子收取的费用是不一样的。

解决问题:得到一个n天的生产计划(即n天内每天要生产的零件数量),使总成本最小。

输入:n(天数n

每日需求(n个整数)

每天生产的零件单价(n个整数)

每天保存零件的单价(n个整数)

产量:每天生产零件的数量(n个整数)

例如,当N=3时,要求和费用如下:

第一天,第二天,第三天

要求25 15 30

生产单价20 30 32

存储单价5 10 0

生产计划有多种计划,如以下三种:

第一天、第二天和第三天的总费用

25 15 30 25*20+15*30+30*32=1910

40 0 30 40*20+15*5+30*32=1835

70 0 0 70*20+45*5+30*10=1925

程序描述:

B[n]:存储每日需求

C[n]:每天生产的零件单价。

D[n]:每天保管零件的单价。

生产计划

程序:

程序exp5

定义变量

I,j,n,yu,j0,j1,s:整数;

b,c,d,e:数组[0..30]的整数;

开始

readln(n);

对于i:=1到n do readln(b[i],c[i],d[I]);

对于i:=1到n do e[I]:= 0;

①__________:=10000;c[n+2]= 0;b[n+1]:= 0j 0:= 1;

while(j0 & lt;做

开始

Yu:= c[j0];j 1:= j0;s:= b[j0];

而②__________做

开始

③_ _ _ _ _ _ _ _ _ j 1:= j 1+1;s:= s+b[j 1];

结束;

④_ _ _ _ _ _ _ _ _ j0:= j 1+1;

结束;

for I:= 1 to n do⑤_ _ _ _ _ _ _ _ _ _ _ _

readln

结束。

2.问题描述:有n种基本物质(n≤10),分别命名为P1,P2,...,Pn,用来构造物质。这些物质用于K个不同的区域(k≤20),每个区域对货物提出了自己的要求。这些要求用一个N位数表示:A6544。

Ai = 1表示所需物质必须有第一种基本物质。

= -1表示所需物质中必须没有I碱性物质。

= 0不重要

解题:当给定K个不同的要求时,给出一个方案,标明哪些物质用了,哪些物质没用。

程序描述:数组b [1],b [2]...b [n]代表某种物质。

[1...k,1...n]记录k个区域的项目需求,其中:

A[i,j]=1表示第I个区域需要第J项。

A[i,j]=0意味着第I个区域与第J个项目无关。

A[i,j]= -1表示第J项不需要第I个区域。

程序:

程序gxp2

定义变量

I,j,k,n:整数;

p:布尔型;

b:数组[0..0的20]..1 ;

答:数组[1..20,1..10]的整数;

开始

readln(n,k);

对于i:=1到k do

开始

对于j:=1到n做read(a[i,j]);

readln

结束;

对于i:=0到n do b[I]:= 0;

p:=真;

而①__________做

开始

j:= n;

而b[j]= 1 do j:= j-1;

②__________

对于i:=j+1到n do b[I]:= 0;

③__________

对于i:=1到k do

对于j:=1到n do

如果(a[i,j]=1)和(b[j]=0)或④_ _ _ _ _ _ _ _ _ _ _ _

那么p:=真;

结束;

如果⑤_ _ _ _ _ _ _ _ _ _ _ _

然后写ln(‘我找不到了!’)

else for i:=1 to n do

If (b [I] = 1)那么writeln('物质',我,'需要')

Else writeln('实质',I,'不必要');

结束。