2010年小学生科普日活动试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010年北京小学生科普日活动试题
考试时间:
2010年11月21日 8:30至10:00 (90分钟)
要求:
请你在指定位置用自己的考号建立一个文件夹,并在这个文件夹中为本次竞赛的每个题目建立一个子文件夹,这些子文件夹的名字分别是:light、forcast、statis、converse、sig。
提交答案时,请将每个题目的程序放入自己的考号文件夹中,同时将各题目程序分别备份,并存放进各自的子文件夹中。即每个程序需要存放在两个位置,一个在自己的考号文件夹中,另一个在自己的考号文件夹下与程序名相同的子文件夹中。文件夹错误或将程序放在其它位置,不计分。
本次竞赛共5个题目,每个题满分20分,本次竞赛满分100分。每个测试数据测试时限1秒。
试题1:天花板上的小灯(共10个测试点,每个点2分)
light.c / light.cpp / light.pas / light.bas
【问题描述】
虽然小凡刚读到小学六年级,可她已经是一个有五年经验的钢琴高手了唷!上个月,还在全市级别的钢琴比赛中获得一等奖了呢!而
今天,正是颁奖典礼的好日子……
在礼堂等待典礼开始的时候,觉得有些无聊的小凡发现了一个有意思的小问题:
在这个礼堂的天花板上,以矩形阵列的形式装着好多好多照明用的小灯,如下图所示:
反正典礼也没开始,我们就和小凡一起数数整个天花板上的小灯一共有多少个吧——当然,只需数下总行数和总列数就可以了。
【输入文件】 文件名:light.in
文件中有两个用空格分开的整数a 、b ,表示这些小灯的总行数和总列数。保证1000001≤≤a 、1000001≤≤b 。 【输出文件】 文件名:light.out
文件中只有一个整数,表示小灯的总数。 【样例输入】 3 6
【样例输出】 18
forcast.c/ forcast.cpp/ forcast.bas
【问题描述】
体育组的张老师组织某年级的学生进行拔河比赛,该年级一共有n个班,每班各选出5名男学生参加比赛。张老师想预测一下各个班级的排名情况,他通过医务室取得了所有参加比赛学生的力量值,他认为参加比赛的学生力量值总和越大,排名越靠前。现在请你帮张老师预测一下,n个班的排名情况。
【输入文件】文件名:forcast.in
文件中第一行有一个整数n,表示有n个班,已知10
≤n。
2≤以下有n行数据,每行共有5个整数,分别代表1至n班的每个学生的力量值。
【输出文件】文件名:forcast.OUT
文件中有n个数,以空格为间隔,第1个数代表1班的排名,第2个数代表2班的排名,……第n个数代表n班的排名。
【样例输入】
2
2 4 9 5 6
3 7 8 9 2
【样例输出】
2 1
stattis.c/ statis.cpp/ statis.bas
【问题描述】
小明在学习英语单词,一边读,一边敲进statis.in文件中。学习完后,他想统计一下某个特定的单词敲过多少次。
例如:computer true hello computer key word hi hello.统计computer单词的个数是2。输入的每个单词之间只有一个空格,最后以英文句号‘.’为终止符。输入要求:开头就是单词,单词之间只有一个空格,除了英文句号‘.’之外,不存在其他特殊字符。输入的字符的总长度(包括空格)<=200。需要统计的单词长度<=10。【输入文件】
文件名:statis.in
文件中第一行为输入的单词内容,第二行为需要统计的单词,以回车字符为结束。
【输出文件】
文件名:statis.out
单词出现次数。注意,不区分大小写。
【样例输入】
computer true hello computer key word hi hello.
computer
【样例输出】
2
converse.c/ converse.cpp/ converse.bas
【问题描述】
五年级一班全体学生做一个游戏,有n(n<=10000)张纸牌,每张纸牌上分别标注着1、2、3、4……n个数字,初始时纸牌数字面朝上。全班同学先将1的倍数的纸牌翻过来,然后再将2的倍数的纸牌再翻过来,一直翻到n的倍数的纸牌。统计翻到最后数字面向下的纸牌分别是那些?
例如,有1、2、3张纸牌,开始时纸牌数字面朝上,第一次翻转1的倍数,将所有序号为1的倍数的纸牌翻转;第二次翻转2的倍数,将所有序号是2的倍数的纸牌再翻转;第三次翻转3的倍数,将所有序号是3的倍数纸牌再翻转,翻牌到此结束。最后数字面向下的纸牌是序号为1的那张。
【输入文件】
文件名:converse.in
文件中第一行输入数字为n,表示有n张纸牌。
【输出文件】
文件名:converse.out
输出数字面向下的纸牌数字。在同一行输出,两个数字之间用一个空格隔开。
【样例输入】
3
【样例输出】
1
试题5 :信号追踪(共10个测试点,每个点2分)
sig.bas/sig.pas/sig.c/sig.cpp
【问题描述】
在电影里我们常常可以看到这样的镜头,通过在犯罪分子身上安装的信号发射装置,警方可以持续不断的知道犯罪分子的位置。现在请你根据下面这个地图来追踪罪犯(地图中字母固定、字母位置固定、地图四周是墙):
图中每个字符代表一个位置,现在你不断地接收到一些位置信号,那么请你编写程序计算从信号开始到信号结束目标至少移动了多少距离,在本地图中,只能上下左右四个方向移动,相邻两个单元格的移动距离为1。例如接受信号如:BJOI,那么移动顺序为B-J-O-I,最少移动距离7。
【输入文件】(sig.in):
一行字符串,代表你所连续接受到的位置信号。
字母全部大写,in文件最后以输入回车为结束。
【数据限制】: