《宁波市第22届中小学生计算机程序设计竞赛.doc》由会员分享,可在线阅读,更多相关《宁波市第22届中小学生计算机程序设计竞赛.doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流宁波市第22届中小学生计算机程序设计竞赛.精品文档.宁波市第22届中小学生计算机程序设计竞赛预赛试题(小学组)(考试时间120分钟,满分100分)所有提交的答案都以写在答卷纸上的为准,写在试卷上的一律无效学校姓名一、选择题:请选出各题正确答案的代码(A/B/C/D)(每题2分,共40分)1、在微型计算机的汉字系统中,一个汉字内码所占的字节数是( )。(A)1 (B)2 (C)3 (D)42、软盘加上写保护后,这时对它可进行的操作是( )。(A)只能读盘,不能写盘 (B)既可读盘,又可写盘(C)只能写盘,不能读盘 (D)不能读盘,也不能写盘3、
2、下列存储设备中,断电后其中的信息会消失的是( )。(A)硬盘 (B)ROM (C)RAM (D)U盘 4、pascal语言中运算(-13) MOD (-2)的结果是( )。 (A)1 (B)-1 (C)0 (D)-2 5、数组A有10个下标变量,各个下标变量的赋值情形如下所示,则表达式AAA5的值是( )。 A1A2A3A4A5A6A7A8A9A1045171029836(A)10 (B)5 (C)6 (D)2 6、1GB= ( )KB 。(A) 1000 (B) 1024 (C)10241024 (D)100010007、下面有关计算机病毒的说法,错误的是( )。(A)为防止病毒感染计算机,
3、使用软盘时,将软盘写保护(B)计算机的病毒不仅能损坏文件,还可能造成电脑主板等硬件的损坏(C)上网的电脑有可能会感染病毒 (D)计算机病毒也是程序8、下列存储器中,存取速度最快的是( )。 (A)软盘 (B)内存 (C)光盘 (D)硬盘9、在Windows 中,能通过输入“?a*.?”命令查找到的文件是( )。(A)pascal.c (B)ppa.1 (C)pa1wer.cc (D)dhdtfgpa1.cc 10、下列各种说法中,正确的是( )。(A)所有的十进制小数都能准确地转换为有限位二进制小数(B)汉字的计算机机内码就是区位码(C)存储器具有记忆能力,其中的信息任何时候都不会丢失(D)计
4、算机中所有信息都采用二进制编码 11、算式(4095)10-(7FF)16+(3000)8的结果不正确的是( )。 (A)(3584)10 (B)(111000000000)2 (C)(17000)8 (D)(E00)1612、下列函数值是整型的是( )。(A)chr(23) (B)ord(false) (C)succ(false) (D)odd(98)13、把整数5转换为字符5的表达式是( )。(A) Ord(5+chr(0) (B)ord(5+chr(0)(C) chr(5+ord(0) (D)chr(5+ord(0)14、以下标准数据类型中,不能作为for循环控制变量的是( )。(A)i
5、nteger型;(B)real型;(C)boolean型;(D)char型15、在E-MAIL系统中,用于接收邮件的服务器称为( )服务器。 (A)POP3 (B)SMTP (C)DNS (D)FTP 16、衡量网络上数据传输速率的单位是bps,其含义是( )。(A)数据每秒传送多少二进制位;(B)数据每秒传送多少字节;(C)数据每秒传送多少公里;(D)数据每秒传送多少千公里。17、下列各项中不属于系统软件的是( )。(A)Windows (B)Word (C)Free Pascal (D)DOS18、下列计算机设备中,不是输出设备的是( )。 (A)显示器 (B)音箱 (C)打印机 (D)扫
6、描仪19、有一个容量大小为4的栈,元素A、B、C、D按照A、B、C、D的次序依次入栈,且每个元素在出栈后不得再重新入栈,如果入栈和出栈的操作序列为:入栈-入栈-出栈-入栈-出栈-出栈-入栈-出栈,问元素A将是第几个出栈的?( )(A)1 (B)2 (C)3 (D)4 20、在线性表的两种存储表示中,下列描述正确的是( )。 (A)数组利于插入,不利于查找 (B)链表利于查找,不利于插入(C)数组利于查找,不利于插入 (D)数组与链表中的插入与查找效率差不多二、阅读pascal程序并写出运行结果(每题6分,共18分)第1题:请写出程序运行后变量sum的值(6分)program xx07_1;co
7、nst maxn=1000000;var n,k,sum:longint; f:array1.maxn of 0.1;begin readln(n); for k:=1 to n do fk:=1; for k:=1 to n div 2 do fk*2:=0; for k:=1 to n div 3 do fk*3:=0; sum:=0; for k:=1 to n do sum:=sum+fk; writeln(sum=,sum);end.输入:1000输出:sum=_第2题:请写出程序运行后变量ok的值(每空3分)program xx07_2;var s:string; k,n:inte
8、ger;ok:boolean;begin readln(s);n:=length(s); k:=1;ok:=true; while ok and (k=n div 2) do if sksn+1-k then ok:=false else k:=k+1; writeln(ok);end.输入:123,输出为:_ 输入:121,输出为:_ 第3题:请写出程序运行后变量sum的值(6分)program xx07_3;const maxn=1000;var pos,value:array1.maxnof longint; n,i,j,x,sum:longint; change:boolean;beg
9、in read(n); for i:=1 to n do read(posi,valuei); change:=true;i:=1; while change and (ivaluej+1 then begin change:=true; x:=valuej;valuej:=valuej+1;valuej+1:=x; end; i:=i+1; end; sum:=0; for i:=1 to n do sum:=sum+posi*valuei; writeln(sum=,sum);end.输入:101 102 13 24 95 36 47 88 59 610 7 输出为:sum=_三、简答题(
10、第1题6分,第2题8分,共14分)第1题:河的二岸(A岸、B岸)各有15个码头,它们距上游某城市的距离如下表所示,且A岸的一个码头只与B岸的一个码头(即表中上下对应的二个)有航线,在保证不出现航线交叉的情况下,问:(1) 最多能同时开通几条航线?(3分)(2) 能达到(1)中最多航线条数的不同通航方案共有几种?(3分)A岸210159134171136581214B岸461391110314712581512第2题:有一堆火柴共若干根,现由甲乙两人轮流从中拿取。规定:除最先轮到取火柴者,其第一次可以拿走任意数目的火柴(但不能拿完,也不能不拿)外,接下来轮到者,每次至少要拿走一根,但至多只可拿走
11、上次对方所取火柴数目的两倍,并约定:最先将火柴取光者为胜者。问:(1) 若原先这堆火柴的根数不少于2根,但最多不多于9根,问:共有哪些情况能确保最先轮到取火柴者必胜?(写出相应的原先这堆火柴的根数)(4分)(2) 若原先这堆火柴的根数不少于10根,但最多不多于23根,问:有哪些情况使最先轮到取火柴者必败?(写出相应的原先这堆火柴的根数)(4分)四、完善程序(第一大题12分,第二大题16分,共28分)第1题:完全数(每空3分,共12分)如果一个正整数的所有小于它本身的因子之和等于该正整数,则该正整数称为完全数。比如6=1+2+3,于是6称为完全数;28=1+2+4+7+14,28也是完全数。以下
12、程序输入一个数n,输出1至n中的完全数的个数。请完善该程序。program xx07_5;var n,i,count:longint;function WanQuanShu(k:longint):longint;var i,sum:longint;begin _; for i:=1 to k div 2 doif _ then sum:=sum+i; if sum=k then WanQuanShu:=_ else WanQuanShu:=_;end;begin readln(n); count:=0; for i:=1 to n do count:=count+wanquanshu(i);
13、writeln(count);end.第2题:石子划分(每空4分,共16分)给出n堆石子,以及每堆石子数。请将它们分为两堆,使得这两堆的总石子数差最小。输入n,以及每堆石子数,输出分为两堆后的最小差值。比如,n=4,四堆石子分别有13,6,8,14颗,则可以分为13+8和14+6的两堆,它们的最小差为1。以下程序:(1)求得所有石子数total,以及它的一半half;(2)在所有石子堆中作适当选择,对每种选择方案,求不超过half的已选中堆中的石子总数的最大值max。所求即为(total-max)-max。(3)以aj表示第j堆石子数;以bj表示第j堆石子是否被选中,如果bj=1,表示第j堆被
14、选中,如果bj=0表示第j堆没有被选中。(4)各种方案的表达及次序如下:以0000(均不选中),00.01(只选中第n堆石子),00.10(只选中第n-1堆石子),0011(选中第n-1堆和第n堆石子),00100(选中第n-2堆石子),00101(选中第n-2堆和第n堆石子),1111(选中所有n堆石子)。请完善该程序。program xx07_6;const maxn=20;var n,i,j:longint; total,half,sum,max:longint; a:array1.maxn of longint; b:array0.maxnof 0.1;begin readln(n);
15、 total:=0; for i:=1 to n do begin read(ai); total:=total+ai; end; half:=total div 2; max:=0; for i:=1 to n do bi:=0; i:=n; while i0 do begin sum:=0; for j:=1 to n do sum:=_; if_ then max:=sum; i:=n; while (i0) and (bi=1) do i:=_; if i0 then begin bi:=_; for j:=i+1 to n do bj:=0; end; end; writeln(to
16、tal-max-max);end.宁波市第22届中小学生计算机程序设计竞赛预赛答卷(小学组)(考试时间120分钟,满分100分)所有提交的答案都以写在答卷纸上的为准,写在试卷上的一律无效学校姓名得分一、选择题:请选出各题正确答案的代码(A/B/C/D)(每题2分,共40分)题号12345678910答案题号11121314151617181920答案二、阅读pascal程序并写出运行结果(每题6分,共18分)第1题:请写出程序运行后变量sum的值(6分)。sum的值为:_ 第2题:请写出程序运行后变量ok的值(每空3分,共6分)输入:123,ok的值为:_ 输入:121,ok的值为:_ 第3题
17、:请写出程序运行后变量sum的值(6分)。sum的值为:_三、简答题(第1题6分,第2题8分,共14分)第1题(每小题3分,共6分):(1) (2) 第2题(每小题4分,共8分):(1) (2) 四、完善程序(第1题12分,第2题16分,共28分)第1题:(每空3分,共12分) _ _ _ _第2题:(每空4分,共16分) _ _ _ _ 宁波市第22届中小学生计算机程序设计初赛试题答题卷(小学组)学校 姓名 准考证号 一、选择题(每小题2分,共40分) 12345678910111213BACBDCABADCBC14151617181920BAABDCB二、阅读程序,并写出程序的正确运行结果(每空6分,共30分) 1、程序运行结果: sum=333 2、程序运行结果: 输入123 输出:FALSE输入121 输出:TRUE3、程序运行结果: sum=385 三、1、8条航线 2种方案2、(1)4、6、7、9根 (2)除12,18根外四、程序填空(每空5分,共30分) 1、 sum:=0 k mod i=0 1 0 2、 sum+aj*bj (summax) i-1 1