2014年宁波市第29届中小学生计算机程序设计竞赛小学组初赛试题
- 格式:pdf
- 大小:149.84 KB
- 文档页数:8
宁波市第28届中小学生计算机程序设计竞赛复赛试题(小学组)题目一览关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。
2.允许使用数学库(uses math子句),以及ansistring。
但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。
3.本次比赛允许使用64位整数类型:int64或qword。
1.哈夫曼编码(coding)题目描述哈夫曼编码是一种编码方式,是可变字长编码的一种,由Huffman 于1952 年提出。
该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫Huffman 编码。
简单地来说,就是出现概率高的字符使用较短的编码,反之出现概率低的则使用较长的编码,这便使编码之后的字符串的平均期望长度降低,从而达到无损压缩数据的目的。
现在请你模拟这样的原则对给定的一个字符串进行字母统计。
输入输入文件coding.in,只有一行,是一个字符串,由小写英文字母组成,长度不超过255 个字符。
输出输出文件coding.out,有若干行,每行有两部分组成:一个字母和该字母出现的频率,中间用一个空格分隔,并按频率高低排列,频率相同时则按字母的ASC 码的先后顺序排列。
样例输入soon样例输出o 2n 1s 12. 立方和(cubsum)题目描述现给出一个三位数,先对这个三位数的各位数字的立方求和,然后再对求出的和中的各位数字的立方求和,如此一直继续下去,判断最后能否得到一个不再变化的固定值。
如能得到一个固定值,就求出这个固定值;如果不能,则输出提示信息“error” 。
另外请注意,在求解过程中,若某一次求和过程中得到的值超过三位数,则取该数的低三位继续往下运算……例如,对于三位数111,则第一次计算应是1×1×1+1×1×1+1×1×1=3,第二次计算应是0×0×0+0×0×0+3×3×3=27,第三次计算应是0×0×0+2×2×2+7×7×7=351,第四次计算应是3×3×3+5×5×5+1×1×1=153,第五次计算应是1×1×1+5×5×5+3×3×3=153,与第四次计算的结果相同,这时可不再计算,输出固定值153。
宁波市第29届中小学生程序设计竞赛复赛试题(初中组)解题报告第一题战马列队题意不难理解,因为n<=1000,我们可以枚举将战马替换后,最后一匹白马在队列中的位置,这样只需统计这匹马之前(包括这匹马)棕马的数量s1,这匹马之后(不包括这匹马)白马的数量s2,将它们替换就能达到我们需要的队列,那么以这个位置作为最后一匹白马的答案就是替换的马匹数即ans=s1+s2。
最终答案即为所有ans中的最小值。
别忘了n<=1000,string存不下,要用ansistring。
代码如下:vars:ansistring;i,j,n,ans,cnt:integer;beginreadln(n);readln(s);ans:=n;for i:=1 to n do begin // i即为枚举的最后一匹白马的位置cnt:=0;for j:=1 to i doif s[j]='B' then inc(cnt);for j:=i+1 to n doif s[j]='W' then inc(cnt);if ans>cnt then ans:=cnt;end;writeln(ans);end.第二题马农这道题首先需要一个常用的小技巧,我们开一个二维数组s[i,j],表示左上角为(1,1),右下角为(i,j)的子矩形中所有数字的和,我们可以用一个递推公式快速求出s数组,即s[i,j] = s[i-1,j]+s[i,j-1]-s[i-1,j-1]+a[i,j] ,其中a[i,j] 表示(i,j)这个格子上的数字。
那么求出s数组有什么用呢?利用s数组,可以迅速求出左上角为(x,y),右下角为(z,u)的子矩形中所有数字的和,公式为ans=s[z,u]-s[z,y-1]-s[x-1,u]+s[x-1,y-1]。
其实上述技巧,在前几年的宁波赛中出现过,即为小学组的题目《方格稿纸》,当然我们是初中组,自然难度要比小学组大,了解上述小技巧后,我们开始来解决这道题目。
宁波市中小学生程序设计竞赛小学组初赛模拟试题一一.选择题(每题2分,共30分。
每小题只有唯一一个正确答案)1.二进制数(1011111)2的值是(A)92 (B)93 (C)94 (D)952.每个不同的二进制数可以表示一种状态,要表示256种灰度的颜色,至少需要的二进制位数是(A)3 (B)4 (C)7 (D)83.以下运算结果为False的是(A)not(5>=5) (B)(5>=4) and (7<8)(C)not(false) (D)(5<4) or (7>5)4.文本文件的扩展名是(A)pas (B)exe (C)bat (D)txt5.下列属于信息技术领域中存储容量单位的是(A)ROM (B)GB (C)MP3 (D)DVD6.全国青少年信息学奥林匹克联赛的英文简称是(A)IOI (B)NOI (C)GDOI (D)NOIP7.已知一维数组定义a:array[0..100]of longint;每个元素占用4个字节,则数组a需要占用的总字节数是(A)100 (B)101 (C)400 (D)4048.在pascal系统中,下列可作为变量名的是(A)3a (B)do (C)array (D)mp39.在pascal系统中,保存文件的快捷键是(A)F2 (B)F3 (C)Ctrl+c (D)Ctrl+v10.用Free Pascl编程时,你写了以下的语句assign(output,'abc.out');rewrite(output);在该程序中必须包含的语句是(A)close(input) (B)close(output)(C)close(abc.out) (D)close(‘abc.out’)11. 有以下的程序:var s:string; beginreadln(s);writeln(s[1]);end.该程序运行时,输入“ABC ”后按回车键,输出为(A )A (B )B (C )C (D )ABC12.程序设计竞赛使用的Free Pascal 语言中,Maxint 的值等于(A )1024 (B )32767 (C )65536 (D )-3276813. 在Pascal 程序中,以下结果为整数型的是(A )4 / 2 (B )19 div 3 (C )abs(3.1-1.1) (D )sqrt(9)14. 有以下程序段S:=0;for i:=1 to 10 do if i mod 2=0 then s:=s+1; writeln(s);虚线框内的程序控制结构属于(A )顺序结构 (B )循环结构 (C )选择结构 (D )树型结构15. 能随机产生二位正整数的pascal 表达式是(A )random(99) (B )random(100) (C )random(89)+10 (D )random(90)+10二.问题求解(每题5分,共10分)1.在不超过100的正整数中,不能被2整除、也不能被3整除的整数个数是多少?2.在四行四列的表格中,每格放有0或1的数字;以1表示此处有障碍, 0表示人可以从此处通过。
宁波市第24届中小学生计算机程序设计竞赛复赛试题(小学组)题目一览关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。
2.允许使用数学库(uses math子句),以及ansistring。
但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。
3.本次比赛允许使用64位整数类型:int64或qword。
1.甜蜜的烦恼(space)题目描述【问题描述】最近珍珍学会了使用电脑,她发现可以利用电脑解决很多事情,并且效率会快许多。
比如,在一份名单中找某个人的姓名,在以前,她得依次逐个查找,速度慢又很容易看错。
现在,她使用菜单命令:“编辑”-“查找”(或按Ctrl+F键),在弹出的查找对话框中,输入要查找的姓名,电脑就会找到要找的姓名或告诉你不存在你要找的姓名了。
真是又快又准,太爽了!今天珍珍在查找时,输入“张明”,电脑告诉她不存在,但她不经意间发现“张明”是有的!原来,提供原始名单的人,为了格式漂亮在中间输入了一个空格,因此电脑找不到了。
她想这容易解决,继续查找“李达”,没有?查找“李达”(中间一个空格),还没有?原来某些姓名中间的空格数是有多个的!珍珍想删除所有姓名中间的空格,但由于名单很多,一个一个删除太慢了,所以她找到了会编程解决问题的你,请你写一个程序,删除所有名单中间的空格。
输入【输入】输入文件space.in的第一行只有一个正整数n,表示名单中共有n个人的姓名。
第二行至第n+1行共n行,每行是一个人的姓名(由大小写英文字母以及字母之间的空格组成)。
输出【输出】输出文件space.out有n+1行,第一行只有一个正整数,表示总共删除的空格数。
第二行至第n+1行共n行,每行表示一个删除空格后的姓名(按照输入姓名的次序)。
鄞州区小学生计算机程序设计竞赛(两小时完成)◆◆请将正确答案在答题卷上填写,在本试题卷上答题无效◆◆一、选择题(1.5*15)1)下列标识符哪个是合法的( )。
A、abcB、x#C、beginD、1a2)下列函数值是整型的是()A.chr(23)B.ord(x)C.pred(x)D.succ(x)3)下列函数值不可能是布尔类型的是()A.odd(g)B.ord(g)C.pred(g)D.succ(g)4)I nteger类型的数据范围是()A.-32767~32767B.0~32767C.-32768~32767D.-32767~327685)设x是实型变量,下列表达式能将x四舍五入后保留三位小数的是()A.round(x)B.round(x)/1000C.round(x*1000)/1000D.round(x*100)/1006)下列表达式的值为FALSE的是()A.Odd(True(7.49))B.Round((Abs(-9.5)))<10C.Not(‘9’<’100’)D.Ord(Chr(Pred(8)))>=77)判断变量ch的值是否为小写字母,下列表达式正确的是()A.not(ch<’a’)or(ch>’z’)B.’a’<=ch<=’z’C.(ch>=a)and(ch<=z)D.ch>=’a’ and ch<=’z’8)表达式Chr(Ord(‘A’)+4))的值是()A.’D’B.‘E’C.69D.1019)设a[1]=1,a[2]=2,a[3]=3,a[4]=4,a[5]=5,a[6]=6,且i=1,j=2,k=3,m=4下列变量的值等于3的是()A.a[i*j]B.a[a[k-i]+3]C.a[m div j]D.a[a[j+k-2]]10)十进制数2011等值于八进制数()A.4033B.3755C.4003 D 3733.11)下列无符号数中,最小的数是()A.(11011001)2B.(31)10C.(37)8D.(2A)1612)十进制算是表达式:5*512+7*64+4*8+5的运算结果,用二进制表示为()A.101101100101B.101111100101C.111111100101D.11101111011113)十进制数13/128可用二进制数码序列表示为()A.1101/1000000B.1101/10000000C.0.001101D. 1011/1000000014)已知二进制数x =(0.1011010)2 ,则[x/4]=( )A.0.01011101B.111101100C.0.00101101D.0.101101015)由4个a,3个b和1个c构成的所有字符串中,包含字串”abc”的共有( )个A.30B.60C.120D.48二、填空题1、基础知识填空(1*10)1)计算机语言分为___________语言、______________语言和____________语言。
宁波市第29届中小学生程序设计竞赛复赛试题(初中组)比赛时间:2014年3月29日上午9:00-12:00(请选手务必仔细阅读本页内容)四.运行内存限制五.注意事项1、文件名(程序名和输入输出文件名)必须使用小写。
2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。
1.战马列队(queue.pas/c/cpp)【问题描述】马年到了,也到了检阅战马的时候。
战马分为白色和棕色两种,一字排开,指挥官希望他的战马队列尽可能整齐好看,将相同颜色的战马放在一起。
大部分人都喜欢高头白马,因此,指挥官要求白马排在前面,棕马排在后面。
现在,N 匹战马都已经在广场列队。
为了达到要求,指挥官可以调换任意一个位置上的战马(有充足的备用战马)。
问至少调换多少匹可以达到要求。
【输入】第一行一个整数N,表示已经排队的战马数量。
第二行一个字符串,表示当前队列从前到后战马的颜色,只包含两种字符,"W"表示白马,"B"表示黑马。
【输出】输出一个数字,表示至少需要调换多少匹战马。
【样例1解释】已经符合白马在前,棕马在后,不需要调换。
【样例2解释】可以把棕马都换成白马WWWWW,或者WWWBB,都是符合要求的队列,至少调换2匹。
【数据范围】30%的数据N<=20。
70%的数据N<=500。
100%的数据N<=1000。
2.马农(farmer.pas/c/cpp)【问题描述】在观看完战马检阅之后,来自大草原的两兄弟决心成为超级“马农”,专门饲养战马。
兄弟两回到草原,将可以养马的区域,分为N*N的单位面积的正方形,并实地进行考察,归纳出了每个单位面积可以养马所获得的收益。
接下来就要开始规划他们各自的马场了。
首先,两人的马场都必须是矩形区域。
同时,为了方便两人互相照应,也为了防止马匹互相走散,规定两个马场的矩形区域相邻,且只有一个交点。
最后,互不认输的两人希望两个马场的收益相当,这样才不会影响他们兄弟的感情。
中小学生程序设计挑战赛初赛测试题1.1946年在美国宾夕法尼亚大学问世的 ENIAC 计算机主要由()器件组成。
[单选题] *A. 晶体管B. 电子管(正确答案)C. 小规模集成电路D. 大规模集成电路2. 下列哪一个程序设计语言不支持面向对象程序设计()。
[单选题] *A.C++B.JavaC.PHPD.C(正确答案)3. 在 C++中,要定义一个存储字符型数据的变量,其合适的数据类型是()。
[单选题] *A.char(正确答案)B.floatC.doubleD.bool4.4KB 的内存能存储()个汉字的机内码。
[单选题] *A.1024B.2048(正确答案)C.512D.40965. 下列选项中,说法错误的是()。
[单选题] *A. 算法是指解决问题的方法和步骤B. 算法的描述方法有多种C. 算法是唯一的(正确答案)D. 算法的步骤是有限的6. 下列各种基本数据类型说明符中表示单精度实型数的是()。
[单选题] *A.intB.boolC.float(正确答案)D.char7. 下列选项中,属于计算机硬件系统的是()。
[单选题] *A.IE 浏览器B.QQC.WordD. 显示器(正确答案)8. 十进制数3.75转成二进制数是()。
[单选题] *A.10.01B.11.11(正确答案)C.10.11D.11.1019. 下列选项中,能用枚举算法求解的是()。
[单选题] *A. 计算平行四边形面积B. 求100 以内的素数(正确答案)C. 求一个四位数的个位D. 将二进制转换为十进制10. 如果a,b,c 均为整型变量,其中 a=7,b=8, 执行以下语句后,变量a,b 的结果与其它几项不同的是( )。
[单选题] *A.a=a+b;b=a-b;a=a-b;B.c=a+b;a=c-a;b=c-b;C.c=a*b;a=c/a;b=c/b;D.c=a;b=c;a=b;(正确答案)11. 在 C++中,把代数式(x+1)²写成 C++表达式,正确的是()。
宁波市第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. 下列关于CES中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) (– 1)/2 (B) (C) (– 1)/2 (D)7. 十进制数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构成字符串。
2014年江北区中小学生计算机程序设计比赛题关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。
2.允许使用数学库(uses math子句),以及ansistring。
但不允许使用编译开关(最后测试时pascal 的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。
二.关于C++语言中模板使用的限制说明1.允许使用的部分:标准容器中的布尔集合,迭代器,串,流。
相关的头文件:<bitset > <iterator > <string > <iostream >2.禁止使用的部分:序列:vector,list,deque序列适配器:stack, queue, priority_queue关联容器:map, multimap, set, multiset拟容器:valarray散列容器:hash_map, hash_set, hash_multimap, hash_multiset所有的标准库算法相关头文件:<vector > <list > <deque > <stack > <map > <set > <algorithm >1.纸牌游戏(zp.pas)【问题描述】近日,小胡与小金迷上了纸牌游戏。
这个纸牌是小胡和小金同学自制的,每个纸牌上标上了一个整数。
玩法很简单,每人发到n 张纸牌,各自把纸牌上的数字加起来,看谁的和最大,谁就赢了! 【输入文件】文件名:zp.in第一行有1个整数n ,表明每个人发到n 张牌。
第二行有n 个整数,表明是小胡纸牌上的各个数字,每个整数之间有一个空格。
第三行有n 个整数,表明是小金纸牌上的各个数字,每个整数之间有一个空格。
宁波市第25届中小学生计算机程序设计竞赛复赛试题(小学组)比赛时间:2010年4月18日上午9:00—12:00题目一览关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。
2.允许使用数学库(uses math子句),以及ansistring。
但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。
3.本次比赛允许使用64位整数类型:int64或qword。
1. 折纸(folding)【题目描述】小猪上幼儿园的时候,报名参加了折纸兴趣小组。
他表现出了极大的热情,折出了n件折纸作品。
他的作品只有3种,分别是长方形、正方形和三角形。
小猪很想知道他的n件折纸的周长之和。
【输入】输入文件folding.in的第一行只有一个整数n,表示共有n件作品。
ab c三边长度分别为a,b,c的三角形,周长为a+b+c 相邻边长度分别为a和b的长方形,周长为2a+2bb形,周长为4aaa接下来n行,每行有若干个以空格分隔的整数,表示一件作品的情况。
其中第一个整数k (k=1或2或3),表示小猪制作的这件作品的类型,1表示长方形,2表示正方形,3表示三角形。
如果k为1,后面会跟二个正整数a和b,表示长方形的二条相邻边的长度分别为a和b;如果k为2,后面会跟一个正整数a,表示正方形的四条边的长度均为a。
如果k为3,后面会跟三个正整数a、b和c,表示三角形三条边的长度分别为a、b和c(输入数据保证a,b,c能构成三角形,不需验证)。
【输出】输出文件folding.out中仅有一行,该行只有一个整数,表示所有作品的周长之和。
【样例输入】31 2 32 43 6 7 8【样例输出】47【样例说明】共有3件作品:第一件作品:二条相邻边长度分别为2和3的长方形;第二件作品:边长为4的正方形;第三件作品:三条边长度分别为6、7、8的三角形。
宁波市第29届小学生计算机程序设计竞赛试卷及答案2014年宁波市第29届中小学生计算机程序设计竞赛小学组初赛试题(说明:答案请写在答题卷上。
考试时间120分钟,满分100分)一、选择题(每题有且仅有一个正确答案,选对得1.5分,选错、不选或多选均不得分)1. 存放一个ASCII码需要的字节数为(A)1字节(B)2字节(C)0.5字节(D)4字节2. 下列软件中不属于操作系统的是(A)win7 (B)linux (C)winxp (D)winrar3. 下列数中最小的是(A)(7)8(B)(11)7(C)(15)10(D)(11)54. 世界上第一台电子计算机诞生于(A)1949 (B)1849 (C)1946 (D)18935. 在下面各奖项中,为计算机科学与技术领域作出杰出贡献的科学家设立的奖项是(A)沃尔夫奖(B)诺贝尔奖(C)菲尔兹奖(D)图灵奖6. 操作系统的文件夹采用的层次结构为(A)网状(B)链状(C)树状(D)块状7. 在pascal语言中,pos(‘a’,’bbccc’)的返回值为(A)0 (B)-1 (C)5 (D)’a’8. 在pascal语言中,下列语句属于正确的赋值语句的是(A)s := 1 (B)s = a+1 (C)a+1 = s (D)a+1 := s9. 计算圆周长的算法描述如下:①输入圆半径r;②计算圆周长a(计算公式为a = 2πr);③输出结果;④结束。
该算法属于(A)枚举算法(B)递归算法(C)排序算法(D)以上都不是10. 现有一个数列A为1,2,3,另一个数列B为3,2,1,若采用选择排序分别的两个数列实现从小到大排序,则两个数列需要的比较次数为(A)A比B多(B)A和B一样多(C)B比A多(D)不一定11. 在下述程序段中,判断语句a <> 100被执行的次数为a := 99while a <> 100 doa := a + 1;(A)0 (B)1 (C)2 (D)312. 下面关于堆栈和队列的说法中错误的是(A)队列是一种先进先出的线性表(B)堆栈可以选择栈的任意位置进行弹出操作(C)堆栈只能选择栈顶进行压入操作(D)堆栈是一种先进后出的线性表13. 下列说法中不属于计算机病毒特点的是(A)破坏性(B)传染性(C)潜伏性(D)抗药性14. 程序设计的三种基本结构是(A)主程序、函数、过程(B)顺序、选择、循环(C)变量、常量、不定量(D)数组、字符串、浮点型15. 下列内容中属于信息的是(A)报纸(B)黑板(C)课本(D)黑板上的放假通知16. 在pascal语言中,记录类型用到的保留字为(A)record (B)struct (C)baidu (D)then17. 某班有30个同学报名参加100、400、800m 3个运动项目比赛。
宁波市第20届小学生计算机程序设计初赛试题(说明:考试时间90分钟,满分120分)一、选择题(每小题2分,共40分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项写在答题卷相应位置上,答在试卷上不得分。
1、一个完整的计算机系统应包括____。
A主机,键盘和显示器B计算机及其外部设备C系统硬件和系统软件D硬件系统和软件系统2、十进制数2005转换为二进制,结果是()。
A、11111010101B、11000101101C、11111001011D、101110101013、下列电子邮件地址,正确的是()。
A john@B cai@jcc.pc.tool@.jpC162.105.111.22D 4、彩色显示器所显示的五彩斑斓的色彩,是由红色,蓝色和()色混合而成的A、紫色B、白色C、黑色D、绿色E、橙色5、目前世界上计算机的工作原理是________,它来源于________提出的________原理。
A、存储程序和程序控制、冯。
诺依曼、程序设计B、存储程序控制、冯。
诺依曼、存储程序和程序控制C、存储程序、Taring、程序控制D、存储程序控制、Turing、程序设计6、关于计算机病毒,下列说法正确的是()A、病毒是由软盘表面粘有灰尘造成的B、病毒常隐藏在数据文件或系统中,具有隐蔽性和潜伏性C、大部分病毒不具有传染性和破坏性D、病毒会对计算机造成轻或重的损害,但制造病毒的人并不构成犯罪7、计算机网络的目标是实现()。
A、数据处理B、文献检索C、资源共享和信息传输D、信息传输8、目前比较流行的网络编程语言是()A、JavaB、FoxPrlC、PascalD、C9、根据域名代码规定,域名为表示的网站类别应是()。
A、教育机构B、军事部门C、商业组织D、非营利组织10、计算机的硬件系统包括()。
A、运算器、控制器、存储器、输入设备、输出设备B、控制器、运算器、输入和输出设备C、中央处理器、输入和输出设备D、主机和键盘、显示器11、算法是指()A、为解决问题而编制的计算机程序B、为解决问题而采取的方法与步骤C、为解决问题需要而采用的计算机编程语言D、为解决问题而采用的计算方法12、Internet上访问Web信息时用的工具是浏览器。
宁波市第24届中小学生计算机程序设计竞赛一、选择题(1.5每题)1、以下不属于程序的基本结构的是:顺序结构选择分支结构循环结构树形结构2、由2个a,2个b和2个c构成的所有字符串中,包含子串“abc”的共有()个。
20 8 16 243、假设A=TRUE,B=TRUE ,C=TRUE, D=FALSE,逻辑运算表达式A and B or C and D 的值是:false true 0 14、下列数种最大的数是()(11111)2(F)16(30)10(35)85、布尔型(boolean)和字符型(char)变量所占用的存储的空间大小关系是()布尔型大字符型大一样大因操作系统而异6、用八位二进制能够表示的最大二进制数是:()99999999 11111111 255 2657、有一个10行10列的对称矩阵,采用压缩存储方式来存储该矩阵的上三角元素(行优先次序),第1行第1列的存储地址为s,每个元素占用2个存储空间,则第8行第8列元素的首地址为:()s+100 s+98 s+72 s+708、已知一棵二叉树的前序遍历为JFDECBHAIG,中序遍历结果为DFEJAHBICG,则这棵二叉树的深度为: 6 5 4 39、已知一棵二叉树的叶子节点数为100,在有二个子女的结点数为:101 100 99 不能确定10、算术表达式(3a+1)÷5在程序设计中表达为513a(3a+1)/5 (3*a+1)\5 (3*a+1)/511、将数组{ 1、2、4、3、5、6、7、8 }中的元素用插入排序的方法从大到小的顺序排列,需要比较的次数是:7 27 28 6412、算式(2009)16-(2008)10-(2007)8 的结果是:()(16170)8(7234)10(1C36)16(1110000111000)213、计算机内部使用的数是:二进制数八进制数十进制数十六进制数14、当n大于100万时,下列程序段哪个运行最快:15、当原始待排序数据为从小到大排列时,运行时间比原来数据为乱序时快的算法是:选择排序归并排序插入排序快速排序16、关于算法的下列叙述不准确的是:A、算法的每一步必须没有歧义,不能有半点含糊B、算法必须有输入C、同一问题可能存有多种不同的算法D、同一算法能够用多种不同的形式来描述17、for语句中的循环变量,其类型必须是:A、整型B、实型C、自定义类型 D 有序类型18、下列各种奖项中,为计算机领域作出杰出贡献的科学家设立的奖项是:A 沃尔夫奖B 图灵奖C 诺贝尔奖D 菲尔兹奖19、栈是一种后进先出的数据结构,他有压入(push)和弹出(pop)两种操作。
2014年海曙区信息学竞赛初赛试题一、选择题(共20题,每题1.5分,共计30分。
每题有且仅有一个正确答案)1. 二进制数11001111转为八进制后值是()(A)207 (B)217 (C)317 (D)3272. 在计算机系统中,数值一律用补码来表示(存储)。
那么在Free Pascal的中,-15用shortint 变量类型存储在计算机内,其二进制编码为:()(A)10001111 (B)00001111 (C)11110000 (D)111100013. 如果x=5,y=6,则下列表达式的值为True的是()(A)x=y (B)x>=y(C)(x>6) or (y<5) (D)(x>=5) and (y<=6)4. 一台计算机的内存容量是4GB,那么4GB =()字节。
(A)4*1000 (B)4*1024(C)4*1024*1024 (D)4*1024*1024*10245.已知二维数组定义a:array[0..100,0..3] of real;则数组a需要存储空间的字节数是()(A)1212 (B)2424 (C)3636 (D)24006. 在Free Pascal中产生一个随机整数赋给R,要求100≤R≤200,正确的语句是()(A)R:=random(200)+100 (B)R:=random(101)+100(C)R:=random(99)+100 (D)R:=random(100)+1007.IPv6是用于替代现行版本IPv4的下一代IP协议,其中IPv6地址长度为()(A)32位(B)64位(C)128位(D)256位8. 以下关于防火墙系统描述不正确的是()(A)可以保护内部网中的信息、资源不受来自因特网中非法用户的侵犯(B)控制和防止内部网中有价值的数据流入因特网(C)控制和防止来自因特网的无用垃圾数据流入内部网(D)检测和识别内部网中未授权访问或异常现象9. 计算机界最负盛名、最崇高的一个奖项,对获奖条件要求极高,评奖程序又是极严,一般每年只奖励一名计算机科学家,只有极少数年度有两名合作者或在同一方向作出贡献的科学家共享此奖,有“计算机界的诺贝尔奖”之称,其奖项名称取自()(A)比尔·盖茨(B)冯·诺依曼(C)戈登·摩尔(D)阿兰·麦席森·图灵10. HTML指的是( )(A)超文本标记语言(B)低级程序设计语言(C)高级程序设计语言(D)面向对象的网页设计语言11. 苹果手机iPhone使用的操作系统是()(A)iOS (B)Android (C)Symbian (D)Windows Phone12.下列语句在Free Pascal中不合法的是()(A)s:=copy(‘abcdefg’,3,30);(B)x:=ord(5=3);(C)i:=(33 xor 5) and (3<5);(D)val(‘3’,x);13. 有以下的程序段:k:=0;for i:=1 to n-1 dofor j:=n downto i+1 doif a[j]>a[j-1] then inc(k);writeln(k);当n=10时,运行该程段,输出k值的最大值是( )(A)10 (B)45 (C)55 (D)10014.以下程序段for i:=1 to n do beginh:=1;r:=n;m:=(h+r) div 2;while (h<=r) and (a[i]<>b[m]) do beginif a[i]>b[m]then h:=m+1else r:=m-1;m:=(h+r) div 2;end;if a[i]=b[m] then writeln(‘Yes’) else writeln(‘NO’);end;该程序段中算法的时间复杂度为( )(A)O(logn) (B)O(nlogn) (C)O(n) (D)O(n^2)15. 体育课的铃声响了,同学们都陆陆续续地奔向操场,按老师的要求从高到矮站成一排。
2014年宁波市第29届中小学生计算机程序设计竞赛小学组初赛试题一、选择题(每题有且仅有一个正确答案,选对得1.5分,选错、不选或多选均失分)1.存放一个ASCII码需要的字节数为(A)1字节(B)2字节(C)0.5字节(D)4字节2.下列软件中不属于操作系统的是(A)win7(B)linux(C)winxp(D)winrar3.下列数中最小的是(A)(7)8(B)(11)7(C)(15)10(D)(11)54.世界上第一台电子计算机诞生于(A)1949(B)1849(C)1946(D)18935.在下面各奖项中,为计算机科学与技术领域作出杰出贡献的科学家设立的奖项是(A)沃尔夫奖(B)诺贝尔奖(C)菲尔兹奖(D)图灵奖6.操作系统的文件夹采用的层次结构为(A)网状(B)链状(C)树状(D)块状7.在pascal语言中,pos(‘a’,’bbccc’)的返回值为(A)0(B)-1(C)5(D)’a’8.在pascal语言中,下列语句属于正确的赋值语句的是(A)s:=1(B)s=a+1(C)a+1=s(D)a+1:=s9.计算圆周长的算法描述如下:①输入圆半径r;②计算圆周长a(计算公式为a=2πr);③输出结果;④结束。
该算法属于(A)枚举算法(B)递归算法(C)排序算法(D)以上都不是10.现有一个数列A为1,2,3,另一个数列B为3,2,1,若采用选择排序分别的两个数列实现从小到大排序,则两个数列需要的比较次数为(A)A比B多(B)A和B一样多(C)B比A多(D)不一定11.在下述程序段中,判断语句a<>100被执行的次数为a:=99while a<>100doa:=a+1;(A)0(B)1(C)2(D)312.下面关于堆栈和队列的说法中错误的是(A)队列是一种先进先出的线性表(B)堆栈可以选择栈的任意位置进行弹出操作(C)堆栈只能选择栈顶进行压入操作(D)堆栈是一种先进后出的线性表13.下列说法中不属于计算机病毒特点的是(A)破坏性(B)传染性(C)潜伏性(D)抗药性14.程序设计的三种基本结构是(A)主程序、函数、过程(B)顺序、选择、循环(C)变量、常量、不定量(D)数组、字符串、浮点型15.下列内容中属于信息的是(A)报纸(B)黑板(C)课本(D)黑板上的放假通知16.在pascal语言中,记录类型用到的保留字为(A)record(B)struct(C)baidu(D)then17.某班有30个同学报名参加100、400、800m3个运动项目比赛。
已知有6人获100m参赛资格,8人获400m参赛资格,18人获800m参赛资格。
且其中有1人获全部3项参赛资格,则至少有()人没有获任何项目参赛资格。
(A)0(B)1(C)2(D)318.下列pascal语言的函数中,返回值不是数值类型的是(A)pos(B)copy(C)length(D)abs19.下列判断语句中,不能判断x为奇数的是(A)odd(x)=true(B)odd(x)<>false(C)x and1<>x(D)(x shr1)shl1<>x20.小李在递归函数内部定义了一个长度为100的longint数组,但是编译运行却频频报错,请问最有可能的原因是(A)代码风格不够优美(B)程序效率太低导致超时(C)显示器亮度不够(D)递归层次过多导致栈空间不足二.问题求解(每小题5分,共10分)1.在1到100的100个整数中,能被3整除且不能被4整除的数一共有个。
2.定义2个1000*1000的二维长整型数组需要的存储空间为MB。
(保留1位小数)三、阅读程序写结果(每题8分,共32分)1.Var x:longint;flag:boolean;beginread(x);flag:=false;if(x mod4=0)and(x mod100<>0)then flag:=true;if x mod400=0then flag:=true;if flag then writeln(‘leap year!’)else writeln(‘not a leap year!’);end.输入:1234输出:2.Var f:array[1..100,1..100]of longint;cnt:longint;i,j,n,t,x,y,ans:longint; beginread(n);x:=1;y:=0;for i:=1to n dobeginfor j:=1to n*2-i+1dobegininc(y);inc(cnt);f[x,y]:=cnt;end;for j:=1to n*2-i dobegininc(x);inc(cnt);f[x,y]:=cnt;end;for j:=1to n*2-i dobegindec(y);dec(cnt);f[x,y]:=cnt;end;for j:=1to n*2-i-1dobegindec(x);dec(cnt);f[x,y]:=cnt;end;end;read(t);ans:=0;for i:=1to n*2doans:=ans+f[t,i];writeln(ans);end.输入:32输出:3.Var t:longint;function f(x:longint):longint;beginif x=0then exit(0)else if x mod2=0then exit(2+f(x-1))else exit(1+f(x-1)); end;beginread(t);writeln(f(t));end.输入:2014输出:4.type arr=array[0..100000]of longint;var c,q,d,e,ans:arr;n,i:longint;procedure merge(a,b:longint);var mid,i,j,p:longint;beginmid:=(a+b)div2;if a<mid then merge(a,mid);if mid+1<b then merge(mid+1,b);p:=0;i:=a;j:=mid+1;while(i<=mid)and(j<=b)dobeginif c[i]>=c[j]thenbeginp:=p+1;d[p]:=c[i];e[p]:=q[i];i:=i+1;endelsebeginp:=p+1;d[p]:=c[j];e[p]:=q[j];j:=j+1;inc(ans[e[p]],mid-i+1);end;end;while(i<=mid)and(j>b)dobeginp:=p+1;d[p]:=c[i];e[p]:=q[i];i:=i+1;end;while(i>mid)and(j<=b)dobeginp:=p+1;d[p]:=c[j];e[p]:=q[j];j:=j+1;end;for i:=a to b dobeginc[i]:=d[i-a+1];q[i]:=e[i-a+1];end;end;beginreadln(n);for i:=1to n dobeginread(c[i]);q[i]:=i;end;merge(1,n);for i:=1to n-1dowrite(ans[i],’,’);writeln(ans[n]);end.输入:543125输出:四.程序填空(前5空,每空2分,后6空,每空3分,共28分)1.问题描述:小明手头有一份红十字会的捐款名单,但是这份名单被外星人恶意破坏过,你的任务是帮助小明去恢复这份名单。
由于外星人低估了你的智商,破坏的规则非常简单,先是将姓名和捐款金额联接到一行,再将这一行内容按顺序切成多行。
输入格式:有很多行,表示输入的字符串。
输出格式:输出共有多行,其中每一个人的信息一行,分别是姓名和金额,中间用空格隔开。
输入样例:zhangsan890liuhua111输出样例:zhangsan890liuhua111vars,t:ansistring;x,len,i:longint;flag:boolean;begins:=‘‘;while not⑴dobeginreadln(t);s:=s+t;end;len:=length(s);t:=‘‘;x:=0;flag:=false;for i:=1to len dobeginif(s[i]<=‘9’)and(s[i]>=‘0’)thenbeginx:=⑵+ord(s[i])–ord(‘0’);if flag=false then⑶;endelsebeginif flag=true thenbegin⑷;x:=0;t:=‘‘;⑸;end;t:=t+s[i];end;end;writeln(t,‘‘,x);end.2.问题描述:有一天小明来到一台神奇的取款机前,取款机可以无限提供某些特定面额的货币,小明想知道他要取出x元共存在几种不同的方案(取出顺序的不一样认为是相同的方案,具体以样例为准)。
输入格式:第一行一个整数m,表示提供的货币种数。
第二行共m个用空格隔开的数字,表示其具体面额。
第三行一个整数x,表示需要取出的钱额。
输出格式:输出一个整数,表示方案数。
输入样例:31254输出样例:3输出说明:取出4元的3种方案分别为(2,2),(1,1,2),(1,1,1,1)。
vardp:array[⑹..10001]of longint;a:array[1..10]of longint;i,j,x,m:longint;beginread(m);for i:=1to m do read(a[i]);⑺;fillchar(dp,sizeof(dp),0);dp[0]:=⑻;for i:=1to m dofor j:=0to x dobeginif⑼then break;if dp[j]=0then⑽;dp[j+a[i]]:=dp[j+a[i]]+⑾;end;writeln(dp[x]);end.。