第十三届全国青少年信息学奥林匹克联赛初赛试题及答案及答案

如题所述

NOIP2007第十三届普及组初赛试题
一、 单项选择题(共20题,每题1.5分,共计30分。每题有且仅有一个正确答案。)
1. 在以下各项中,( )不是CPU的组成部分。
A.控制器 B.运算器 C.寄存器 D.主板
2.在关系数据库中,存放在数据库中的数据的逻辑结构以( )为主。
A.二叉树 B.多叉树 C.哈希表 D.二维表
3.在下列各项中,只有( )不是计算机存储容量的常用单位。
A.Byte B.KB C.UB D.TB
4.ASCII码的含义是( )。
A.二→十进制转换码 B.美国信息交换标准代码
C.数字的二进制编码 D.计算机可处理字符的唯一编码
5.一个完整的计算机系统应包括( )。
A.系统硬件和系统软件 B.硬件系统和软件系统
C.主机和外部设备 D.主机、键盘、显示器和辅助存储器
6.IT的含义是( )。
A.通信技术 B.信息技术 C.网络技术 D.信息学
7.LAN的含义是( )。
A.因特网 B.局域网 C.广域网 D.城域网
8.冗余数据是指可以由其它数据导出的数据。例如,数据库中已存放了学生的数学、语文和英语的三科成绩,如果还存放三科成绩的总分,则总分就可以看作冗余数据。冗余数据往往会造成数据的不一致。例如,上面4个数据如果都是输入的,由于操作错误使总分不等于三科成绩之和,就会产生矛盾。下面关于冗余数据的说法中,正确的是( )。
A.应该在数据库中消除一切冗余数据
B.用高级语言编写的数据处理系统,通常比用关系数据库编写的系统更容易消除冗余数据
C.为了提高查询效率,在数据库中可以保留一些冗余数据,但更新时要做相容性检验
D.做相容性检验会降低效率,可以不理睬数据库中的冗余数据
9.在下列各软件,不属于NOIP竞赛(复赛)推荐使用的语言环境有( )。
A.gcc B.g++ C.Turbo C D.Free Pascal
10.以下断电后仍能保存数据的有( )。
A.硬盘 B.高速缓存 C.显存 D.RAM
11.在下列关于计算机语言的说法中,正确的有( )。
A.高级语言比汇编语言更高级,是因为它的程序的运行效率更高
B.随着Pascal、C等高级语言的出现,机器语言和汇编语言已经退出了历史舞台
C.高级语言比汇编语言程序更容易从一种计算机上移植到另一种计算机上
D.C是一种面向对象的高级计算机语言
12.近20年来,许多计算机专家都大力推崇递归算法,认为它是解决较复杂问题的强有力的工具。在下列关于递归算法的说法中,正确的是( )。
A.在1977年前后形成标准的计算机高级语言“FORTRAN77”禁止在程序使用递归,原因之一是该方法可能会占用更多的内存空间
B.和非递归算法相比,解决同一个问题,递归算法一般运行得更快一些
C.对于较复杂的问题,用递归方式编程一般比非递归方式更难一些
D.对于已经定义好的标准数学函数 sin(x),应用程序中的语句“y=sin(sin(x));”就是一种递归调用
13.一个无法靠自身的控制终止的循环成为“死循环”,例如,在C语言程序中,语句“while(1) printf(“*”);”就是一个死循环,运行时它将无休止地打印*号。下面关于死循环的说法中,只有( )是正确的。
A.不存在一种算法,对任何一个程序及相应的输入数据,都可以判断是否会出现死循环,因而,任何编译系统都不做死循环检查
B.有些编译系统可以检测出死循环
C.死循环属于语法错误,既然编译系统能检查各种语法错误,当然也应该能检查出死循环
D.死循环与多进程中出现的“死锁”差不多,而死锁是可以检测的,因而,死循环也可以检测的
14.在Pascal语言中,表达式 (23 or 2 xor 5)的值是( )。
A.18 B.1 C.23 D.32
15.在Pascal语言中,判断整数a等于0或b等于0或c等于0的正确的条件表达式是( )。
A.not ((a<>0) or (b<>0) or (c<>0))
B.not ((a<>0) and (b<>0) and (c<>0))
C.not ((a=0) and (b=0)) or (c<>0)
D.(a=0) and (b=0) and (c=0)
16.地面上有标号为A、B、C的三根柱,在A柱上放有10个直径相同中间有孔的圆盘,从上到下依次编号为1,2,3……,将A柱上的部分盘子经过B柱移入C柱,也可以在B柱上暂存。如果B柱上的操作记录为“进、进、出、进、进、出、出、进、进、出、进、出、出”。那么,在C柱上,从下到上的编号为( )。
A.2 4 3 6 5 7 B.2 4 1 2 5 7 C.2 4 3 1 7 6 D.2 4 3 6 7 5
17.与十进制数1770对应的八进制数是( )。
A.3350 B.3351 C.3352 D.3540
18.设A=B=True,C=D=False,一下逻辑运算表达式值为假的有( )。
A.(「A∧B)∨(C∧D∨A) B.「(((A∧B)∨C)∧D)
C.A∧(B∨C∨D)∨D D.(A∧(D∨C))∧B
19.(2070)16 + (34)8 的结果是( )。
A.(8332)10 B.(208A)16 C.(100000000110)2 D.(20212)8
20.已知7个节点的二叉树的先根遍历是1 2 4 5 6 3 7(数字为节点的编号,以下同),中根遍历是4 2 6 5 1 7 3,则该二叉树的后根遍历是( )。
A.4 6 5 2 7 3 1 B.4 6 5 2 1 3 7 C.4 2 3 1 5 4 7 D.4 6 5 3 1 7 2

二、问题求解(共2题,每题5分,共计10分)。
1、(子集划分)将n个数(1,2,…,n)划分成r个子集。每个数都恰好属于一个子集,任何两个不同的子集没有共同的数,也没有空集。将不同划分方法的总数记为S(n,r)。例如,S(4,2)=7,这7种不同的划分方法依次为{(1),(234)},{(2),(134)},{(3),(124)},{(4),(123)},{(12),(34)},{(13),(24)},{(14),(23)}。当n=6,r=3时,S(6,3)=______________。
(提示:先固定一个数,对于其余的5个数考虑S(5,3)与S(5,2),再分这两种情况对原固定的数进行分析。)
2、(最短路线)某城市的街道是一个很规整的矩形网络(见下图),有7条南北向的纵街,5条东西向的横街。现要从西南角的A走到东北角的B,最短的走法共有多少种?___________
B

A
三、阅读程序写结果(共4题,每题8分,共计32分。)
1、program j301;
var i,a,b,c,x,y:integer;
p:array[0..4] of integer;
begin
y:=20;
for i:=0 to 4 do read(p[i]);
readln;
a:=(p[0]+p[1])+(p[2]+p[3]+p[4]) div 7;
b:=p[0]+p[1] div ((p[2]+p[3]) div p[4]);
c:=p[0]*p[1] div p[2];
x:=a+b-p[(p[3]+3) mod 4];
if (x>10)
then y:=y+(b*100-a) div (p[p[4] mod 3]*5)
else
y:=y+20+(b*100-c) div (p[p[4] mod 3]*5);
writeln(x,',',y);
end.
{注:本例中,给定的输入数据可以避免分母为0或数组元素下表越界。}
输入:6 6 5 5 3 输出:______________________
2、program j302;
var a,b:integer;
var x,y:^integer;
procedure fun(a,b:integer);
var k:integer;
begin k:=a; a:=b; b:=k; end;
begin
a:=3; b:=6;
x:=@a; y:=@b;
fun(x^,y^);
writeln(a,',',b);
end.
输出:_______________________________
3、program j303;
var a1:array[1..50] of integer;
var i,j,t,t2,n,n2:integer;
begin
n:=50;
for i:=1 to n do a1[i]:=0;
n2:=round(sqrt(n));
for i:=2 to n2 do
if (a1[i]=0) then
begin
t2:=n div i;
for j:=2 to t2 do a1[i*j]:=1;
end;
t:=0;
for i:=2 to n do
if (a1[i]=0) then
begin
write(i:4); inc(t);
if (t mod 10=0) then writeln;
end;
writeln;
end.
输出:_____________________________________________
_____________________________________________
4、Program j304;
Type str1=string[100];
Str2=string[200];
Var
S1:str1; s2:str2;
Function isalpha(c:char):Boolean;
Var i:integer;
Begin
i:=ord(c);
if ((i>=65) and (i<=90)) or ((i>=97) and (i<=122)) then
isalpha:=true
else isalpha:=false;
end;
function isdigit(c:char):Boolean;
var i:integer;
begin
i:=ord(c); if (i>=48) and (i<=57) then isdigit:=true
else isdigit:=false;
end;
procedure expand(s1:str1;var s2:str2);
var i,j:integer; a,b,c:char;
begin
j:=1; c:=char(1); i:=0;
while (i<=ord(s1[0])) do
begin inc(i); c:=s1[i];
if c='-' then begin {1}
a:=s1[i-1]; b:=s1[i+1];
if (isalpha(a) and isalpha(b)) or (isdigit(a) and isdigit(b)) then begin
dec(j);
while (ord(upcase(a))<ord(upcase(s1[i+1]))) do
begin
s2[j]:=a; inc(j); inc(a); end;
end
else
begin s2[j]:=c; inc(j); end;
end{1}
else begin s2[j]:=c; inc(j); end; end; s2[0]:=char(j-2); end;
begin readln(s1); expand(s1,s2); writeln(s2);
end.
输入:wer2345d-h454-82qqq 输出:__________________________
四、完善程序(前4空,每空2.5分,后6空,每空3分,共28分)。
1、(求字符的逆序)下面的程序的功能是输入若干行字符串,每输入一行,就按逆序输出该行,最后键入-1终止程序。
请将程序补充完整。
Program j401;
type str1=string[100];
var line:str1; kz:integer;
procedure reverse(var s:str1);
var I,j:integer; t:char;
begin
i:=1; j:=length(s);
while (i<j) do begin
t:=s[i]; s[i]:=s[j]; s[j]:=t;
; ;
end;
end;
begin
writeln(‘continue? -1 for end.’);
readln(kz);
while ( )do
begin
readln(line);
;
writeln(line);
writeln(‘continue? -1 for end.’);
readln(kz);
end;
end.

2 2 3 3
2 -1 1 3
4 1 1 5
4 4 5 5
2、(棋盘覆盖问题)在一个2k×2 k个方格组成的棋盘中恰有一个方格与其它方格不同(图中标记为-1的方格),称之为特殊方格。现用L型(占3个小方格)纸片覆盖棋盘上除特殊方格的所有部分,各纸片不得重叠,于是,用到的纸片数恰好是(4 k-1)/3。在下表给出的一个覆盖方案中,k=2,相同的3各数字构成一个纸片。
下面给出的程序使用分治法设计的,将棋盘一分为四,依次处理左上角、右上角、左下角、右下角,递归进行。请将程序补充完整。
Program j402;
type arr1=array[1..65] of integer;
arr2=array[1..65] of arr1;
var board:arr2; tile:integer; size,dr,dc:integer;
procedure chessboard(tr,tc:integer; dr,dc:integer; var size:integer);
var t,s:integer;
begin
if (size=1) then ;
t:=tile; inc(tile);
s:=size div 2;
if then chessboard(tr,tc,dr,dc,s) else begin
board[tr+s-1]:=t;
;
end;
if (dr<tr+s) and (dc>=tc+s) then chessboard(tr,tc+s,dr,dc,s)
else begin board[tr+s-1][tc+s]:=t;
; end;
if (dr>=tr+s) and (dc<tc+s) then chessboard(tr+s,tc+s,dr,dc,s) else begin
board[tr+s][tc+s]:=t;
; end;
if (dr>=tr+s) and (dc>=tc+s) then chessboard(tr+s,tc+s,dr,dc,s)
else begin board[tr+s][tc+s]:=t;
; end;
end;
procedure prt1(n:integer);
var I,j:integer;
begin
for I:=1 to n do begin
for j:=1 to n do write(board[i][j]:3);
writeln;
end;
end;
begin
writeln(‘input size(4/8/16/64):’);
readln(size); writeln(‘input the position of special block(x,y):’);
readln(dr,dc); board[dr][dc]:=-1;
tile:=1; chessboard(1,1,dr,dc,size); prt1(size);
end.
NOIP2007第十三届普及组初赛试题参考答案
一、单项选择题:(每题1.5分)
题号 1 2 3 4 5 6 7 8 9 10
答案 D D C B B B B C C A
题号 11 12 13 14 15 16 17 18 19 20
答案 C A A A B D C D A A

二、问题求解:(每题 5分)
1.90 2.210
三、阅读程序写结果
1. 15, 46(对1个数给4分,无逗号扣1分)
2. 3, 6
3. 2 3 5 7 11 13 17 19 23 29
31 37 41 43 47
4. wer2345defgh45456782qqq
四、完善程序(前4空(①--④),每空2.5分,后6空(⑤--⑩),每空3分)
(说明:以下各程序填空可能还有一些等价的写法,各省可请本省专家审定和上机验证,不一定上报科学委员会审查)
1.
① inc(i) 或i:=i+1
② dec(j) 或 j:=j-1
③ kz<>-1
④ reverse(line)
2.
⑤ exit
⑥ (dr<tr+s)and(dc<tc+s)
⑦ chessboard(tr,tc,tr+s-1,tc+s-1,s)
⑧ chessboard(tr,tc+s,tr+s-1,tc+s,s)
⑨ chessboard(tr+s,tc,tr+s,tc+s-1,s)
⑩ chessboard(tr+s,tc+s,tr+s,tc+s,s)
温馨提示:内容为网友见解,仅供参考
无其他回答

第十三届全国青少年信息学奥林匹克联赛初赛试题讲解
一、单项选择题:(每题1.5分)题号 1 2 3 4 5 6 7 8 9 10 答案 D D C B B B B C C A 题号 11 12 13 14 15 16 17 18 19 20 答案 C A A A B D C D A A 二、问题求解:(每题 5分)1.90 2.210 三、阅读程序写结果 1. 15, 46(对1个数给4分,无逗号扣...

求青少年信息学联赛的选择题及答案
一、 单项选择题 (共 10 题,每题 1.5 分,共计 15 分。每题有且仅有一个正确答案.)。1. 在以下各项中。( )不是 CPU 的组成部分。A. 控制器 B. 运算器 C. 寄存器 D. 主板 E. 算术逻辑单元(ALU)2. 在关系数据库中, 存放在数据库中的数据的逻辑结构以( ...

“全国青少年信息学奥林匹克竞赛”
全国青少年信息学奥林匹克 联赛大纲一、总则 由中国计算机学会负责组织的全国青少年信息学奥林匹克联赛(NOIP)是全国信息学奥林匹克竞赛(NOI)整个系列中的一个重要组成部分,旨在向中学生普及计算机基础知识,培养计算机科学和工程领域的后备人才。普及的重点是根据中学生的特点,培养学生学习计算机的兴趣,使得他们对信息技术的一...

全国青少年信息学奥林匹克章程全国青少年信息学奥林匹克联赛(NOIP)
全国青少年信息学奥林匹克联赛(NOIP)是一个全国性的比赛,由各省份在同一天、同一时间举办。它是NOI的基础,面向高中、初中及其他中等专业学校的学生。比赛在每年的10月第三个星期六下午进行初赛,11月第三个星期六进行复赛。这一年的联赛称为NOIn联赛,以NOIPn表示,n代表年份。参赛者需要支付一定的费...

全国青少年信息学奥林匹克章程全国青少年信息学奥林匹克竞赛(NOI)_百 ...
全国青少年信息学奥林匹克竞赛(NOI)是中国最高水平的信息学竞赛,每年一届,面向全国青少年,以省级为单位参赛。竞赛分个人和团体总分两部分成绩,安排在暑期进行,具体日期提前一年公布。报名表需在竞赛前40天寄送,须由省组队单位盖章及特派员签字方有效。每队由1名领队及不超过5名选手组成,其中男选手...

全国青少年奥林匹克信息学竞赛
这一步会很难,初学者一定不要畏难。算法是程序的灵魂,只有掌握了,才能解决各种实际问题。建议你从网上找到历年历届NOI,NOI,IOI,以及各省各市竞赛的题目题解,你还可以上一些在线评测网站vijos,rqnoi,NOI官网等,再找一些教程。教材有很多,你可以看一下南师大的《全国信息学奥林匹克竞赛教程中学高级...

全国信息学奥林匹克竞赛(noip)07年,08年,09年的试题和答案
第一条 根据中国科协和广东省高中生五学科奥林匹克竞赛管理委员会关于加强五学科奥林匹克联赛管理的精神,为了促进广东省青少年信息学奥林匹克竞赛活动朝着科学化、规范化方向发展,促进各市、校之间的良性竞争,为进一步规范全国青少年信息学奥林匹克联赛广东赛区的竞赛,特制定本细则。本细则的解释权由广东省青少年信息学竞...

全国青少年信息学奥林匹克联赛初赛普及组多少分能进复赛
80分。根据全国青少年信息学奥林匹克联赛初赛发布的官方信息显示,初赛成绩在80分以上的同学比较有机会进入复赛,全国青少年信息学奥林匹克竞赛初赛的分数线是由主办方根据试卷难度和考生表现综合评定的,因此每年的分数线可能会有所不同。全国青少年信息学奥林匹克(NOI)是国内包括港澳在内的省级代表队最高...

全国青少年信息学奥林匹克竞赛系列活动
NOIP全国青少年信息学奥林匹克联赛: 自1995年起,每年由计算机学会统一组织,分为初赛和复赛,对初中至高中学生开放,复赛优胜者有机会直接被大学录取。夏令营与冬令营: NOI夏令营提供与正式比赛相似的体验,冬令营则在寒假期间进行为期一周的培训,知名教授和金牌学生指导,对于提升技能和资格选拔有重要作用。A...

信息学奥赛初赛近几年的题(pascal)
第十六届全国青少年信息学奥林匹克联赛初赛试题试题及答案NOIP2010(Pascal提高组)一、单项选择题1.与16进制数 A1.2等值的10进制数是 ()A.101.2 B.111.4 C.161.125 D.177.252.一个字节(byte)由( )个二进制组成。A.8 B.16 C.32 D.以上都有可能3.以下逻辑表达式的值恒为真的是( )。A.P∨(┓P∧Q)∨...

相似回答