|
第五届全国青少年信息学计算机奥林匹克分区联赛初赛试题及答案(提高组)
暂缺图片
第五届全国青少年信息学计算机奥林匹克 分区联赛初赛试题
提高组PASCAL (二小时完成)
一.选择一个正确答案代码(A/B/C/D)填入每题的括号内 (每题1.5分,多选无分,共30分) 1.微机内的存储器的地址是按( )编址的。 A.二进制位 B.字长 C.字节 D.微处理器的型号 2.下列诸因素中,对微机工作影响最小的是(). A.尘土 B.噪声 C.温度 D.湿度 3.在24*24点阵字库中,汉字’一’与’编’的字模占用的字节数分别是(). A.32,32 B.3Z,72 C.72,72 D.72,32 4.将 DOS系统盘插人 A驱动器启动机器随后使用一批应用软件.在此过程中, DOS系统盘( ). A. 必须始终插人在A驱动器中 B.不必再用 C.可能有时要插人A驱动器中 D.可能有时要插入B驱动器中 5. 以下dos命令有可能在磁盘上建立子目录的是( ) A type B.dir C.xcopy D.cd 6.在CONFIG.SYS文件中,装入特定可安装设备驱动程序的命令是(). A. buffer B flies C. driver D. device 7.计算机能直接执行的指令包括两部分,它们是(). A.源操作数与目标操作数 B.操作码与操作数 C.ASCII码与汉字代码 D.数字与字符 8. 在微机中,通用寄存器的位数是(). A.8位 B.16位 C.计算机字长 D.32位 9.在计算机中,字符编码通常采用() A.原码 B.反码 C.ASCII码 D.补码 10.计算机的软件系统通常分为(). A.系统软件与应用软件 B.高级软件与一般软件 C.军用软件与民用软件 D.管理软件与控制软件 11. 执行DOS命令:C>ATTRIB A: * .*的功能是()· A.查A盘上所有文件属性 B.查看A盘上当前目录中所有文件属性 C.查看A盘上所有系统文件属性 D.删去A盘上所有隐含文件的属性 12.执行下列DOS命令,效果等价的是()组. A. copy*.for 与copy*.for con B. copy a:*.* B: 与xcopy a:*.* B: C.copy filel.txt+ file2.txt与copy fild2.txt+filel.txt D.xcopy A:*.* B:/s 与diskcopy A: B: 13.已知小写字母’m’的十六进制的ASCll码值是6D,则小写字母’c’的十六进制的ASCll码值是(). A.98 B.62 C.99 D.63 14.计算机中的数有浮点与定点数两种,其中用浮点数表示的数,通常由()这两部分组成. A.指数与基数 B.尾数与小数 C.阶码与尾数 D.整数与小数 15.下列文件名中属于dos中的保留设备名的为() A.aux B.corn C,coul D.prnl 16.启动计算机引导DOS是将操作系统(). A.从磁盘调入中央处理器 B.从内存储器调入高速缓冲存储器 C.从软盘调人硬盘 D.从系统盘调入内存储器 17.十进制算术表达式3*512+7*64+4*8+5的运算结果用二进制表示为() A.10111100101 B. 11111100101 C. 11110100101 D. 11111101101 18.组成'教授' (jiao shou)与' '副教授' (fujiao shou)与'讲师' ( jiang shi)这三个词在GB2312-80字符集中都是一级汉字.对这三个词排序的结果是(). A.教授,副教授,讲师 B.副教授,教授,讲师 C.讲师,副教授,教授 D.副教授,讲师,教授 19.不同的计算机,其指令系统也不同,这主要取决于(). A.所用的操作系统 B.系统的总体结构 C.所用的CPU D.所用的程序设计语言 20.对具有隐含属性(H)的当前目录下的文件ab.txt,能成功执行的DOS命令是() A. TYPE ab.txt B.COPY ab.txt xy.txt C.DIR ab.txt D.REN ab.txt xy.txt
二.回答问题(l0分) 将Ln定义为求在一个平面中用n条直线所能确定的最大区域数目. 例如:当n=1时L1=2,进一步考虑,用n条折成角的直线(角度任意),放在平面上,能确定的最大区域数目Zn是多少? 例如: 当n=1时,Z1=2(如下图所示) 当给出n后,请写出以下的表达式: Ln=________ Zn=________
三.阅读程序,并写出正确的运行结果 (每题15分,共30分) l. program exgpl; var i,J,k: Integer; a: array[0..100] of Integer; Begin for i:= 0 to 100 do a[i]:= i; for k:= 5 downto 2 do begin for i:=l to l00 do if(i mod k)=0 then a[i]:=0; for i:= 1 to 99 do for j:= ito 100-i do if a[j]>a[j+1] then begin a[j]:=a[j]+a[j+1]; a[j+1]:= a[j]-a[j+1]; a[j]:=a[j]-a[j+1]; end; end; j:=1; while (a[j]= 0) and(j<100) do j:=j+1; for i:= j to 100 do a[0]:=a[0]+a[i]; writeln(a[0]); End. 本题的运行结果是:_____
2.设数组 A[1],A[2],…A[N],已存入了数据,调用不同的排序程序,则数据比较的次数将会不同, 试计算出分别调用下列不同的排序过程的比较运算的次数。其中SWAP(I,J)表示A[I]与A[J」进行交换。 (1)procedure sort1(N:integer); var I,J:integer; BEGIN for I:= 1 to N- 1 DO FOR J:=1 to N DO IF A[J]< A[I] then SWAP(I,J) END; 调用该过程的语句为sort1(N); 比较运算的次数为:_____ (2)procedure sort2(I,N:integer); VAR J:Integer; BEGIN IF I=N then write(A[N]) ELSE for J:= I+1 to N do IF A[J]< A[I] then SWAP( I,J); write (A[I]); sort2 (I+1,N); END; 调用该过程的语句为SORT2(N); 比较运算的次数为:____ (3)procedure sort3(I,J:integer); VAR M:integer; BEGIN if I<>J then BEGIN M:=(I+J) DIV 2; sort3(I,M); sort3(M+1,J); MERGE;{假设合并的元素分别为P,G个, 需要比较P+G次} END; END; 调用该过程的语句为sort3(N); 比较运算的次数为:_____
四.根据题意,将以下程序填写完善(共30分) l.[问题描述】求一棵树的深度与宽度。(15分) 树可用数组tree:array[1..n,1..5]of integer;其中: tree[I,1」表示结点号;tree[I,2]—-tree[I,5]所属结点。 (1) (2) (4) (5)(6)(7)(3) (9) (10 (11)(12)(8) (13) 如上图可表示为: 1 2 3 4 0 2 5 6 7 0 3 8 0 0 0 4 9 10 0 0 5 0 0 0 0 6 0 0 0 0 7 11 12 0 0 8 0 0 0 0 9 0 0 0 0 10 0 0 0 0 11 0 0 0 0 12 13 0 0 0 13 0 0 0 0 在求解的过程中,用到数组G: array[1..N,1..7] of integer; 其中:G[I,1]表示父结点,G[I,2]表示层次, G[I,3]表示本结点号, G[I,4]--G[I,7]表示子女结点; 同时,设2个指针sp1(取数指针),sp2(存数指针) 【程序清单】: prograrn exgp3; const n= 13; var i,j,k,sp1,sp2,n1,n2,jmax,p:integer; tree: array[1..n,1..5]of integer; g:array[1..n,l..7]of integer; begin for i:= 1 to n do begin tree[i, 1]:=4 for j:=2 to 5 do read(tree[i,j]); readln; end; sp1:=1; SP2:=1; g[1,l]:=0; g[1,2]:=1 ;g[l,3]:=1; for i:=4 to 7 do g[1,i]:=tree[l,i-2]; while __①__ do begin P:= g[sp1,2];sp2:= g[sp1,3]; _②_; j:= 4; while ③ do begin nl:= g[sp1,j]; j;= j+1; _④_; g[sp2,1]:=n2; g[sp2,2]:=p;g[sp2,3]:=n1;l for i:= 1 to 4 do g[sp2,i+3]:=tree[n1,i+1]; end; _ ⑤__; end; writeln(’maxd=’,g[sp2,2]); j:=1; k:=g[1,2]; jmax:=0; for i:= 2 to sp2 do if _ ⑹_ then j:= j+1 else begin if j>jmax then Jmax:= j; _⑺_;k:=g[I,2]; end; if j>jmax then Jmax:=J; writeln(’max1=’,Jmax); end. 2.[问题描述] 用生成法求出1,2,…,r的全排列(r<=8)(15分) [算法过程]用数组a:atray[1..r] of integer; 表示排列; 初始化时,a[I]:=(I=1,2,…f) 设中间的某一个排列为a[1],a[2]…a[r] 则求出下一个排列的算法为: ①从后面向前找,直到找到一个顺序为止 (设下标为j-1,则a[j-1] ②从a[j]--a[r]中找出一个a[k]比a[j-1]大的最小元素 ③将a[j-1]与 a[k]交换 ④将a[j],a[j+1],…a[r]由小到大排序。 【程序清单】 program exgp4; const S= 7; var n,i,s,k,J,i1,t:Integer; a: array[1..r] of Integer; procedure printl; var ik: integer; begin for ik:=1 to r do write(a[ik」:8); writeln; end; begin for i:= 1 to r do_①_ ; printl; s:=1; for i:=2 to r do s:=s*i; s:=s-1 ; for i:=_②_ do begin j:=r ; while_③_ do j:=j-1; k:=j; for il:=j+l to r do if __④__ then k:=i1; t:=a[j-1];a[j-1]:=a[k]; a[k]:=t; for i1:= j to r-1 do for k:= i1+1 to r do if __⑸__ then begin t:=alil]; a[i1」:=a[k]; a[k]:=t; end; printl; end; end.
第五届全国青少年信息学(计算机)奥林匹克分区联赛初赛试题
(提高组参考答案)
一、选择一个正确答案代码(A/B/C/D),填入每题的括号内(每题1.5分,多选无分,共30分)
1 2 3 4 5 6 7 8 9 10 C B C C C D B C C A 11 12 13 14 15 16 17 18 19 20 B B D C A D B D C A
二、回答问题:(5+5=10分)
当给n后,写出的表达式为:
Ln=n(n+1)/2+1(n≥0)
Zn=L2n-2n=2n2-n+1
三、阅读程序,并写出正确的程序运行结果(每题15分,共30分)
1.程序运行的结果:970
2.(PASCAL语言作 5+5+5=15分)
(1)调用该过程的语句为SORT1(N);比较运算的次数为:n(n-1)
(2)调用该过程的语句为SORT2(N);比较运算的次数为:n(n-1)/2
(3)调用该过程的语句为SORT3(N);比较运算的次数为:nlog2n+c
(BASIC语言作 15分)程序运行的结果是:7
13 24 24 36 38 39 63
四、根据题意,将以下程序填写完善(共30分)
PASCAL语言 BASIC语言
(1)共15分(2+2+3+2+2+2+2=15分)
① sp1<=sp2 100 sp1>sp2
② p:=p+1 110 p=p+1
③ g[sp1,j]<>0 120 g(sp1,j)=0
④ sp2:=sp2+1; 130 sp2=sp2+1
⑤ sp1:=sp1+1 200 sp1=sp1+1
⑥ k=g[i,2] 530 k<>g(i,2)
⑦ j:=1; 580 j=1
(2)共15分(每个点3分)
① a[i]:=i; 20 a(i)=i
② 1 to s 70 1 to s
③ a[j-1]>a[j] 90 a(j-1)>a(j)
④ (a[i1]>a[j-1]) and (a[i1]<a[k]) 120 (a(L)>a(j-1)) and (a(L)<a(k))
⑤ a[i1]>a[k] 170 a(L)>a(k) |