2012年海淀区信息学竞赛小学组试卷.docx
2012 年海淀区中小学生信息学奥林匹克竞赛小学组上机试题:(共 72 分)姓名 年级 学校 准考号 成绩 说明:(1)在 D:下,用自己的准考号建立一个文件夹,如某考生的考号是 X8,则建立的文件夹为 D:X8。(2) 在这个文件夹内,分别用每个题目的题目名称分别建立一个子文件夹,用于存放该题目的程序。这些子文件夹的名字分别是:tuxing、shulie、pfang、sushu、zfc、yongpin。(3) 将最后写好的程序,存入相应的题目文件夹中如:第一题的题目名称是 tuxing,则将 tuxing.bas 文件名存入 D:X8tuxing 子文件夹中。(4) 凡是题目中所涉及的条件都要进行判断。一、 打印图形(题目名称: tuxing.bas)(12 分)【题目描述】由键盘输入任意一个自然数 N,输出如下图规律的图形。【输入文件】文件名为:tuxing.in文件中只有一个整数 N,为图形的行数(其中 2<=N<=26)【输出文件】文件名为:tuxing.out文件中为输出的图形。【要求】图形的最左侧从第一列开始输出,字符之间无空格。【样例输入】tuxing.in 中有:4【样例输出】tuxing.out 中有下图所示的图形 。D DCD DCBCD DCBABCD DCBCD DCD D 二、 数列计算(题目名称: shulie.bas)(12 分)【题目描述】有一个分数序列是:1/2,2/3,3/5,5/8,8/13,13/21,请同学们认真观察好分子和分母的规律。现要求:指定项数为任意的 N 项,请输出前 N 项。【题目名称】shulie.bas【输入文件】文件名:shulie.in文件中只有一行,包含 1 个整数 N(其中 2N20)为这个分数序列的项数。【输出文件】文件名:shulie.out请输出这个分数序列的分数形式(请注意显示形式突出序列变化的规律, 所以不用化简)。 【样例输入】 shulie.in 的内容为: 64【样例输出】shulie.out 的内容为: 1/2 2/3 3/5 5/8 8/13 13/21三、求完全平方数(题目名称:pfang.bas)(12 分) 【题目描述】: 一个数如果是另一个整数的完全平方,那么我们就称这个数为完全平方数。如 25,36,49,121,144,225,361,400,441,484,961 等。现要求在三位整数中找出具有这样一些特点的数: (1) 它们是完全平方数;(2) 三位数字中有两位数字相同。例如 144、225、400、676 等。求出任意自然数 M N 之间所有满足上述条件的数,并统计这样的数的个数。【输入文件】 文件名:pfang.in 文件中只有一行,包含两个用空格隔开的任意自然数 M 和 N (其中 100<=M<N<=999)。 【输出文件】 文件名:pfang.out 文件中共有若干行:前若干行每行一个整数是任意自然数 MN 之间所有满足条件的平方数;最后一行是统计这些平方数的个数。若没有满足条件的完全平方数, 直接输 0。 【要求】每一行的数据都从第一列开始输出。【输入样例】:pfang.in 的内容为: 100 300(两个数据之间空一格) 【输出样例】:pfang.out 的内容为: 1001211442254四 、求素数(题目名称:sushu.bas)(12 分)【题目描述】:在三位自然数中有这样一些特点的数:(1) 它们是素数;(2) 它们中满足:任意两个素数的和小于 1000,同时又是 17 的倍数。如:227 和 283,229 和 281,233 和 277 等等。求出任意自然数 M N 之间所有满足上述条件的素数对,并统计素数对的个数。【输入文件】 文件名:sushu.in 文件中只有一行,包含两个用空格隔开的任意自然数 M 和 N (其中 100<=M<N<=999)。 【输出文件】 文件名:sushu.out 文件中共有若干行: 前若干行每行为一对满足条件的素数对(数据之间空 1 格); 最后一行是统计这些素数对的个数。如果没有则只输出 0 即可。 【要求】每一行的数据都从第一列开始输出。【输入样例】:sushu.in 的内容为: 200 300(两个数据之间空一格) 【输出样例】:sushu.out 的内容为: 2272832292812332772392712412692512932632817 五、字符串(题目名称:zfc.bas)(12 分)【题目描述】 从键盘输入一个长度不大于 20 的字符串,现要求:将字符串中的小写字母都改成相应的大写字母,其他字符依照原有顺序不变。 【输入文件】文件名:zfc.in文件中只有一行,包含 1 个任意的字符串(其长度 1<=L<=20)【输出文件】文件名:zfc.out文件中只有一行,即为:把小写字母改成相应的大写字母,其他字符依照原有顺序不变的字符串。 【要求】输出数据从第一列开始输出。【样例输入】 zfc.in 的内容为: ABCD123.eeffDD 【样例输出】 zfc.out 的内容为: ABCD123.EEFFDD六、用品(题目名称:yongpin.bas)(12 分)【题目描述】:有 N 名同学去商店购买学习用品,购买品种及数量如下表所示:姓名笔记本铅笔橡皮圆珠笔合计张芳51063李浩81223王红6843已知:笔记本每本 2 元,铅笔每支 0.5 元,橡皮每块 0.8 元,圆珠笔每支 2.5 元。现在请你计算一下:1) 每位同学合计花了多少元(如果有小数,最后结果下取整即可)?2) N 名同学购买学习用品平均花费的钱数是多少元(如果有小数,最后结果下取整即可)?3) 统计N 名同学中哪些同学购买学习用品的花费低于平均花费(注意是低于实际平均花费,并非上面的显示值)?【输入文件】 文件名:yongpin.in 文件中第一行有一个整数 N,表示有 N 名同学,已知2 £ N £ 10; 以下有 5*N 行数据,每 5 行代表一个人的信息记录(包括学生的姓名及购买4 种学习用品的数量,其中 4 种学习用品的数量都为不大于 50 的整数)。 【输出文件】 文件名:yongpin.out 文件中共有若干行: 前 N 行:每行一个数据是每位同学合计所花的钱数(按照取整显示); 之后的一行:是 N 名同学平均花费的钱数(每人花费取整后总和再平均); 最后若干行:每行一个数据是 N 名同学中低于平均花费的学生姓名(低于取整后的平均花费的人名)。 【要求】 每一行的数据都从第一列开始输出。【输入样例】:yongpin.in 的内容为: 3 zhangfang 5 10 6 3 lihao 8 12 2 3 wanghong 6 8 4 3 【输出样例】:yongpin.out 的内容为: 27312628zhangfang wanghong