西店中学计算机信息学竞赛测试试卷、答题卷和答案(六)
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
西店中学计算机信息学竞赛测试卷(六) 一、选择题:共20题,每题1.5分,共计30分。 1.在下面各世界顶级的奖项中,为计算机科学与技术领域做出杰出贡献的科学家设立的奖项是 ( ) A. 沃尔夫奖 B.诺贝尔奖 C. 菲尔兹 D. 图灵奖 2. 在下列各软件中,不属于 NOIP 竞赛(复赛)推荐使用的语言环境有( )。 A. gcc/g++ B. Turbo Pascal C. RHIDE D. free pascal 3. 以下断电之后仍能保存数据的有( )。 A. 寄存器 B. ROM C. RAM D. 高速缓存 4.Linux 是一种( )。 A. 绘图软件 B. 程序设计语言 C. 操作系统 D. 网络浏览器 5. CPU 是( )的简称。 A. 硬盘 B. 中央处理器 C. 高级程序语言 D. 核心寄存器 6. 在计算机中,防火墙的作用是( )。 A. 防止火灾蔓延 B.防止网络攻击 C. 防止计算机死机 D. 防止使用者误删除数据由OIFans.cn收集 7. 在下列关于计算机语言的说法中,不正确的是( )。 A. Pascal和C都是编译执行的高级语言 B. 高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计算机上 C. C++是历史上的第一个支持面向对象的计算机语言 D. 与汇编语言相比,高级语言程序更容易阅读 8. 在下列关于计算机算法的说法中,不正确的是( )。 A. 一个正确的算法至少要有一个输入 B. 算法的改进,在很大程度上推动了计算机科学与技术的进步 C. 判断一个算法的好坏的主要标准是算法的时间复杂性与空间复杂性 D. 目前仍然存在许多涉及到国计民生的重大课题,还没有找到能够在计算机上实施的有效算法 9. 在下列各种排序算法中,不是以“比较”作为主要操作的算法是( )。 A. 选择排序 B. 冒泡排序 C. 插入排序 D. 基数排序 10.在编程时(使用任一种高级语言,不一定是 Pascal),如果需要从磁盘文件中输入一个很大的二 维数组(例如 1000*1000 的 double 型数组),按行读(即外层循环是关于行的)与按列读(即外层 循环是关于列的)相比,在输入效率上( )。 A. 没有区别 B. 按行读的方式要高一些 C. 按列读的方式要高一些 D. 取决于数组的存储方式。由OIFans.cn收集 11.在 Pascal 语言中,表达式 (21 xor 2)的值是( ) A. 441 B. 42 C.23 D.24 12.在 Pascal 语言中,判断 a 不等于 0 且 b 不等于 0 的正确的条件表达式是( ) A. not a=0 or not b=0 B. not((a=0)and(b=0)) C. not(a=0 and b=0) D. (a<>0)and (b<>0) 13.某个车站呈狭长形,宽度只能容下一台车,并且只有一个出入口。已知某时刻该车站状态为空,从 这一时刻开始的出入记录为:“进,出,进,进,进,出,出,进,进,进,出,出”。假设车辆入站的 顺序为 1,2,3,„„,则车辆出站的顺序为( )。 A. 1, 2, 3, 4, 5 B. 1, 2, 4, 5, 7 C. 1, 4, 3, 7, 6 D. 1, 4, 3, 7, 2 14.高度为 n 的均衡的二叉树是指:如果去掉叶结点及相应的树枝,它应该是高度为 n-1 的满二叉树。 在这里,树高等于叶结点的最大深度,根结点的深度为 0,如果某个均衡的二叉树共有 2381 个结点, 则该树的树高为( )。 A. 10 B. 11 C. 12 D. 13 15. 与十进制数 1770 对应的八进制数是( )。 A. 3350 B. 3351 C. 3352 D. 3540 16.将 5 个数的序列排序,不论原先的顺序如何,最少都可以通过( )次比较,完成从小到大的排序。 A. 6 B. 7 C. 8 D. 9 17. 设A=B=D=true,C=false,以下逻辑运算表达式值为真的有( )。 A. (¬ A∧B)∨(C∧D) B.¬ ((A∨B∨D)∧C)由OIFans.cn收集 C. ¬ A∧(B∨C∨D) D. (A∧B∧C)∨ ¬ D 18. (2010)16 + (32)8的结果是( )。 A. (8234)10 B. (202B)16 C.(20056)8 D. (100000000110)2 19. 设栈S的初始状态为空,元素a, b, c, d, e 依次入栈,以下出栈序列不可能出现的有( )。 A. a, b, c, e, d B. b, c, a, e, d C. a, e, c, b, d D. d, c, e, b, a 20. 已知 6 个结点的二叉树的先根遍历是 1 2 3 4 5 6(数字为结点的编号,以下同),后根遍历是 3 2 5 6 4 1,则该二叉树的可能的中根遍历是1 ( ) A. 3 2 1 4 6 5 B. 3 2 1 5 4 6 C. 2 1 3 5 4 6 D. 2 3 1 4 6 5 二、填空题:共2题,第一题5分,第二题5分,共计10分。 1、取石子游戏) 现有 5 堆石子,石子数依次为 3,5,7,19,50,甲乙两人轮流从任一堆中任取(每次只能取自一堆,不能不取), 取最后一颗石子的一方获胜。甲先取,问甲有没有获胜策略(即无论 乙怎样取,甲只要不失误,都能获胜)?如果有,甲第一步应该在哪一堆里取多少?请写出你的结果: _____________________________________________________________________________________。 2、若今天是星期六,从今天起102001天后的那一天是星期______。 三、程序阅读理解题:共4题,每题8分,共计32分。 1、PROGRAM exarm( output); VAR x,y,x:integer; PROEDURE silly(x:integer;VAR y:integer); BEGIN x:=5;y:=6;z:=3; writeln(x,y,z) END; BEGIN x:=1;y:=2;z:=3; silly(x,y); writeln(x,y,z) END. 该程序的执行结果是: 2、有下面程序段 FOR I:=1 TO 3 DO BEGIN FOR J:=1 TO 3 DO BEGIN IF I=3 THEN A[I,J]:=A[I-1,A[I-1,J]]+1 ELSE A[I,J]=J; 2 WRITE(A[I,J]:2) END; WRITELN END 该程序的执行结果是: 3、PROGRAM TEST(INPUT,OUTPUT); VAR A,B,C:INTEGER; PROCEDURE P(VAR X:INTEGER;Y:INTEGER); VAR M,N:INTEGER; BEGIN M:=X*Y; X:=X+5; Y:=Y+5; N:=X*Y; WRITELN(M:4,N:4) END; BEGIN A:=3;B:=3; P(A,B); P(A,B) END 该程序的执行结果是: 4、var str : string; i : integer; begin str := 'Today-is-terrible!'; for i := 7 to 11 do if str = '-' then str[i - 1] := 'x'; for i := 13 downto 1 do if str = 't' then str[i + 1] := 'e'; writeln(str); end. 该程序的执行结果是: 四、程序完善题:共2题,每题14分,共计28分。 1、对给定的10个国家名,按其字母的顺序输出。 程序如下: program ex8_3; var i,j,k:integer; t:string[20]; cname:array[1..10] of string[20]; begin (4) ;{将最小数放入素数集合中} {将这个素数的倍数从筛中删去} j:=next; while j<=n do begin (5) ; (6) ; for i:=1 to 10 do readln(cname[i]); for i:=1 to 9 do begin (1) ; for j:=i+1 to 10 do if cname[k]>cname[j] then (2); (3); cname[i]:=cname[k];cname[k]:=t; end; for i:=1 to 10 do writeln(cname[i]); end. end. 2、编制用筛法求1-n(n≤200)以内素数的程序。 分析: 由希腊著名数学家埃拉托色尼提出的 所谓“筛法”,步骤如下: ①将所有候选数放入筛中; ②找筛中最小数(必为素数)next,放入集 合primes中; ③将next的所有倍数从筛中筛去; ④重复②~④直到筛空。 编程时,用集合变量sieve表示筛子,用集合primes存放所有素数。 源程序如下: program ex10_3; const n=200; var sieve,primes:set of 2..n; next,j:integer; begin sieve:=[2..n];{将所有候选数放入筛中} primes:=[];{素数集合置空} next:=2; repeat {找筛sieve中最小一个数} while not(next in sieve) and(next<=n)do next:=succ(next); 3 end until sieve=[]; j:=0; for next:=2 to n do{打印出所有素数} if next in primes then begin write(next:5); (7) ; if j mod 10=0 then writeln; end; writeln; 西店中学计算机信息学竞赛测试答题卷(六) 班级: 姓名: 得分: 一、选择题(30分) 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 10 20 二、问题求解(10分) 21. 22. 三、程序阅读(32分) 1. 2. 3. 4. 四、完善程序(28分) 第一题 (1) (2) (3) (4) (5) (6) (7) 第二题 4 西店中学计算机信息学竞赛测试答题卷(六) 初中组 试题由四部分组成:1、选择题 2、问题求解题 3、程序阅读理解题 4、程序完善题 一、选择题:共20题,每题1.5分,共计30分。 1. D 2. B 3. B 4. C 5. B 6.B 7. C 8. A 9. D 10. D 11. C 12. D 13. C 14. B 15. C 16. B 17. B 18. A 19. C 20. B 二、填空题:共2题,第一题5分,第二题5分,共计10分。 1、有获胜策略(1 分),第 1 次在第 5 堆中取 32 颗石子(4 分),。 2、星期一 三、程序阅读理解题:共4题,每题8分,共计32分。 1、输出结果为:5 6 7 1 6 7 2、该程序的执行结果是:Today-ix-terrible! 3、运行结果为:9 64 24 104 4、 输入:8 1 4 2 5 6 输出结果为:8 1 4 2 5 6 6 8 1 4 2 5 5 6 8 1 4 2 2 5 6 8 1 4 4 2 5 6 8 1 1 4 2 5 6 8 四、程序完善题:共2题,每题14分,共计28分。 1、 (1)k:=i; (2)k:=j; (3) t:=cname[i]; 2、(4)primes:=primes+[next]; (5)sieve:=sieve-[j]; (6)j:=j+next; (7)j:=j+1; 5 本文来源:https://www.wddqw.com/doc/a9adc7160a12a21614791711cc7931b765ce7ba0.html