2015年宁波市第30届中小学生计算机程序设计竞赛小学组初赛试题(说明:答案请写在答题卷上。考试时间120分钟,满分100分)一、选择题(每题有且仅有一个正确答案,选对得1.5分,选错、不选或多选均不得分)1.下列不能描述鼠标性能的指标是(A)刷新率(B)CPI(C)DPI(D)UPI2.下列关于4G网络的说法中错误的是(A)TD-LTE是其中一种制式(B)FDD-LTE是其中一种制式(C)4G是集3G与WLAN为一体(D)理论上其带宽速度可以达到1000MB每秒3.下列关于CES2015中Intel公司新推出的CPU产品的说法中错误的是(A)是14nm工艺芯片(B)代号为Broadwell(C)比Skylake架构更为先进(D)将首先用于笔记本和移动领域4.15以内的正整数(包含15)互质的数共有多少对?(a,b)和(b,a)算同一对。(A)71(B)72(C)73(D)745.给定序列a=(5,3,1,2,4),每次可以交换序列中的两个数,代价为这两个数的和。那么将a排序的最小代价是多少(A)18(B)19(C)17(D)206.一棵有根树中,每个非叶节点都有三个儿子,所有叶结点深度相同。若这棵树中存在一条最长的路径有9个结点,则这棵树共有多少结点(A)(3^5-1)/2(B)3^5(C)(3^6-1)/2(D)3^67.十进制数174转化成二进制是(A)10011110(B)10010011(C)10110000(D)101011108.已知A=True,B=False,C=True,下列逻辑表达式中值为真的是(A)(A∨C)∧B(B)(A∧B)∨(B∧C)(C)(A∨C)∨(A∧(B∨¬C))(D)(¬(A∧C))∨(B∧C)9.以下哪个顺序描述了一个编译器(A)语法分析器,语义分析器,词法分析器,中间代码生成器,机器无关代码优化器,代码生成器,机器有关代码优化器(B)语法分析器,语义分析器,词法分析器,中间代码生成器,机器有关代码优化器,代码生成器,机器无关代码优化器(C)词法分析器,语法分析器,语义分析器,中间代码生成器,机器无关代码优化器,代码生成器,机器有关代码优化器(D)词法分析器,语法分析器,语义分析器,中间代码生成器,机器有关代码优化器,代码生成器,机器无关代码优化器10.考虑所有只由0、1、2组成的字符串。在它们构成的集合之上定义一个布尔型函数P。现在告诉你:1)P(01)=true。2)若P(x+1)=true,则P(x+12)=true。3)若P(0+x)=true,则P(0+x+x)=true。4)若P(x+111+y)=true,则P(x+2+y)=true。5)若P(x+22+y)=true,则P(x+y)=true。以上,加号为字符串的连接,x和y代表任意由0、1、2组成的字符串。以下命题必定为真的有(A)P(111)=true(B)P(011112)=true(C)P(012121)=true(D)P(02)=true11.以下哪个出栈序列不能由入栈序列(1,2,3,4,5)得到(A)(1,2,3,4,5)(B)(5,4,3,2,1)(C)(2,4,1,3,5)(D)(2,5,4,3,1)12.下列最有可能会引起freepascal中201错误的是(A)数组越界(B)超时(C)超空间(D)代码长度太长13.请计算下面代码的时间复杂度i:=1;while(i=n)dobeginj:=1;while(j=n)dobeginans:=ans+1;j:=j+1;end;i:=i+j;end;(A)O(n^2)(B)O(n)(C)O(1)(D)O(n^n)14.表达式19shr1的结果为(A)9(B)8(C)10(D)3815.在pascal表达式中,变量a的初始值是24,变量b的初始值是5,变量c的初始值是3。下列哪个表达式的运算值和其他不一样(A)sqrt(a+1)(B)trunc(a/b)(C)round(a/b)(D)cdiva+b16.对于一组数{6、13、27、29、52、27、81},现要对其从小到大排序,采用纯粹的冒泡排序算法,需要两两比较次数是(A)42(B)21(C)49(D)217.为了使用计算机对地铁入口的安保检查过程进行处理,最适合的数据结构为(A)栈(B)队列(C)堆(D)循环18.下列运算符中,运算结果一定是整型数的是(A)+(B)/(C)div(D)and19.已知存放每个integer类型的变量需要用2字节,则数组a,b:array[1..10]ofinteger需要的空间其字节数为(A)40(B)21(C)20(D)12020.设a:=”ningbooier”,从字符串变量a中提取”oier”的函数是(A)copy(a,7,4)(B)copy(a,7,10)(C)length(a,7,4)(D)insert(a,4,7)二.问题求解(每小题5分,共10分)1.在同一侧的房号为1、2、3、4的四间房里,分别住着来自韩国、法国、英国和德国的四位专家。有一位记者前来采访他们,1.韩国人说:“我的房号大于德国人,且我不会说外语,也无法和邻居交流”;2.法国人说:“我会说德语,但我却无法和我的邻居交流”;3.英国人说:“我会说韩语,但我只可以和我的一个邻居交流”;4.德国人说:“我会说我们这四个国家的语言。”按照房号从小到大排,房间里的人的国籍分别是:_______________________。2.黑白两种棋子共3000枚,分成1000堆,每堆3枚。其中只有1枚白子的共270堆,至少有2枚黑子的共420堆,有3枚白子的与3枚黑子的堆数相同。问:白子共有枚三、阅读程序写结果(每题8分,共32分)1.vara,b,c,d,n:integer;beginreadln(n);a:=ndiv1000;b:=ndiv100mod10;c:=ndiv10mod10;d:=nmod10;writeln(d*1000+c*100+b*10+a);end.输入:5340输出:_____________2.Vara,b:longint;beginreadln(a,b);while(ab)dobeginif(ab)thena:=a-belseb:=b-a;end;writeln(a);end.输入:10012输出:_____________3.varlen,i,ans:integer;s,t:ansistring;flag:boolean;cn:longint;beginreadln(cn);while(cn0)dobeginreadln(s);len:=length(s);fori:=1tolendot:=t+s[len-i+1];flag:=true;fori:=1tolen-1doif(abs(ord(s[i+1])-ord(s[i]))abs(ord(t[i+1])-ord(t[i])))thenflag:=false;if(flag)thenans:=ans+1;cn:=cn-1;end;writeln(ans);end.输入:5acxzbcxzasdgqweasdffeasde输出:_____________4.constNN=111111;vara,pre,suf,st:array[0..NN]ofinteger;n,i,x,cnt,ans:integer;functionmax(x,y:integer):integer;beginmax:=x;if(xy)thenmax:=y;end;beginreadln(n);fori:=1tondoread(a[i]);cnt:=1;st[cnt]:=n;fori:=n-1downto1dobeginx:=a[i];while(cnt0)and(x=a[st[cnt]])dodec(cnt);suf[i]:=st[cnt];inc(cnt);st[cnt]:=i;end;cnt:=1;st[cnt]:=1;fori:=2tondobeginx:=a[i];while(cnt0)and(x=a[st[cnt]])dodec(cnt);pre[i]:=st[cnt];cnt:=cnt+1;st[cnt]:=i;end;fori:=1tondoans:=max(ans,pre[i]*suf[i]);writeln(ans);end.输入:554345输出:_____________四.程序填空(前5空,每空2分,后6空,每空3分,共28分)1.问题描述:给定一个字符串S和n个字符串T,输出在T中比S长度短的字符串的个数。具体可参考样例。输入格式:第一行:字符串S第二行:n,表示共有n个字符串接下来n行,每行为T中的一个字符串输出格式:仅有一行,表示T中长度比S短的字符串个数。输入样例:ACXX3ASDDDDAAAVV输出样例:2程序清单:vars,t:ansistring;n,i,slen,tlen,ans:longint;beginreadln(s);slen:=⑴;readln(n);ans:=0;fori:=1to⑵dobegin⑶;tlen:=length(t);if⑷thenans:=ans+1;end;⑸;end.2.问题描述:给定一个序列a1,a2,……,an和一个数p,对于每一个询问(l,r),输出(al+al+1+……+ar)modp,1=n=106,1=ai=10100,1=p=108,l=r。输入格式:第一行:n和p接下来n行:每行一个数,分别表示a1,a2,……,an接下来一行:m接下来m行:每行两个数,分别为每次查询的l和r输出格式:输出共有m行,每个查询输出一个结果。输入样例:34231213113输出样例:0程序清单:vari,ans,p,n,m,j,l,r:longint;a,pre:array[0..100000]oflongint;s:string;beginreadln(n,p);fori:=1tondobeginreadln(s);a[i]:=0;forj:=1to⑹doa[i]:=(a[i]*10+⑺)modp;end;pre[0]:=0;fori:=1tondopre[i]:=⑻;readln(m);fori:=1tomdobegin⑼;ans:=⑽;if(ans0)then⑾;writeln(ans);end;end.2015年宁波市第30届中小学计算机程序设计竞赛初赛答案(小学组Pascal语言时间:120分钟)一、单项选择题(每题1.5分,共30分)题号12345678910答案DDCBAADCCB题号11121314151617181920答案CABABBBCAA二、问题求解(共2题,每题5分,共10分)1.德英法韩2.1580三、阅读程序(共4题,每题8分,共32分)1.4352.43.14.8四、完善程序(前5空,每空2分,后6空每空3分,共28分)1.length(s)2.n3.readln(t)4.tlenslen或slentlen5.writeln(ans)或write(ans)6.length(s)7.ord(s[j])-ord(‘0’)或ord(s[j])-488.(pre[i-1]+a[i])modp9.read(l,r)或readln(l,r)10.pre[r]-pre[l-1]或(pre[r]-pre[l-1])modp11.ans:=ans+p