小学生程序设计复赛练习题
宁波市第28届中小学生计算机程序设计竞赛复赛试题(小学组)

宁波市第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。
宁波市第25届中小学生计算机程序设计竞赛复赛试题(小学组)

中小学生计算机程序设计竞赛复赛试题(小学组)题目一览关于竞赛中不同语言使用限制的说明一.关于使用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件作品。
接下来n行,每行有若干个以空格分隔的整数,表示一件作品的情况。
其中第一个整数k (k=1或2或3),表示小猪制作的这件作品的类型,1表示长方形,2表示正方形,3表示三ab c三边长度分别为a,b,c的三角形,周长为a+b+c 相邻边长度分别为a和b的长方形,周长为2a+2bb形,周长为4aaa角形。
如果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的三角形。
小学生计算机程序设计竞赛试卷及参考答案

小学生计算机程序设计竞赛试卷及参考答案1、下列表达式的值为FALSE 的是( )。
A. Not( ‘90' '100 ')B.Round((Abs(-10.5))) 10C. Odd(True(98.49))D.Ord(Chr(Pred(8))) =72 、判断变量ch 的值是否为大写字母,下列表达式正确的是( )。
A. ch = 'A' and ch = 'Z'B.'A' =ch = 'Z'C.(ch =A)and(ch =Z)D. not(ch 'A' )or(ch ' Z')3、表达式Chr(Ord( ‘ a')+5)) 的值是( )。
A.'f 'B.‘E'C.102D.1014、与十进制数2014 等值的二进制数是( )。
A.11111011110B.11110011110C.10111111110D.111111110105、[x] 补码=10011101 ,其原码为( )。
A.11001111B.11100100C.11100011D.011001016、十进算术表达式:5*512+7*64 +4*8 +7 的运算结果,用二进制表示为( )。
A. 101111100111B.1111111001017、(2014)16 + (924)10 的结果是( )C. 111110100101D.1111110110117、(2014)16 + (924)10 的结果是( )A. (9036)10B. (23B0)16C. (9130)10D. (100011000110)2二、计算下列函数(1*15)1、Sqr (7)的值为( )。
2、Round(19.6) 的值为( )。
3、Round(14.4) 的值为( )。
4、int(-5.7) 的值为( ) 。
宁波市第23届中小学生计算机程序设计竞赛复赛试题(小学组)

宁波市第23届中小学生计算机程序设计竞赛复赛试题(小学组)题目一览关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。
2.允许使用数学库(uses math子句),以及ansistring。
但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。
3.本次比赛允许使用64位整数类型:int64或qword。
1.密码(mima)题目描述【问题描述】在浩浩茫茫的苍穹深处,住着玉帝和他的神仆们,他们闲谈着下界的凡人俗事,对人世间表现的聪明智慧,大加赞赏。
今天他们正在观赏大地风光人情之际,忽然从遥远的东海之滨传来一阵欢笑声,玉帝纵目望去,只见镇海中学内聚集了全宁波的中小学精英学生,他们要干什么呢?原来他们都在做一种破译密码的游戏,人们发现:一根密码棒上的数字加上另一根密码棒上的数字,就是开启天庭司粮库密码锁的的密码。
如:1233+67122=68355,则68355就是一组有效的密码。
“太简单了!”人们高呼起来,继续探索着。
“这不过是早期的密码系统而已。
”玉帝轻蔑地环顾神仆们说道。
可是,当人们演算了139513+3344=142857 后,玉帝的神色愈来愈不对了,要知道,142857是一个特别的数字,这可是天庭的机密,是谁将这些机密泄露给世人的呢?于是,玉帝搬出一张牌,对司粮库主管神农氏说:“将这张牌打出去,看看他们还逞能不?”这是天庭中一张王牌,但平凡得很,只不过将密码的位数增大到不超过200位而已,可是难就难在你看到文件:mima.in中的两个数后,必须在1秒钟内将密码输出到文件:mima.out中,否则这组密码就失效了。
玉帝还算是仁慈的,没有将更难的牌打出来,他想把天庭的粮食恩赐人间,但他绝不会给那些不动脑子的人。
现在请你解开天庭司粮库密码锁的密码,帮助人们获得天庭恩赐的粮食。
宁波市第25届小学生计算机程序设计竞赛试题及答案

宁波市第25届中小学生程序设计竞赛小学组初赛试题一、选择题(每题2分,共30分。
每小题只有唯一一个正确答案)1、在宁波市中小学生程序设计比赛复赛(上机编程)时,以下不能使用的编程语言是:(A)Turbo Pascal (B)Free Pascal (C)C (D)C++2、在Free Pascal中按功能键F7或F4时,以下叙述正确的是:(A)F4逐条语句执行(包括子程序),F7运行至光标位置(B)F7逐条语句执行(包括子程序),F4运行至光标位置(C)F4逐条语句执行(不包括子程序),F7运行至光标位置(D)F7逐条语句执行(不包括子程序),F4运行至光标位置3、使用高级语言编写的程序称之为:(A)源程序(B)编辑程序(C)编译程序(D)链接程序4、如果自己的程序进入了死循环,应当按什么键终止?(A)Ctrl+C (B)Ctrl+D (C)Alt+C (D)Alt+D5、参加宁波市中小学生程序设计比赛复赛(上机编程)时,以下哪种行为是允许的?(A)访问互联网或局域网(B)使用U盘或光盘(C)使用自带的草稿纸(D)考试时发现机器有问题,举手示意监考人员处理6、参加宁波市中小学生程序设计比赛复赛(上机编程)时,你有一个程序被判0分。
你发现程序其实是正确的,但存在以下问题,提出申诉,以下哪个申诉会被接受?(A)源程序文件名和存放源程序的目录名错误(B)只是存放源程序的目录名错误,源程序文件名是正确的(C)存放源程序的目录名正确,源程序文件名是错误的(D)根据比赛规则,以上申斥都不会被接受7、在Free Pascal语言,以下关于各种数据类型占内存空间大小的描述错误的是:(A)每个intege型占2个字节(B)每个longint型占4个字节(C)每个boolean型占2个字节(D)每个extended型占10个字节8、关键码相同的二个元素,原来在排在前面的还能保证排在前面,这种排序算法我们称它是稳定的。
小学生编程知识竞赛复习题库及标准答案

小学生编程知识竞赛复习题库及标准答案为了帮助小学生更好地准备编程知识竞赛,我们特此提供一份复题库及标准答案。
本题库涵盖了编程基础、算法与逻辑、编程语言特点等多个方面,希望能为孩子们的复提供有益的帮助。
一、选择题1. 以下哪个编程语言是面向过程的?A. PythonB. JavaC. C++D. Scratch2. 以下哪个是循环结构的基本组成?A. 判断框B. 循环框C. 开始和结束标签D. 执行框二、填空题1. 在____语言中,每个代码块以缩进方式组织,具有清晰的结构。
2. 当我们想重复执行某个操作____次时,可以使用 for 循环。
三、判断题1. Python 是一种解释型语言,因此不需要编译。
()2. 在编程中,变量可以随时改变其值和数据类型。
()四、简答题1. 请简要说明条件语句在编程中的应用场景。
2. 请简要介绍一种编程语言的函数特点及使用方法。
五、编程题1. 编写一个 Python 程序,实现以下功能:输入一个正整数,输出它的阶乘。
2. 编写一个 Scratch 程序,实现一个简单的“石头、剪刀、布”游戏。
标准答案一、选择题1. B. Java2. B. 循环框二、填空题1. Python2. 特定三、判断题1. 正确2. 正确四、简答题1. 条件语句在编程中常用于根据不同条件执行不同操作,如用户输入密码判断、成绩等级判断等。
2. 以 Python 为例,函数是一段可以重复使用的代码块,它接受输入参数并返回值。
函数的定义方法为:def 函数名(参数): 函数体。
在Python 中,无需显式声明函数类型,函数可以返回多个值,实际上是返回一个元组。
五、编程题1. Python 程序:def factorial(n):if n == 0:return 1else:return n * factorial(n-1)n = int(input("请输入一个正整数:"))print("{}的阶乘为:{}".format(n, factorial(n)))2. Scratch 程序:(此处省略 Scratch 程序截图或代码,因文本格式限制,无法展示 Scratch 程序。
宁波市第26届中小学生计算机程序设计竞赛复赛试题(小学组)-副本

宁波市第26届中小学生计算机程序设计竞赛复赛试题(小学组)题目一览关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。
2.允许使用数学库(uses math子句),以及ansistring。
但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。
3.本次比赛允许使用64位整数类型:int64或qword。
1.斯诺克(snooker)题目描述镇海中学开设了很多校本选修课程,有体育类、音乐类、美术类、无线电测向、航空航海航天模型制作等,力争使每位学生高中毕业后,能学到一门拿得出手的兴趣爱好,为将来的终身发展打下基础。
在体育类的校本选修课程中,有一门课程是斯诺克台球。
斯诺克台球比赛中有21个球,其中有15个红球,6个彩球(黄、绿、棕、蓝、粉、黑)。
甲乙二人轮流打球。
打一个红球得1分,打一个彩球的得分如下:黄球:2分;绿球:3分;棕球:4分;蓝球:5分;粉球:6分;黑球:7分;最后以得分高者为胜。
简化后的打球规则如下:1.如果有红球,第奇数次必须打红球,打过的红球从桌面上拿走;2.每打一个红球后,可以任意选一个彩球打,打红球后接着打的彩球不从桌面上拿走;3. 如果桌面上已经没有红球可打了,那么按照分值从小到大的次序打彩球,这时候每打一个彩球都从桌面上拿走。
打球时犯规的判罚如下:1. 没有打中球,给对方加4分;2.没有按照打球规则打该打的球,即打中了错误的球时:(1)如果这个错误的球的分值大于4,那么给对方加等于这个球的分值;(2)如果这个错误的球的分值不大于4,那么给对方加4分;打中的错误球不从桌面上拿走。
请统计某局比赛进行到现在为止的比分。
输入输入文件snooker.in的第一行有二个整数n和m,表示甲打了n个球,乙打了m个球。
宁波市第31届中小学生程序设计竞赛复赛试题初中组试题

宁波市第31届中小学生程序设计竞赛复赛试题(初中组)比赛时间:2016年3月27日上午9:00-12:00(请选手务必仔细阅读本页内容)五.注意事项1、文件名(程序名和输入输出文件名)必须使用小写。
2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。
3、C语言64位整型输入输出格式请用%I64d(有符号)或者%I64u(无符号)。
4、没有其他特殊情况说明时,输入输出中任意两个整数之间用一个空格分隔。
1.猴子吃桃(eat.pas/c/cpp)【问题描述】为庆祝今年桃子丰收,猴村的猴子们举办了一次有趣的换桃子吃的游戏。
n只猴子(编号为1到n)从左向右站成一排,每只猴子手上捧着某种口味的一个桃子(桃子的口味用一个小写字母表示,最多26种口味),但是猴子手上的桃子可能不是自己喜欢吃的口味。
换桃过程共进行m轮,第i(1≤i≤m)轮交换给出三个整数L i,R i(1≤L i≤R i≤n)和C i,表示第i轮交换共进行C i遍,每一遍从第L i只猴子开始依次向右边的猴子传递自己手上的桃子,即第L i只猴子传递给第L i+1只猴子,……,第R i - 1只猴子传递给第R i只猴子,第R i只猴子的桃子传递给第L i只猴子。
请编程计算依次经过m轮传递后,有多少只猴子手上桃子的口味是与自己喜欢的口味相同?。
【输入】输入共m+4行。
第1行一个整数n,表示猴子的数目。
第2行n个小写字母,依次表示第1只猴子到第n只猴子手上捧着的桃子口味。
第3行n个小写字母,依次表示第1只猴子到第n只猴子喜欢吃的桃子口味。
第4行一个整数m,表示共进行m轮交换操作。
接下来m行,第i+4行三个整数L i,R i和C i,表示第i轮交换共进行C i遍,每一遍从第L i只猴子开始依次向右边的猴子传递桃子,第R i只猴子的桃子传递给第L i只猴子。
【输出】输出一行,一个整数,表示依次经过m轮交换后,手上桃子的口味与自己喜欢的口味相同的猴子数量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Qǐng bāngzhù Gabiluso lái jìsuàn zuìdī shùmù dì bāshì zhàn, tā bìxū xiāohuǐ, wánchéng tā de shǐmìng.
字典-查看字典详细内容
【输入】
第一行一个整数n,表示小明收到了n份圣诞礼物。
第二行包含n个整数,第i个数a[i]表示第i份礼物上的数字。
【输出】
输出小明心目中的幸运数字之和。
【输入输出样例】
luck.in
luck.out
5
12 13 14 15 16 17
42
【样例解释】
小明的幸运数字必须是4或者7的倍数,这里符合条件的有:12+14+16=42
两个整数13570和21673碰撞后,对应数位上较小的值已经消失,碰撞结果为:第一个数字剩下37,第二个数字剩下2673。
现在小明想让你写一个程序来显示数字碰撞机的结果,输入两个整数,输出碰撞后的两个数字。(注意最终结果不能包含多余的前导0)
【输入】
第一行一个整数x,表示输入的第一个整数。
第二行一个整数y,表示输入的第二个整数。
小明正在玩一个取数游戏,首先他有N个整数,从中任取出4个整数a,b,c,d(每个数只能取一次),若满足a=b<c=d,则称这样的四个数(a,b,c,d)为胜利四元组,可以取得胜利。例如:共有4个数,分别为1,1,3,3;a取第1个,b取第2个,c取第3个,d取第4个数,那么就可以满足条件。注意,这里a,b,c,d四个数是独立取的,因此a取第2个,b取第1个,c取第3个,d取第4个也算作不同的方案。所以这样4个数共有4种取法。
小明想要知道,有多少种取数方案,可以取出胜利四元组。方案数可能很多,小明只要知道结果除1000000007的余数即可。
朗读
Gabiluso shì tā de guójiā de zuì wěidà de jiàndié zhī yī. Xiànzài, tā shìtú wánchéng yīgè “bù kěnéng” de shǐmìng, shǐ qí huǎnmàn-----wèi chéngshì Colugu jūnduì dàodá jīchǎng. Shì Colugu yǒu n gè gōnggòng qìchē zhàn hé mǐ de dàolù. Měi tiáo dàolù zhíjiē liánjiē liǎng gè bāshì zhàn, suǒyǒu de dàolù shì yītiáo lù jiēdào. Wèile bǎochí kōngqì jiéjìng, zhèngfǔ jìnzhǐ suǒyǒu jūnyòng chēliàng. Yīncǐ, jūnduì bìxū chéng dā bāshì qù jīchǎng. Kěnéng yǒu yīgè yǐshàng de liǎng gè bāshì zhàn de dàolù. Rúguǒ yīgè gōnggòng qìchē zhàn bèi pòhuài shí, suǒyǒu dàolù liánjiē gāi zhàn jiāng chéngwéi méiyǒu yòng de. Shénme Gabiluso xūyào zuò de shì cuīhuǐ le yīxiē gōnggòng qìchē zhàn, shǐ jūnduì wúfǎ dàodá jīchǎng zài K fēnzhōng. Tā xūyào yī liàng gōngjiāo chē gānghǎo yī fēnzhōng de shíjiān tōngguò rènhé dàolù. Suǒyǒu bāshì zhàn de biānhào cóng 1 dào n 1 Hào bāshì zhàn shì zài jūnyíng hé dì n zhàn jīchǎng. Jūnduì shǐzhōng shèzhì cóng dì yí zhàn.
如果一个数在十进制下是回文的我们说这个数是一重回文数如果一个数在十进制和二进制下是回文的我们说这个数是二重回文数如果一个数在三种进制下是回文的我们说这个数是三重回文数
小学生程序设计比赛练习题
1.幸运数字
(luck.pas/c/cpp)
【问题描述】
今年圣诞节,小明收到了很多礼物,每个礼物上都有一个数字,表示对小明的祝福。可是小明有自己的想法,对小明来说,4或者7的倍数是幸运数字。
abs.out
4
1 2 3 4
10
【数据范围】
对于40%的数据,n<=1000,0<=每个数<=1000
对于70%的数据,输入数据保证第二行的n个数字从小到大有序。
对于100%的数据,n<=100000,0<=每个数<=1,000,000,000
4.取数游戏
(game.pas/c/cpp)
【问题描述】
300
500
0
500
【样例2解释】
300第一位被撞碎了,剩下00,因为不能包含前导0,输出0。500没有任何一位被撞碎。
【输出输出样例3】
number.in
number.out
1234
5678
BOOM
5678
【样例3解释】
1234每一位都被撞碎了,输出“BOOM”,5678没有任何一位被撞碎。
【数据范围】
经过几次练习,小明已经熟练掌握了差的绝对值,现在他找来了N个整数,开始任意取出两个数,求差的绝对值,再将所有差的绝对值相加。例如N=4,有4个整数,分别是1,2,3,4。任取两个数有6种取法,|1-2|=1,|1-3|=2,|1-4|=3,|2-3|=1,|2-4|=2,|3-4|=1,它们的和就是10。
Zài zhè zhǒng chǒulòu de Windows xìtǒng de píngmù, chuāngkǒu de kuàngjià yǐ jīběn xíngchéng yóu tā de ID xìn. Tú 1 xiǎnshì, zhǐyǒu píngmù shàng de yīgè chuāngkǒu, gāi chuāngkǒu de ID shì'A'. Windows kěnéng huì chóngdié. Tú- 2 xiǎnshì chuāngkǒu de qíngkuàng B duì chuāngkǒu a. Hé tú- 3 de dǐng bù shì tígōng le gèng fùzá de chóngdié. Dāngrán, rúguǒ yīgè chuāngkǒu de mǒu xiē bùfèn shì yóu qítā chuāngkǒu zhē zhù, nǐ bùnéng zài píngmù shàng kàn dào de bùfèn.
对于50%的数据,0<=x,y<109
对于80%的数据,0<=x,y<10100,即x,y的长度不超过100。
对于100%的数据,0<=x,y<=101000,即x,y的长度不超过1000。保证所有x和y的位数相同,且x,y本身没有多余的前导0
3.差值求和
(abs.pas/c/cpp)
【问题描述】
小明最近学习了差的绝对值,|a-b|表示a-b的绝对值,若a-b>=0,则|a-b|=a-b;若a-b<0,则|a-b|=-(a-b)。
由于运算量太大,累坏了小明。请你写一个程序帮他计算一下吧。
Gabiluso shì tā de guójiā de zuì wěidà de jiàndié zhī yī. Xiànzài, tā shìtú wánchéng yīgè “bù kěnéng” de shǐmìng, shǐ qí huǎnmàn-----wèi chéngshì Colugu jūnduì dàodá jīchǎng. Shì Colugu yǒu n gè gōnggòng qìchē zhàn hé mǐ de dàolù. Měi tiáo dàolù zhíjiē liánjiē liǎng gè bāshì zhàn, suǒyǒu de dàolù shì yītiáo lù jiēdào. Wèile bǎochí kōngqì jiéjìng, zhèngfǔ jìnzhǐ suǒyǒu jūnyòng chēliàng. Yīncǐ, jūnduì bìxū chéng dā bāshì qù jīchǎng. Kěnéng yǒu yīgè yǐshàng de liǎng gè bāshì zhàn de dàolù. Rúguǒ yīgè gōnggòng qìchē zhàn bèi pòhuài shí, suǒyǒu dàolù liánjiē gāi zhàn jiāng chéngwéi méiyǒu yòng de. Shénme Gabiluso xūyào zuò de shì cuīhuǐ le yīxiē gōnggòng qìchē zhàn, shǐ jūnduì wúfǎ dàodá jīchǎng zài K fēnzhōng. Tā xūyào yī liàng gōngjiāo chē gānghǎo yī fēnzhōng de shíjiān tōngguò rènhé dàolù. Suǒyǒu bāshì zhàn de biānhào cóng 1 dào n 1 Hào bāshì zhàn shì zài jūnyíng hé dì n zhàn jīchǎng. Jūnduì shǐzhōng shèzhì cóng dì yí zhàn.