高中信息学联赛经典题(pascal)
(提高小组的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]代表某种物质。
A [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,'不必要');
结束。