资源简介 信息学竞赛普及组初赛模拟试题(二)(pascal语言)限时2小时完成,满分100分一、选择题:(共20小题,1-15小题为单选题,每题1分;16-20小题为多选题,每题2分。共25分)1.对存储器按字节进行编址,若某存储器芯片共有10根地址线的引脚,则该存储器芯片的存储容量为( 。 (A) 512B (B) 1KB (C) 2KB (D)4KB (E)8KB2.在待排序的数据表已经为有序时,下列排序算法中花费时间反而多的是( 。 (A)堆排序 (B)希尔排序 (C)冒泡排序 (D)快速排序 (E)二分排序3.某数列有1000个各不相同的单元,由低至高按序排列,现要对该数列进行二分法检索,在最坏的情况下,需要检索( 单元。 (A)1000 (B)10 (C)100 (D)500 (E) 3004.已知数组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 (E)sa+1555.在pascal语言过程调用时,数值形参得到的是实际参数的( 。 (A) 数值 (B) 地址 (C)值 (D)变量 (E)以上都不是6.一个24*24点阵的汉字字形信息所占的字节数为( 。 (A) 2 (B) 8 (C) 24 (D) 32 (E) 727. 在微机系统中,最基本的输入输出模块BIOS存放在( 中。 (A) RAM (B) ROM (C) 硬盘 (D)寄存器 (E)控制器8. 十进制算术表达式:3*512+5*64+2*8+1的运算中,用二进制表示为( 。 (A)1011010001 (B) 10110100011 (C) 11101010001 (D) 11110100011 (E)1110009.设栈S的初始状态为空,现对序列{1,2,3,4,5}在栈S上,依次进行如下操作(从元素1开始,出栈后不再进栈):进栈,出栈,进栈,进栈,出栈,出栈。试问出栈的元素序列是( 。 (A){1,2,3} B) {1,3,2} C) {3,2,1} D) {2,3,1} (E)以上都不对10.E-mail邮件本质上是一个( (A)文件 (B)电报 (C)电话 (D)传真 (E)电讯11.一棵二叉树的高度为h,所有结点的度为0,或为2,则此树最少有( 个结点 (A)2h-1 (B)2h-1 (C)2h+1 (D)h+1 (E)h*h+112.无向图G=(V,E),其中V={a,b,c,d,e,f} E={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)}对该图进行深度优先遍历,得到的顶点序列正确的是( (A)a,b,e,c,d,f (B)a,c,f,e,b,d (C)a,e,b,c,f,d (D)a,b,e,d,f,c (E)以上都不对13.pascal 编译程序是( (A). 把pascal 源程序转换成可运行的EXE文件的程序 (B). 把pascal 源程序转换成等价的目标码的程序 (C). 生成和修改一个pascal语言源程序的等程序 (D). 把pascal的目标码程序转换成可运行的EXE文件的程序 (E). 生成一个等价的汇编程序14. 将三封信投到4个邮筒,最多的投法有( ) (A). 种 (B). 种 (C). 种 (D).34种 E. 15. 电子信函(电子邮件)的特点之一是( )。 (A).比邮政信函,电报,电话,传真都更快 (B).在通信双方的计算机之间建立其直接的通信线路后即可快速传递数字信息 (C).采用存储-转发方式在网络上逐步传递信息,不象电话那样直接、及时,但费用低廉 (D).在通信双方的计算机都开机工作的情况下即可快速传递数字信息 16. 以下属于多媒体硬件的是( )(A).主机 (B).光驱 (C).声卡 (D). 音箱 (E). 超级解霸17. 正确的二维数组类型说明是( )(A) type ar2=array[1..5,5..1] of integer;(B) type ar2=array[1..5] of array[5.1] of integer;(C) type ar2=array[1..5,1..5] of integer; (D)type ar2=array[1..5] of array[1..5] of integer (E)type ar2=array[1..5,1..5] of 0..118.下列属于信息处理的是( ) (A)信息加工 (B)信息分类 (C)信息技术 (D)信息采集 (E)信息存储19.在windows中,最小化一个应用程序窗口后,该程序将( )。 (A)被终止执行 (B) 被暂停执行 (C)被转入后台 (D)继续执行 (E)以上答案都不对20. 下面的常量说明中,正确的是( )(A)CONST (B)、CONST (C)、CONST (D)、CONST (E)CONSTt = true b, C = 45 M = 100,15 N = 1 OR 2 a= ’A’二、问题求解:(第1小题5分,第2-3小题各4分,共13分)[问题1]: 在所有三位数中,各位数字从高位到低位顺次减小的数共有 个。[问题2]:"银条" 一位银矿勘探员无力预付3月份的房租。他有一根长31英寸的纯银条,因此他和女房东达成如下协议。他说,他将把银条切成小段。3月份的第一天,他给女房东1英寸长的一段,然后每天给她增加1英寸,以此作为抵押。勘探员预期到3月份的最后一天,他能全数付清租金,而届时女房东将把银条小段全部还给他。3月份有31天,一种办法是把银条切成31段,每段长1英寸。可是这处花很多功夫。勘探员希望既履行协议,又能使银条的分段数目尽量减少。例如,他可以第一天给女房东1英寸的一段,第二天再给1英寸的一段,第三开他取回这两段1英寸的而给她3英寸的一段。假设银条的各段是按照这种方式来回倒换的话,勘探员至少需要把他的银条切成______段?[问题3]:"换不开的钞票" 钱柜里有1.15美分,一位顾客提出:把1美元的钞票换成硬币,但出纳小姐说换不开,后来这位顾客提出:把50美分的钞票换成硬币,但出纳小姐又说换不开,而实际上,出纳小姐也无法把25美分、10美分、5美分的钞票换成硬币。请问钱柜里到底有哪些硬币?他们分别有多少枚? 答:_________________。三、写出程序的运行结果:(每小题6分,共30分)1. program text1; const n=6;m=3; var i,j,k:integer; begin for i:=-n to n do begin k:=n-abs(i); write(' ': 39-k); for j:=-k to k do if abs(j)>k-m then write(n-(i+n)div 2) else write(' '); writeln; end; end. 输出的结果为:2. PROGAM text2;VAR a:ARRAY[1..10] OF Char;k:Integer; ch:Char;BEGINFOR k:=1 TO 10 DO a[k]:=Chr(Ord('A')+k);FOR k:=1 TO 10 DOBEGINch:=a[k];a[k]:=a[11-k];a[11-k]:=ch;END;FOR k:=1 TO 10 DO Write(a[k]);WritelnEND.输出的结果为: 3. program text3(input,output); Var m,n,p:integer; x:real; procedure mm(var m:integer;x:real); var n:integer; begin m:=m+1; n:=m+1; x:=n*3; p:=n; end; begin m:=8;n:=5;p:=3;x:=1.0; mm(n,x); writeln (m:5,n:5,p:5,x:6:1); end. 输出的结果为:4. program text4;const n=5;type ary=array[0..n-1,0..n-1]of integer;var a:ary;i,j,k:integer;begin for i:=0 to n-1 do for j:=0 to n-1 do a[i,j]:=0;k:=1; for i:=1 to n do for j:=n-1 downto i do begin a[j,j-i]:=k; k:=k+1; end; for i:=0 to n-1 do begin for j:=0 to n-1 do write(a[I,j]:4); writeln; end; end. 输出的结果为:5.program text5(input,output);var ch:char;i,n,sum:integer;begin sum:=0;read(ch);case ch of 'A':for i:=4 to 6 do begin read(n): sum:=sum+n end; 'B':begin read(n); for i:=1 to n do begin read(n);sum:=sum+n end; end; 'C':repeat read(n);sum:=sum+n until sum>10; 'D':begin read(n); while n<=3 do begin sum:=sum+n;read(n) end end end; writeln(sum:4)end.当程序运行(1) 输入 A 4 1 2 3 4 5 6 7 8 9时,其输出为_____________。(2) 输入 B 4 1 2 3 4 5 6 7 8 9时,其输出为_____________。(3) 输入 C 4 1 2 3 4 5 6 7 8 9时,其输出为_____________。(4) 输入 D 4 1 2 3 4 5 6 7 8 9时,其输出为_____________。四、完善程序(第1题每空2分第2、3题每空3分,共32分)第1题 孪生素数是指两个相差为2的素数,例如:3和5,5和7,11和13等。下面程序可输出15对孪生素数,其中函数q判断整数a是否为素数。program p(output); var k,n:integer function q (a:integer):booklean; var k:integer; flag:boolean; begin flag:___(1)____ k:=2 ___(2)____ (k<=a div 2) and flag do if a mod k=0 then ______(3)_______ else k:=k+1 q:=flag end; begin n:=0; k:=2; repeat if q(k) and ___(4)___ then begin n:=n+1; writeln(k,k+2) end; k:=K+1 until n=5 end.第二题 已知有类型arr=array[1..16] of string; arr型数组a中存放着从第1届到第16届足球世界杯冠军国家的名字,下面的函数可求出历界世界杯比赛共有几个国家曾获得过世界杯冠军,请填空完成。 Function text2(a:arr):integer; var k,j,s:integer; mult:boolean; begin ___(5)___; for j:=2 to 16 do begin k:=1; mult:=false; while not mult and ___(6)___ do if ___(7)__ then mult:=ture else k:=k+1; if not mult then s:=___(8)___ end; text2:=s end;第三题 Fibonacci(裴波那契)数列的规律是:前2个数均为1,从第3个数开始每个数等于它前面两个数之和,即:1,1,2,3,5,8,13,21,34,55,89,144,233,377,...。已知任意一个大于0的整数可以表示为若干个互不相同的fibonacci之数和。 例如:121=89+21+8+3下面的程序是由键盘输入一个正整数n,输出组成n的互不相同的fibonacci数。例如:若输入121则输入121=+89+21+8+3本程序的算法如下:(n=121为例)1)寻找小于或等于n的最大的fibonacci数a(例如89),并以a作为组成n的一个数输出。2)若n≠a则以n-a作为新的任意正整数(例如32),重复步骤1.若n=a,则结束。程序中的函数find返回小于或等于n的最大的fibonacci数。program text3(input,output);var n:integer;function find(n:integer):integer;var a,b,c:integer;begin a:=1; b:=1; repeat c:=___(9)___; a:=b;b:=c; until b>=n; if b=n then find:=___(10)___ else find:=___(11)___end;procedure p(n:integer);var a:integer;begin a:=find(n); write('+',a:4); if a p ___(12)___ end; begin readln(n); write(n:5,'='); p(n); writeln end.南海信息学竞赛初中组初赛模拟试题参考答案一、选择题:(本题共20小题,1-15小题为单选题,每题1分;16-20小题为多选题,每题2分。共25分)题号 1 2 3 4 5 6 7 8 9 10 答案 B D B A B E B C B A 题号 11 12 13 14 15 答案 B D B C C 题号 16 17 18 19 20 答案 ABCD CE ABDE CD AE 二、问题求解:(第1小题3分,第2-3小题各5分,共13分)[问题1]: 120 [问题2]: 5 [问题3]: 50美分1枚,25美分1枚,10美分4枚,5美分1枚,1美分4枚 三、写出程序的运行结果:(每小题6分,共30分)1、输出结果为: 2、输出结果为: BCDEFGHIJK 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 43 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 0 3、输出结果为: 4、输出结果为:8 6 7 1.0 0 0 0 0 0 4 0 0 0 0 7 3 0 0 0 9 6 2 0 0 10 8 5 1 05、当程序运行(1) 输入 A 4 1 2 3 4 5 6 7 8 9时,其输出为______7_____。(2) 输入 B 4 1 2 3 4 5 6 7 8 9时,其输出为______10____。(3) 输入 C 4 1 2 3 4 5 6 7 8 9时,其输出为_______14___。(4) 输入 D 4 1 2 3 4 5 6 7 8 9时,其输出为________0___。四、完善程序(第1题每空2分第2、3题每空3分,共32分)第1题 (1) true (2) while (3) flag:=false (4) F(K+2)=true或F(K+2) 第2题 (5) s:=1 (6) (k (7) a[j]=a[k] (8) s+1或s+1;或succ(s) 第3题 (9) a+b或b+a (10) b或c或n (11) a或a; (12) n-a 展开更多...... 收起↑ 资源预览