|
第七届全国青少年信息学(计算机)奥林匹克分区联赛初赛试题
(普及组PASCAL语言 二小时完成)
一、选择一个正确答案代码(A/B/C/D),填入每题的括号内(每题1.5分,多选无分,共30分)
1、在计算机内部,一切信息存取、处理和传递的形式是( C ) A:ASCⅡ码 B:BCD码 C:二进制 D:十六进制 2、在树型目录结构中,不允许两个文件相同主要指的是( D ) A:同一个磁盘的不同目录下 B:不同磁盘的同一个目录下 C:不同磁盘伯不同目录下 D:同一个磁盘的同一个目录下 3、WORD是一种( B ) A:操作系统 B:文字处理软件 C:多媒体制作软件 D:网络浏览器 4、计算机软件保护法是用来保护软件( D )的。 A:编写权 B:复制权 C:使用权 D:著作权 5、下面关于算法的错误说法是( B ) A:算法必须有输出 B:算法必须在计算机上用某种语言实现 C:算法不一定有输入 D:算法必须在有限步执行后能结束 6、解释程序的功能是( C ) A:将高级语言程序转换为目标程序 B:将汇编语言程序转换为目标程序 C:解释执行高级语言程序 D:解释执行汇编语言程序 7、与二进制数101.01011等值的十六进制数为( B ) A:A.B B:5.51 C:A.51 D:5.58 8、断电后计算机信息依然存在的部件为( C ) A:寄存器 B:RAM存储器 C:ROM存储器 D:运算器 9、2KB的内存能存储( A )个汉字的机内码 A:1024 B:516 C:2048 D:218 10、DOS暂驻区中的程序主要是用于( A ) A:执行DOS内部命令 B:执行DOS外部命令 C:执行DOS所有命令 D:基本输入输出 11、若我们说一个微机的CPU是用的PⅡ300,此处的300确切指的是( A ) A:CPU的主时钟频率 B:CPU产品的系列号 C:每秒执行300百万条指令 D:此种CPU允许最大内存容量 12、运算17 MOD 4的结果是( C ) A:7 B:3 C:1 D:4 13、应用软件和系统软件的相互关系是( B ) A:后者以前者为基础 B:前者以后者为基础 C:每一类都以另一类为基础 D:每一类都不以另一类为基础 14、以下对WINDOWS的叙述中,正确的是( A ) A:从软盘上删除文件和文件夹,不送回到回收站 B:在同一个文件夹中,可以创建两个同类、同名的文件 C:删除了某个应用程序的快捷方式,将删除该应用程序对应的文件 D:不能打开两个写字板应用程序 15、E-mail邮件本质上是一个( A ) A:文件 B:电报 C:电话 D:传真 16、计算机病毒是( B ) A:通过计算机传播的危害人类健康的一种病毒 B:人为制作的能够侵入计算机系统并给计算机带来故障的程序或指令集合 C:一种由于计算机元器件老化而产生的对生态环境有害的物质 D:利用计算机的海量高速运算能力而研制出来的用于疾病预防的新型病毒 17、下列设备哪一项不是计算机输入设备( D ) A:鼠标 B:扫描仪 C:数字化仪 D:绘图仪 18、在计算机硬件系统中,cache是( D )存储器 A:只读 B:可编程只读 C:可擦可编程只读 D:高速缓冲 19、在顺序表(2,5,7,10,14,15,18,23,35,41,52)中,用二分法查找12,所需的关键码比较的次数为( C ) A:2 B:3 C:4 D:5 20、若已知一个栈的入栈顺序是1,2,3,…,n,其输出序列为P1,P2,P3,…Pn,若P1是n,则Pi是( C ) A:i B:n-i C:n-i+1 D:不确定
二、问题求解(5+7=12分)
1、在a,b,c,d,e,f六件物品中,按下面的条件能选出的物品是: a,b,c,f ⑴a,b两样至少有一样 ⑵a,d不能同时取 ⑶a,e,f中必须有2样 ⑷b,c要么都选,要么都不选 ⑸c,d两样中选一样 ⑹若d不选,则e也不选 2、平面上有三条平行线,每条直线上分别有7,5,6个点,且不同直线上三个点都不在同一直线上。 问用这些点为顶点,能组成多少个不同三角形? ( 751个 )
三、阅读程序,写了正确的程序运行结果(5+8+9+9=31分)
1、program CHU7_1; function fun(x:integer):integer; begin if (x=0) or (x=1) then fun :=3 else fun:=x-fun(x-2) end; begin writeln(fun(9)); readln; end. 输出:7 2、program CHU7_2; var i,j,f:integer; a:array[1..8] of integer; begin for i:=1 to 8 do begin f:=i mod 2; if f=0 then a[i]:=0 else a[i]:=1; for j:=1 to i do if f=0 then a[i]:=a[i]+j else a[i]:=a[i]*j end; for i:=1 to 8 do write(a[i]:5); end. 输出: 1 3 6 10 120 21 5040 36 3、program CHU7_3; 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; readln end. 输入:12 输出: 181 110 87 76 66 62 61 60 4、program CHU7_4; var n,k,i:integer; a:array[1..40] of integer; procedure find(x:integer); var s,i1,j1:integer; p:boolean; begin i1:=0; p:=true; while p do begin i1:=i1+1; s:=0; for j1:=1 to n do if a[j1]>a[i1] then s:=s+1; if (s=x-1) then begin writeln(a[i1]); p:=false end; end; end; begin readln(n,k); for i:=1 to n do read(a[i]); find(k); find(n-k); end. 输入:10 4 12 34 5 65 67 87 7 90 120 13 输出:67 34
四、完善程序(每空3分,共27分)
1、输入 n 个 0 到 100 之间的整数,由小到大排序输出,每行输出8个 程序清单: PROGRAM CHU7_5; VAR I,J,K,N,X:INTEGER; B:ARRAY[0..00] OF INTEGER; BEGIN READLN(N); FOR I:=0 TO 100 DO B[I]:=0; FOR I:=1 TO N DO BEGIN READLN(X); B[X]:= B[X]+1 ; END; K:=0 FOR I:=0 TO 100 DO WHILE B[I]<>0 DO BEGIN WRITE( I ); K:=K+1; B[I]:=B[I]-1; IF K MOD 8=0 THEN WRITELN; END; READLN; END. 2、在A、B两个城市之间设有N个路站(如下图中的S1,且N<100),城市与路站之间、路站和路站之间各有若干条路段(各路段数<=20,且每条路段上的距离均为一个整数)。 A,B的一条通路是指:从A出发,可经过任一路段到达S1,再从S1出发经过任一路段,…最后到达B。通路上路段距离之和称为通路距离(最大距离<=1000)。当所有的路段距离给出之后,求出所有不同距离的通路个数(相同距离仅记一次)。 例如:下图所示是当N=1时的情况:
 从A到B的通路条数为6,但因其中通路5+5=4+6,所以满足条件的不同距离的通路条数为5。 算法说明:本题采用穷举算法。 数据结构:N:记录A,B间路站的个数 数组D[I,0]记录第I-1个到第I路站间路段的个数 D[I,1],D[I,2],…记录每个路段距离 数组G记录可取到的距离 程序清单: program CHU7_6; var i,j,n,s:integer; b:array[0..100] of integer; d:array[0..100,0..20] of integer; g:array[0..1000] of 0..1; begin readln(n); for i:=1 to n+1 do begin readln(d[i,0]); for j:=1 to d[i,0] do read(d[i,j]); end; d[0,0]:=1; for i:=1 to n+1 do b[i]:=1; b[0]:=0; for i:=1 to 1000 do g[i]:=0; while b[0]<>1 do begin s:=0; for i:=1 to n+1 do s:= s+d[i,b[i]]; g[s]:=1;j:=n+1; while b[j]=d[j,0] do j:=j-1; b[j]:=b[j]+1; for i:=j+1 to n+1 do b[i]:=1; end; s:=0; for i:=1 to 1000 do s:=s+g[i]; writeln(s);readln; end.
|