信息技术特长生测试题

更新时间:2023-11-17 04:03:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

重庆巴蜀中学信息技术特长生模拟测试试题

( 三小时完成 )

姓名: 性别: 学校 联系电话: 注意事项:

一、比赛文件夹

选手比赛时,需在本机D盘根文件夹下建立考号文件夹(如考号为02的同学建立的文件夹为d:\\02),然后根据题目要求将自己提交的源程序存放在考号文件夹下,注意严格区分大小写。

二、文件命名

比赛中涉及的文件名(包括源程序名、输入输出文件名),都必须严格按照题目要求命名,严格区分大小写。例如:题目要求输入文件名为calc.in、则程序中不能使用Calc.in、CALC.IN等名字。

三、请合理安排时间,编写程序如有困难可只写明解题思路或伪代码。 文件处理样例:样题、求任意两个实数和。(存储文件名:sum.cpp)

输入文件名为sum.in,包含两个加数(1000000内的实数);输出文件名为sum.out,输出和(保留两位小数)。 #include #include using namespace std; ifstream fin(\ofstream fout(\int main(){ double a,b; fin>>a>>b;

fout<一、综合类简答题(每题20分,共120分)

题1、数学问题

① 甲、乙、丙合做一批零件,甲做的是乙丙之和的1/2,乙做的是甲丙之和的1/3,丙做了25个,这批零件一共做了多少个?

② 把一块长与宽的比为5:3的长方形土地,用1:500的比例尺画在图纸上,得到的长方形的周长是32厘米。这一长方形土地的实际面积是多少平方米? 请写出结果并简述计算过程。

题2、推数

在下面由字母组成的加法算式中,已知D=5,各字母都代表不同的数字,请推算出其他字母代表的数字。 DONALD +GERALD ROBERT

请写出结果并简述推理过程。

题3、球的排列

将N个红球和M个黄球排成一行。例如:N=2,M=2可得到以下6种排法: 红红黄黄 红黄红黄 红黄黄红 黄红红黄 黄红黄红 黄黄红红

问题:当N=4,M=3时有多少种不同排法?(不用列出每种排法,请简单写出推导过程)

1

题4、投篮测试

一群学生进行投篮球测试,每人投10次,进球数与人数统计如下: 进球个数 人数 0 7 1 5 2 4 …… …… 8 3 9 4 10 1 至少投进了3个球的这部分学生平均进球5个,投进不到8个球的这部分学生平均进球4个。有多少人参加测试?请写出计算过程。

题5、球的匹配

有标号为A、B、C、D和1、2、3、4的8个球,每两个球装一盒,分装4盒。标号为字母的球与标号为数字的球有着某种一一对应的关系(称为匹配)并已知如下条件: ①匹配的两个球不能在一个盒子内; ②2号匹配的球与1号球在一个盒子里; ③A号和2号球在一个盒子里;

④B匹配的球和C号球在一个盒子里;

③3号匹配的球与A号匹配的球在一个盒子里; ⑥4号是A或B号球的匹配球; ⑦D号与1号或2号球匹配。

请写出这四对球可能的匹配情况,并简明写出推理过程。

题6、自然数处理

按照如下方法对自然数n进行处理 1)不作任何处理;

2)在它的左边加上一个自然数,但该自然数不能超过原数的一半; 3)加上数后,继续按此规则进行处理,直到不能再而加自然数为止。 例如n=6时有以下几种情况: 6 16 26 126 36 136

所以满足要求的个数为6。

请写出n为30时,满足要求的个数,请写出计算过程。 请计算当N为10时,满足要求的个数为: 当N为20时,满足要求的个数为:

二、编程求解题(每题30分,共120分) 题1、子弹射程(存储文件名:shot.cpp) 【问题描述】

子弹从某个高度水平射出,在子弹射出的水平直线前方有N个障碍,已知每个障碍的高度以及障碍与障碍之间的距离(第一个距离为障碍与子弹射出点之间的水平距离),子弹碰到障碍时会停止(总会有一个障碍高于等于子弹的飞行高度)。求子弹的射程(飞行的距离)。 【输入文件】

输入文件名为shot.in:第一行有两个数据,第一个数据为子弹的射出高度H(H<100),第二个数据为障碍的个数N(N<200)。接下来有N行数据,每行有两个数据,第一个数据为障碍高度,第二个数据为当前障碍与上一个障碍的水平距离(第一个距离为障碍与子弹射出点之间的水平距离)。 【输出文件】

2

输出文件名为shot.out:为一个数,即子弹飞行的距离(结果保留一位小数)。 【输入样例】 1.0 2 0.5 6.5 1.2 8

【输出样例】 14.5

题2、电梯问题(存储文件名:elevator.cpp) 【问题描述】

一座电梯上升的速度通常要比下降的速度慢,到某一层停下时还会停留一段时间,现在告诉你电梯要按顺序到达然后停靠的N个楼层,求电梯升降停留所花费的总时间。假设电梯开始在0层,电梯能够停靠的最高楼层为100层。 【输入文件】

输入文件名为elevator.in:第一行有4个数据,第一个数据为N(N<=1000,表示会停靠N次),第二个数据为电梯上升一层所需要的时间,第三个数据为电梯下降一层所需要的时间,第四个数据为电梯停下来时停留的时间,接下来有N行数据,每行只有一个数据,为电梯停靠的楼层号。 【输出文件】

输出文件名为elevator.out:只有一行,为电梯升降停留所花费的总时间。 【输入样例1】 1 6 4 5 2

【输出样例1】 17

【输入样例2】 3 6 4 5 2 3 1

【输出样例2】 41

题3、演讲评分(存储文件名:grade.cpp) 【问题描述】

年级举行演讲比赛,每一位同学都是评委。一位同学演讲完毕后,所有的同学(包括演讲者)都可通过电子记分器按下自己的评分。现在请你设计一个评分系统现场展示演讲者的得分,系统要求如下:将所有同学的评分搜集上来,排除一个最高分和最低分后计算出平均分。 【输入文件】

输入文件名为grade.in:第一行只有一个数据N(2

输出文件名为grade.out:只有一个数据,即该演讲者的平均得分(保留两位小数)。 【输入样例】 10

1 2 3 4 5 6 7 8 9 10 【输出样例】 5.50

3

题4、礼物(存储文件名:gift.cpp) 【问题描述】

有一群要互送礼物的朋友,每个人都准备了一些钱来送礼物,而这些钱将会被平均分给那些将收到他礼物的人手中。朋友中的一些人会准备较多的钱来送出较多的礼物(可能是因为有较多的朋友),也有的送出的礼物要少一些,所以准备的钱也要少一些。 现在有这样一群朋友,他们的名字不会长于14字符。当给出每个人将花在送礼上的钱和将收到他的钱的朋友的姓名列表后,请确定每个人收到的钱比送出的钱所多出的数目。

所有送礼的钱都是整数,每个人把相同数目的钱给每位要接受礼物的朋友,而且尽可能多给,不能给出的钱被送礼者自己保留。 【输入文件】

输入文件名为gift.in,输入数据说明如下: 第1 行 第2到N+1行 第N+2到最后 人数N,2<=N<=10 N个朋友的姓名,一个名字一行 第一行是将会送出礼物的人的名字(N个朋友均会出现一次)。 第二行包含二个数字:第一个是准备送出的钱(在0到2000的范围里),第二个数M是将收到这个送礼者钱的人数,如果人数是非零的,下面M行会列出礼物接受者的名字,一个名字一行。 【输出文件】 输出文件名为gift.out:输出 N行,每行是一个朋友的名字加上空格再加上这个朋友收到的比送出的钱多出的数目。N个朋友的姓名顺序应和输入时的顺序相同。 【输入样例】 5 dave laura owen vick amr dave 200 3 laura owen vick owen 500 1 dave amr 150 2 vick owen laura 0 2 amr vick vick 0 0

4

【输出样例】 dave 302 laura 66 owen -359 vick 141 amr -150

附加题、打保龄球(存储文件名:bowling.cpp) (较为繁琐,建议有余力同学考虑) 【问题描述】

打保龄球是用一个滚球去打击十个站立的柱,将柱击倒的运动。一局分十轮,每轮可滚球一次或多次,以击倒的柱数为依据计分。一局得分为十轮得分之和,而每轮的得分不仅与本轮滚球情况有关,还可能与后续一两轮的滚球情况有关。即某轮某次滚球击倒的柱数不仅要计入本轮得分,还可能会计入前一两轮得分。具体的滚球击柱规则和计分方法如下:

①若某一轮的第一次滚球就击倒全部十个柱,则本轮不再滚球(若是第十轮则还需另加两次滚球,不妨称其为第十一轮和第十二轮,并不是所有的情况都需要滚第十一轮和第十二轮球)。该轮得分为本次击倒柱数10与以后两次滚球所击倒柱数之和。

②若某一轮的第一次滚球未击倒十个柱,则可对剩下未倒的柱再滚球一次。如果这两次滚球击倒全部十个柱,则本轮不再滚球(若是第十轮则还需另加一次滚球),该轮得分为这两次共击倒柱数10与以后一次滚球所击倒柱数之和。

③若某一轮两次滚球未击倒全部十个柱,则本轮不再继续滚球,该轮得分为这两次滚球击倒的柱数之和。 总之,若一轮中一次滚球或两次滚球击倒十个柱,则本轮得分是本轮首次滚球开始的连续三次滚球击倒柱数之和(其中有一次或两次不是本轮滚球)。若一轮内二次滚球击倒柱数不足十个,则本轮得分即为这两次击倒柱数之和。下面以实例说明如下(字符“/”表示击倒当前球道上的全部的柱):

轮 1 2 3 4 5 6 7 8 9 10 11 12 击球情况 / / / 72 9/ 81 8/ / 9/ / 8/ 各轮得分 30 27 19 9 18 9 20 20 20 20

累计总分 30 57 76 85 103 112 132 152 172 192

现在假设保龄球的每一局比赛都完整打完,请你编写一个保龄球计分程序,用来计算和显示每局比赛结束后的得分情况。

【输入文件】

输入文件名为bowling.in,文件内容仅有一行,为每局比赛每轮滚球的情况,每轮滚球用一到两个字符表示,每一个字符表示一次击球,字符“/”表示击倒当前球道上的全部的柱,否则用一个数字字符表示本次滚球击倒的当前球道上的柱的数目,两轮滚球之间用一个空格字符隔开。 【输出文件】

输出文件名为bowling.out,共两行,第一行为每轮得分,第二行为到当前轮为止的总得分。每个得分之间用一个空格隔开。 【输入样例】

/ / / 72 9/ 81 8/ / 9/ / 8/ 【输出样例】

30 27 19 9 18 9 20 20 20 20

30 57 76 85 103 112 132 152 172 192

5

重庆巴蜀中学2008年信息技术特长生测试答题卷

姓名: 性别: 考号: 在读小学 联系电话:

一、综合类简答题(每题20分,共120分) 题1、数学问题

①这批零件一共做了 个。

②这一长方形土地的实际面积是 平方米。

题2、推数

题3、球的排列

题4、投篮测试

题5、球的匹配

题6、自然数处理

请计算当N为10时,满足要求的个数为: 当N为20时,满足要求的个数为:

二、编程求解题(每题30分,共120分) 题1、子弹射程(存储文件名:shot.cpp)

题2、电梯问题(存储文件名:elevator.cpp)

题3、演讲评分(存储文件名:grade.cpp)

题4、礼物(存储文件名:gift.cpp)

附加题、打保龄球(存储文件名:bowling.cpp)

6

7

本文来源:https://www.bwwdw.com/article/d2fv.html

Top