第十届绍兴市少儿信息学竞赛
(2015-04-23 13:57:20)
标签:
it教育 |
分类: 少儿信息学奥赛初赛 |
第十届绍兴市少儿信息学竞赛
初
(小学组 PASCAL语言
●●全部试题答案都要求写在答卷纸上,写在试卷上一律无效●●
一、选择一个正确答案代码(A/B/C/D),填入每题的括号内(每题2分,每题只有一个正确答案,多选无分。共20分)
1.某算法的流程图如下所示:
依次输入x的值为5、3、0、6后,该算法的输出结果为
A) |
6 |
B) |
3 |
C) |
14 |
D) |
8 |
2.某用户电子邮箱收件夹中的内容如图所示:
从图中可以看出该收件夹内
A) |
全部邮件有6封。 |
B) |
未读的邮件有4封。 |
C) |
带附件的邮件有5封。 |
D) |
当天收到的邮件有3封。 |
3.笑笑的爷爷最近在学电脑,现在已经会上网了,但总是记不住网址,每次上网时都要问笑笑该输什么网址,后来笑笑略施小“技”,帮爷爷解决了这个难题。之后爷爷再上网时,不仅不用记住网址就能快速地访问自己常去的一些网站,而且每次一启动IE就可以直接打开新华网浏览新闻,笑笑采用的方法是(
①将爷爷常用的网址都添加到IE的收藏夹中
②将爷爷常用的网址都添加到IE的临时文件夹中
③将新华网的网址设置为IE的主页
④将爷爷常用的网址都添加到IE的历史记录中
A) |
①② |
B) |
①③ |
C) |
②③ |
D) |
②④ |
4.下列有关信息学名词解释中,错误的是(
A) |
Online Judge:简称OJ,信息学在线评测系统 |
B) |
Excel:Microsoft公司开发的电子表格处理软件。 |
C) |
Flash:Micromedia公司开发的三维动画制作软件。 |
D) |
LOGO语言:内置一套海龟绘图系统,通过向海龟发送命令,用户可以直观地学习程序的运行过程,是适合于儿童学习的入门级语言。 |
5.单字节5和-5在计算机内部分别表示为(
A) |
00000101 |
B) |
00000101 |
C) |
11111011 |
D) |
00000101 |
6. 2名驾驶员和6名空中小姐分别上二架不同型号的旅游直升飞机,每机1名驾驶员及3名空中小姐,则上机方法共有多少种?
A) |
60 |
B) |
80 |
C) |
40 |
D) |
20 |
7.如图有两个栈s1,s2,有一数字序列2 3 4 1,依次进入其中任意一个栈,任一个数字入栈后也可随时出栈,则不可能的出栈序列是:
A) |
1 3 2 4 |
B) |
2 1 3 4 |
C) |
4 2 3 1 |
D) |
1 2 3 4 |
8.寄存器是(
A) |
硬盘 |
B) |
高速缓存 |
C) |
内存 |
D) |
中央处理器(CPU) |
9.在一个果园里,笑笑将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。笑笑决定把所有的果子合成一堆。
每一次合并,笑笑可以把任意两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。笑笑在合并果子时总共消耗的体力等于每次合并所耗体力之和。
假定有5堆果子,每堆果子的数量为12,4,20,15,10,每个果子重量都为2,笑笑想知道最小的体力耗费值是多少。
A) |
272 |
B) |
284 |
C) |
164 |
D) |
136 |
10.下面是信息学的相关知识,哪一句是正确的:(
A) |
图灵,美国数学家,1936年设计并成功实现了图灵机,鉴于他巨大的贡献,ACM于1966年以他的名字命名设立了图灵奖,图灵在人工智能方面也有重要的研究,被誉为人工智能之父。 |
B) |
Dos、Win7、safari、Unix、Photoshop都是操作系统。 |
C) |
信息学奥林匹克竞赛活动有NOIP、NOI、冬令营、IOI等,其中NOI是全国青少年信息学奥林匹克竞赛,它最早起源于1984年全国青少年程序设计竞赛。 |
D) |
计算机语言分为机器语言、汇编语言和高级语言,高级语言由解释、编译两种方式翻译执行,第一个计算机高级语言是basic语言。 |
二、根据要求回答问题:(5+5=10分)
1. 中午,笑笑到花鸟市场闲逛,看到有位叔叔在买金鱼,笑笑就蹲在鱼缸边看金鱼吹泡泡,卖金鱼的叔叔看笑笑半天没动弹,还以为笑笑没钱买又很喜欢金鱼,就对笑笑说:“上午我第一次卖出了全部金鱼的一半加2分之一条金鱼;第二次卖出剩余金鱼的三分之一加三分之一条金鱼;第三次卖出剩余金鱼的四分之一加四分之三条金鱼;第四次卖出剩余金鱼的八分之一加八分之一条金鱼;最后还剩下13条。问原来有多少条金鱼?如果你答对了,我免费送你两条金鱼。”可怜的笑笑当场就糊涂了,请你帮帮她吧!(每次卖出的都是整数条金鱼)
问:原来一共有
2.XXX是一座风景秀丽,气候宜人,历史悠久的的城市,笑笑想到那儿去旅游向往已久。这个暑假,爸爸决定亲自驾车带她到XXX城游玩,这可把笑笑高兴坏了。出发前,爸爸通过网络在XXX城市的中心预订了酒店。XXX城总共有5个景点,爸爸决定每天从酒店出发玩一个景点,晚上回酒店休息,为了节约汽车油费,爸爸事先对酒店及5个景点之间的道路及距离作了了解,如图(单位:公里),也就是如果笑笑他们想到景点B游玩,可以选择酒店->景点B,也可以选择酒店->景点A->景点B,当然还有其它的选择。爸爸想知道5天游完所有景点心爱的汽车最少需要跑多少公里?
问:游完所有景点最少需要跑
三、阅读程序并写出运行结果(8+8+8+8+8=40分):
1. program test_2012_1;
var x,a,b,c,d,z:integer;
begin
end.
输入:1234
输出:
2.program test_2012_2;
var m,n,i,j,s:integer;
d:array[0..100] of integer;
begin
end.
输入:30
输出:
3、program test_2012_3;
var
begin
End.
输入:NOIP-2012
输出:
4、program test_2012_4;
var x:integer;
procedure add(var z:integer);
begin
writeln(‘z=',z);z:=z+10;writeln('z=',z);
end;
begin
x:=5;writeln(‘x=',x);add(x);writeln(‘x=',x);
end.
输出:
5、program test_2012_5;
var j,k:integer;
function pr(n:integer):boolean;
var i:integer;t:boolean;
begin
t:=true;i:=2;
while t and (i<=sqrt(n)) do
if
else i:=i+1;
pr:=t;
end;
begin
k:=0;j:=11;
while j<=99 do
begin
if pr(j) and pr(j+2) then
begin writeln(j:4,j+2:4);k:=k+1;end;
j:=j+2;
end;
writeln(‘total:',k);
end.
输出:
四、完善程序(根据问题要求和已有程序,在程序空格处填入适当的语句或符号,使程序完整。本题共15+15=30分)
1.【成绩处理】(3+3+3+3+3=15分)
笑笑最崇拜她的信息学Mr chen,这不,Mr chen正在教笑笑pascal语言中的记录类型:
有时候我们会遇到这种数据,它由性质各不相同的成分组成,例如:
记录的定义:(如上面的数据定义如下)
type
var
student:array[1..100] of node;{定义student数组的每个元素为node这种记录类型,该记录类型包含5个域}
记录的引用:
对记录中每个域的引用,如输入第i个学生的学号,有两种方法:(1)可以写出记录变量名和域名,pascal语言表示为readln(student[i].num);(2)使用开域语句with…do,pascal语言表示为
笑笑立马就掌握了这种数据结构,为了在你面前炫耀,她出了一个记录类型的题目考考你,给出n(1<=n<200)个同学m(1<=m<=5)科的考试成绩,按总分找出前十名是哪些同学。规定:总分相同名次相同,且占用后面的名次,例如:第2名有两个同学,那么将没有第3名,后面的同学将从第4名算起。
Input
第一行为n和m,下面n行为每个同学的成绩描述: 每行有m+1个数,其中第一个数为学号(小于等于200),后面为各科成绩,成绩为0~100之间的实数,中间用一个空格隔开。
Output
一行,成绩名次在前10的同学学号,不足10名全部输出。当第10名有多个同学时,输出有可能超过10名同学的学号。同名次按学号由小到大输出。输出的各个学号之间用一个空格隔开。
Sample Input
17 2
1 7 13
2 18 54
3 47 91
4 65 86
5 44 48
6 92 88
7 80 36
8 76 68
9 54 21
10 65 11
11 61 69
12 78 32
13 0 81
24 93 32
15 42 97
16 28 9
17 65 55
Sample Output
6 4 8 15 3 11 24 17 7 12
program test_2012_6;
type cj=array[1..5] of real;
var a:array[1..200] of rec; i,j,n,m,k:integer;t:rec;
begin
(
then begin t:=a[j];
end.
2.【布置新房】(3+3+3+3+3=15分)
笑笑今天很开心,家里购置的新房领到钥匙了,新房里有一间笑笑自己专用的很宽敞的房间。更让她高兴的是,妈妈昨天对她说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过m元钱就行”。笑笑怀里揣着m元RMB到了商场,商场里的物品真多啊,让人眼花缭乱。笑笑想买的东西很多,于是,她把想买的每件物品规定了一个重要度,用整数表示,数值越大越重要,当然每件物品都有价格,笑笑经过仔细观察,发现这个商场很奇特,所有物品的价格都是整数。笑笑希望在不超过m元(可以等于m元)的前提下,买回去布置新房的物品的重要度之和最大。
比如想买有4件物品,价格分别为3,4,5,8,对应的重要度分别为4,5,7,10,笑笑总共有12元钱,则取编号为1,2,3的物品,得到最大的重要度之和为16。
Input
第一行为m和n,中间用空格隔开,表示m元RMB和商场中有n件物品。
下面n行依次为每件物品的价格和重要度,中间用一个空格隔开。
Output
一行,表示在不超过m元的前提下笑笑购买物品的最大重要度之和。
Sample Input
12 4
3 4
4 5
5 7
8 10
Sample Output
16
算法思路:
穷举。用一个b数组来存放物品选取的情况,当b[i]=0时表示第i件物品不取,当b[i]=1时表示第i件物品已取,初始化全部取0,可以从后面的物品开始取起,通过b数组的取值把15种取法全部穷举出来,重要度之和max初始化为0。
b[0] b[1] b[2] b[3] b[4]
0
program test_2012_7;
var v,p:array[1..100]of integer; //物品的价格和重要度
i,j,m,n,max,vsum,psum:integer;
begin
readln(m,n);
fillchar(b,sizeof(b),0);
end.