第六届绍兴市少儿信息学竞赛初赛试题完整资料doc文档格式.docx
- 文档编号:21901448
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:12
- 大小:141.03KB
第六届绍兴市少儿信息学竞赛初赛试题完整资料doc文档格式.docx
《第六届绍兴市少儿信息学竞赛初赛试题完整资料doc文档格式.docx》由会员分享,可在线阅读,更多相关《第六届绍兴市少儿信息学竞赛初赛试题完整资料doc文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
=13)and(15<
>
26)C(‘A>
B’)or(‘d<
b’)D13=29
11.分析下图所示的流程图,其中虚线框部分的控制结构属于()。
A树型结构B循环结构C分支结构D顺序结构
12.已知原始数据序列的排列是8、7、6、5、4、3、2、1
现将通过纯粹的冒泡排序对该数列进行从小到大的排序处理,
则数据进行两两交换的总次数为()。
A28B64C32D8
13.所谓满二叉树指的是这样一种特殊二叉树“除了最底下一
层的节点没有任何子节点,上面所有节点都有两个儿子”,
如下图所示就是一棵3层的满二叉树。
那么,一棵有5层的
满二叉树,一共包含的节点总数是()。
A32B15C31D16
14.农博会即将举行,主办单位收到了很多参展闪的参展申请,为了体现公平,主办单位按照参展商申请时间的先后依次给与编号从小到大排列,并且连续的展位(每个参展商一般都会申请2个以上的展位),现在已经有6家参展商提出了申请,他们各自需要的展位数量分别是:
3,4,2,7,6,5,而且我们知道所有展位中第一个展位的编号是1000(编号全部是1000之后连续的偶数。
如,1000、1002、1004……)。
现在味味也来申请展位,那么她申请到的展位起始编号至少是()。
A1027B27C1054D1108
15.在Word中依次进行下列操作:
(1)输入“第六届绍兴市少儿信息学奥赛”,按回车键;
(2)进行存盘操作;
(3)继续输入“初赛试题”,然后进行存盘操作。
(操作结果如下图所示)。
现在在“编辑”菜单中选择“撤销(U)键入”选项,我们发现第二行的文字“初赛试题”被删除了,继续选择“撤销(U)键入”,我们发现第一行的文字“第六届绍兴市少儿信息学竞赛”也被删除了。
这种“撤销(U)键入”操作的特点,说明Word对输入文字的保存,采用的数据结构是()。
A线性队列B堆栈C平衡树D循环队列
二、问题求解:
(2*5=10分)
1.二叉排序树。
二叉排序树如果包含两个以上节点,那么二叉排序树必须满足下列规定:
(1)若根节点的左子树非空,则左子树上所有结点的值均小于根结点的值;
(2)若根节点的右子树非空,则右子树上所有结点的值均大于根结点的值;
(3)左、右子树本身又各是一棵二叉排序树。
二叉排序树的性质:
按中序遍历二叉排序树,所得到的中序遍历序列是一个递增有序序列。
正因为二叉排序树具有这个特点,所以在数据的有序处理中,二叉排序树得到了较多的应用。
现在我们以数值7、3、6作为节点,显然可以构造出下列这棵二叉排序树:
问:
如果还是以7、3、6作为二叉排序树的节点,那么除了上面所示的二叉排序树,另外还可以构造出几棵不同的二叉排序树?
并请按照上述样式画出另外几种二叉排序树中的任意两种结构。
(可以画在上面右边空位置)
2.房间编号。
某宾馆三楼某个房间的编号是309(第一个数字表示楼层),该宾馆3到9层全部用来开展住宿服务(住宿房间全部安排在3到9层),如果规定所有房间都只能用同于上面3位数的方法来表示房间号(比如300、301、……400、401……499),那么用这种编号方法最多可以标识的房间数目是多少?
三、阅读程序并写出运行结果(8+8+8+8=32分)
1.programtest1;
Vara,b,c:
integer;
Begin
a:
=45;
b:
=23;
ifa>
bthenwriteln(‘a>
b’)elsewriteln(‘a<
=b’);
end.
输出:
2.programtest2;
vari:
a:
array[1..20]ofinteger;
begin
fori:
=1to20do
begin
if(idiv4>
0)and(imod4=3)thenwrite(i,’‘);
end;
3.programtest3;
vari,j,max:
a,s:
array[0..8]ofinteger;
max:
=-32765;
=0to8dos[i]:
=0;
=1to8do
read(a[i]);
s[i]:
=s[i-1]+a[i];
fori:
=0to7do
forj:
=i+1to8do
ifs[j]-s[i]>
maxthenmax:
=s[j]-s[i];
write(max,’‘);
=1to7dowrite(s[i],‘‘);
输入:
4636461128282118
4.programtest4;
vari,x1:
array[1..8]ofinteger;
procedurepro(x,leftrignt:
integer);
varmidinteger;
mid:
=trunc(left+right)/2);
ifa[mid]=xthenbeginwriteln(mid);
halt;
if((x<
a[mid])and(left>
mid-1))or((x>
a[mid])and(mid+1>
rignt))then
begin
writeln(‘notfind’);
ifx<
a[mid]thenpro(x,left,mid-1)elsepro(x,mid+1,right);
readln(x1);
=1to8doread(a[i]);
pro(x1,1,8);
输入1:
输入2:
1013
146910111232146910111232
输出1:
输出2:
四、完善程序(根据问题要求和已有程序,在空格处填入适当的语句或符号,使程序完整。
1.【海岛建设】
(2+2+2+2+2+2=10)
牛背群岛是由一大批大小接近的小岛屿组成的,涨潮时群岛中的每个小岛都会有一部分被淹入海水下面(有些特别矮小的小岛甚至整个淹入水下),退潮时这些小岛上被淹的部分又能露出了海面。
为了打造特色旅游景观,政府计划在每次涨潮时被淹入水下的那些部位安装彩色灯光装置,这样在涨潮时这些部位就会在水下发出光彩夺目的景观。
现在味味已经从测绘公司得到了所有这些小岛的海拔高度,而且将这些数据进行了量化预处理。
作为程序员,味味需要统计所有这些小岛中,量化高度在2和5之间(包括2和5)的小岛数量总共有多少个。
下面是味味编写了一部分的程序,程序先读入牛背群岛所组成的方阵的规模n(牛背群岛的各个小岛刚好组成了一个n*n的方阵),然后以一个方阵的格式依次读入n*n个小岛各自的量化高度(详细可见输入和输出样例),程序最后应能输出量化高度不小于2并且不大于5的所有小岛的总数。
请你帮助味味完成下面的程序。
programtest5;
varn,i,j,s:
array[1..10,1..100]ofinteger;
①;
=1tondo
forj:
=1tondo②;
readln;
s:
=1to③do
if(a[i,j]>
=2)and(④)then⑤;
writeln(s);
输入样例:
5
12352
74236
21365
11534
119145
输出样例:
15
2.【扫雷游戏】
(3+3+3+3+3+3=18)
Windows中的扫雷游戏是大家都熟悉的小游戏,今天,味味也设计了一个简易的扫雷游戏。
味味设计的扫雷游戏功能如下:
1.程序一开始会读入扫雷的区域大小n,表示扫雷区域有n*n个小方格组成,接下来会读入n行信息,每行有n个整数(每个整数可能是0,也可能是1),每两个整数之间用一个空格分隔。
其中0表示所在位置的小方格内没有地雷,1表示所在位置的小方格内有地雷(游戏开始时,扫雷吉尔吉斯中必定包含至少一个地雷)。
接下来每行输入两个用空格分开的正整数i和j,每一行的一对i和j表示用户用鼠标单击扫雷区域中第i行第j列位置上的小方格(就像我们windows中扫雷游戏一样),i和j表示的位置必定在扫雷区域内。
程序每输入一对i和j,就马上进行相应的处理(就像我们在windows中鼠标单击某个小方块就会出现结果一样)。
2.程序根据读入的一对i和j的值来对扫雷区域作相应处理,具体的处理规则如下:
(1)如果i和j表示的小方格内没有地雷、而且也没有被处理过(就是第i行第j列的数值是0),那么将以该小方格为中心的一个正方形区域内所有没有地雷的小方格都赋值为-1(表示该区域的地砖被掀开),当然该正方形指的是在扫雷区域内的有效区域。
如果在当前正方形区域内有一个位置号是i1和j1(注意,i1<
i并且j1<
j)的小方格内恰好有地雷,则此地雷就被顺利扫除,将该位置标记为-2。
如果该正方形区域内某些小方格已经被处理过,则对这些小方格不再做任何处理。
举个例子来说明一下,假如输入信息如下左边所示,那么输出结果就如下右边所示:
5
0000000000
001000-1-2-10
000100-1-1-20
000000-1-1-10
0100001000
33
00
(2)如果i和j表示的小方格已经被处理过(就是第i行第j列的数值是-1或者是-2),那么不作任何处理,继续去读取下一行的i和j的值。
(3)如果i和j表示的小方格刚好有地雷,并且该小主格没有被处理过(就是第i行和第j列的数值是1),那么表示用户触坜,输出信息“GAMEOVER”,程序结束。
3.如果在读入和处理i、j的过程中一直没有触雷,那么就一直按照位置信息处理下去,直到满足下列条件之一,就输出相应信息并结束程序:
(1)读入的i和j的值都是0(表示用户不再在某个小方格内单击右键了),则输出整个扫雷区域的状态(就是输出处理后来n行n列的方阵,每行中两个整数之间用一个空格分隔,末尾没有多余空格),然后程序结束。
(2)如果某次处理完后,游戏区域内所有的地雷都被扫除了,那么不必再读入一下行的信息,直接输出信息“YOUAREWINNER!
!
”,程序结束。
味味不小心把已经编好的程序误删了一些代码,请根据上面的功能要求,帮助味味把下面的程序补充完整。
说明:
(1)halt命令的功能是终止(结束)整个程序的运行。
(2)total变量保存一开始扫雷区中地雷的总数,ok变量保存当前已经被扫除的地雷总数。
programtest6;
vari,j,total,ok,x,y,n:
array[1..50,1..50]ofinteger;
procedurepro_1;
varx,y,k:
forx:
=①toi+1do
=y-1toy+1do
if(x>
=1)and(y>
=1)and(x<
=n)and(y<
=n)then
if②thena[x,y]=-1;
ifa[x,y]=1thenbegina[x,y]:
=-2;
③;
begin{mainprogram主程序}
readln(n);
total:
ok:
fory:
=1tondo
begin
read(a[x,y]);
ifa[x,y]=1thentotal:
=total+1;
end;
readln;
④;
while(i<
0)and(j<
0)do
if⑤thenpro_1;
iftotal=okthenbeginwriteln(‘YOUAREWINNER!
’);
ifa[I,j]=1thenbeginwriteln(‘GAMEOVER!
readln(i,j);
forx=:
1tondo
=1tondowrite(a[x,y],’‘);
writlen;
end.
00110
10000
00101
00000
01101
22
24
44
55
31
输出样例2:
-1-1-2-2-1
-2-1-1-1-1
-1-1-2-1-2
00-1-1-1
01-2-1-2
6
000000
001000
100010
010001
11
34
55
46
52
输出样例1:
GAMEOVER!
答案:
一、选择题:
DBADCBDAABCACCB
1.
(1)4种
(2)
2.700
三、阅读程序写出结果
1.a>
b
2.7111519
3.4636461128282118
4.
(1)5
(2)notfound
四、完善程序
1.①read(n);
②read(a[i,j]);
③n;
④a[i,j]<
=5;
⑤s:
=s+1;
2.①i-1;
②a[x,y]=0或者a[x,y]<
1;
③ok:
=ok+1;
④readln(i,j);
⑤a[i,j]=0;
⑥GAMEOVER.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 绍兴市 少儿 信息学 竞赛 初赛 试题 完整 资料 doc