当前位置:首页 >> 学科竞赛 >>

2008年NOIP联赛提高组初赛试题及答案


本资料来自于资源最齐全的21世纪教育网 www.21cnjy.com

第十四届全国青少年信息学奥林匹克联赛初赛试题
( 提高组 Pascal 语言 二小时完成 ) ●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ●●
一、单项选择题(共 10 题,每题 1.5 分,共计 15 分。每题有且仅有一个正确答案)。 1.在以下各项中

,( C )不是操作系统软件。 A.Solaris B.Linux C.Sybase D.Windows Vista

E.Symbian

2.微型计算机中,控制器的基本功能是( A )。 A.控制机器的各个部件协调工作 B.实现算数运算与逻辑运算 C.存储各种控制信息 D.获取外部信息 E.存放程序和数据 3.设字符串 S=“Olympic”,S 的非空字串的数目是( C )。 A.29 B.28 C.16 D.17 4.完全二叉树有 2*N-1 的结点,则它的叶子结点数目是( C )。 A.N-1 B.2*N C.N D.2N-1

E .7

E.N/2

5.将数组{8,23,4,16,77,-5,53,100}中元素从大到小按顺序排序,每次可以交换 任意两个元素,最少要交换( B )次。 A.4 B.5 C.6 D.7 E .8 原顺序:8 23 4 16 77 -5 53 100 现顺序:-5 4 8 16 23 53 77 100 变化:1 2 3 4 5 6 7 8 35247168 共六位需要变化所以最少 6-1=5 次 6.设栈 S 的初始状态为空,元素 a,b,c,d,e,f 依次入栈,出栈顺序为 b,d,c,f,e, a 那么栈容量至少应该是( D )。 A.6 B.5 C.4 D.3 E.2 7.与十进制数 28.5625 相等的四进制数是( D ) A.123.21 B.131.22 C.130.22 十进制小数→二进制小数: 整数部分照常; 小数部分转换方法: (1)把十进制小数乘以 2,得到积,把积的整数部分提出;(2)再用所得积的小数部分乘以 2, 得到积,把积的整数部分提出;(3)重复步骤 2;(4)乘以 2 过程中提出的各个整数部分组成 转换后的二进制小数。权的确定规则:最先提出的整数是二进制小数的最高位。

D.130.21

E.130.20

8.递归过程和函数调用时,处理参数和返回地址,通常使用一种称为( E )的数据结构。
21 世纪教育网 -- 中国最大型、最专业的中小学教育资源门户网站。 版权所有@21 世纪教育网

本资料来自于资源最齐全的21世纪教育网 www.21cnjy.com

A.队列

B.多维数组

C.线性表

D.链表

E.栈

9.TCP/IP 是一组构成互联网基础的网络协议, 字面上包括两组协议:传输控制协议 (TCP) 和网际互联协议(IP)。TCP/IP 协议把 Internet 网络系统描述成具有 4 个层次功能的网络模 型,其中提供源节点和目的节点之间的信息传输服务,包括寻址和路由器选择等功能的是 (C)。 A.链路层 B.网络层 C.传输层 D.应用层 E.会话层 10.对有序数组{5,13,19,21,37,56,64,75,88,92,100}进行二分查找,等概率情况下,查找成功 的平均查找长度(平均比较次数)是()。 A.35/11 B.34/11 C.33/11 D.32/11 E.34/10 二分查找的方法要首先明白 56 需要查找 1 次 19、88 需要查找 2 次 5 和 13、21 和 37、64 和 75、92 和 100 四组中,每组两个数中一个查找 3 次 一个查找 4 次,具体谁 3 谁 4 这要看具体实现的时候的等于符号怎么划分。 每个的概率相等,为 1/11 所以,平均长度=1/11×(1+2×2+3×4+4×4)=33/11 答案 C 正确。 折半查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可 在最坏的情况下用 O(log n) 完成搜索任务。它的基本思想是,将 n 个元素分成个数大 致相同的两半,取 a[n/2] 与欲查找的 x 作比较,如果 x=a[n/2] 则找到 x ,算法终止。 如 果 x<a[n/2] ,则我们只要在数组 a 的左半部继续搜索 x (这里假设数组元素呈升序 排列)。如果 x>a[n/2] ,则我们只要在数组 a 的右 半部继续搜索 x 。

二、不定项选择题(共 10 题,每题 1.5 分,共计 15 分。每题正确答案的个数大于或等于 1。 多选或少选均不得分)。 11.下列关于图灵的说法正确的有( B )。 A.图灵奖是美国计算机协会与 1966 年设立的,专门鼓励那些对计算机做出重要贡献的个 人 B.图灵奖有“计算机界诺贝尔奖”之称。 C.迄今为止,还没有华裔计算机科学家获此殊荣。 D.图灵奖的名称取自计算机科学先驱、英国科学家阿兰·图灵。 12.计算机在工作过程中,若突然停电,( A )中不会丢失信息不会丢失。 A.硬盘 B.CPU C.ROM D.RAM 13.若 A=True,B=False,C=True,D=False,以下逻辑运算表达式真的有( A A.(A∧B)V(C∧DV?A) B.((?A∧B)VC)∧?B C.(BVCVD)VD∧A D.A∧(DV?C)∧B )。

21 世纪教育网 -- 中国最大型、最专业的中小学教育资源门户网站。

版权所有@21 世纪教育网

本资料来自于资源最齐全的21世纪教育网 www.21cnjy.com

14.Web2.0 是近年来互联网热门概念之一,其核心是互动与分享。下列网站中,( B ) 是典型的 Web2.0 的应用。 A.Sina B.Flickr C.Yahoo D.Google 15.(2008)10+ (5B)16 的结果是(B)。 A.(833)16 B.(2099)10
2

C.(4063)8

D.(100001100011)

16.二叉树 T,已知其先序遍历是 1 2 4 3 5 7 6(数字为节点编号,以下同),后序遍历是 4 2 7 5 6 3 1,则该二叉树的中根遍历是( ) A.4 2 1 7 5 3 6 B.2 4 1 7 5 3 6 C.4 2 1 7 5 6 4 D.2 4 1 5 7 3 6

1.中序遍历的递归算法定义: 若二叉树非空,则依次执行如下操作: (1) 遍历左子树; (2) 访问根结点; (3) 遍历右子树。 2 .先序遍历的递归算法定义: 若二叉树非空,则依次执行如下操作: (1) 访问根结点; (2) 遍历左子树; (3) 遍历右子树。 3 .后序遍历得递归算法定义: 若二叉树非空,则依次执行如下操作: (1) 遍历左子树; (2) 遍历右子树; (3) 访问根结点。
17.面向对象的程序设计(Object-Oriented Programming)是一种程序设计的方法论,它将 对象作为程序设计的基本单元, 将数据和程序封装在对象中, 以提高软件的重用性、 灵活性、 和扩展性。下面关于面向对象的程序设计说法中正确的是( )。 A.面向对象的程序设计方法通常采用自顶向下的设计方法进行设计。 B.面向对象的程序设计方法具有继承性(inheritance)、封装性(encapsulation)、多态性 (polymorphism)等几大特点。 C.支持面向对象特性称为面向对象的编程语言,目前较为流行的有 C++,JAVA,C#等。 D.面向对象的程序设计的雏形来自于 Simula 语言,后来在 SmallTalk 语言的完善和标准化 的过程中得到更多的扩展和对以前的思想的重新注解。至今,SmallTalk 语言仍然被视为面 向对象的基础。 18.设 T 是一棵有 n 个定点的树,以下说法正确的是( )。 A.T 是联通的,无环的 B.T 是联通的,有 n-1 条边 C.T 是无环的,有 n-1 条边 D.以上都不对

21 世纪教育网 -- 中国最大型、最专业的中小学教育资源门户网站。

版权所有@21 世纪教育网

本资料来自于资源最齐全的21世纪教育网 www.21cnjy.com

19.NOIP 竞赛推荐使用的语言环境有( A.Dev-C++ B.Visual C++

)。 C.Free Pascal

D.Lazarus

20.在下列防火墙(Firewall)的说法中,正确的有( )。 A.防火墙是一项协助确保信息安全的设备,其会依照特定的规则,允许或是限制数据通过 B.防火墙可能是一台专属硬件或是安装在一般硬件上的一套软件 C.网络层防火墙可以视为一种 IP 数据包过滤器,只允许符合特定规定的数据包通过,其 余的一概禁止穿越防火墙 D.应用层防火墙是在 TCP/IP 的“应用层”上工作,可以拦截进出某应用程序的所有数据 包 三、问题求解(共 2 题,每题 5 分,共计 10 分) 1.有 6 个城市,任何两个城市之间有一条道路连接,6 个城市之间两两之间的距离如下表 表示,则城市 1 到城市 6 的最短距离为____________。 城市 1 城市 1 城市 2 城市 3 城市 4 城市 5 城市 6 0 2 3 1 12 15 城市 2 2 0 2 5 3 12 城市 3 3 2 0 3 6 5 城市 4 1 5 3 0 7 9 城市 5 12 3 6 7 0 2 城市 6 15 12 5 9 2 0

2.书架上有 21 本书,编号从 1 到 21 从中选 4 本,其中每两本的编号都不相邻的选法一 共有___________________种。 四、阅读程序写结果(共 4 题,每题 8 分,共计 32 分)。 1.var i,a,b,c,d:integer; f:array[0..3] of integer; begin for i:=0 to 3 do read(f[i]); a:=f[0]+f[1]+f[2]+f[3]; a:=a div f[0]; b:=f[0]+f[2]+f[3]; c:=(b*f[1]+a) div f[2]; d:=f[(b div c) mod 4]; if (f[(a+b+c+d) mod 4]>f[2]) then begin a:=a+b; writeln(a) end else begin
21 世纪教育网 -- 中国最大型、最专业的中小学教育资源门户网站。 版权所有@21 世纪教育网

本资料来自于资源最齐全的21世纪教育网 www.21cnjy.com

c:=c+d; writeln(c); end; end. 输入: 9 19 29 39 输出:_______________________________ 2.procedure foo(a,b,c:integer); begin if a>b then foo(c,a,b) else writeln(a,',',b,',',c) end; var a,b,c:integer; begin readln(a,b,c); foo(a,b,c); end. 输入:2 1 3 输出:_________________ 3.procedure f(a,b,c:integer); begin write(a,b,c,'/'); if (a=3)and(b=2)and(c=1) then exit; if (b<c) then f(a,c,b) else if a<b then if a<c then f(c,a,b) else f(b,c,a); end; var a,b,c:integer; begin readln(a,b,c); f(a,b,c); end. 输入:1 3 2 输出:____________________ 4.var s:string; i,j,len,k:integer;

21 世纪教育网 -- 中国最大型、最专业的中小学教育资源门户网站。

版权所有@21 世纪教育网

本资料来自于资源最齐全的21世纪教育网 www.21cnjy.com

begin readln(s); len:=length(s); for i:=1 to len do if (ord(s[i])>=ord('A')) and (ord(s[i])<=ord('Z')) then s:=chr(ord(s[i])-ord('A')+ord('a')); for i:=1 to len do if (ord(s[i])<ord('X')) then s:=chr(ord(s[i])+3) else s:=chr(ord(s[i])-23); write(s); write('/'); for j:=1 to 3 do begin i:=1; while i<=len-j do begin s[i]:=s[i+j]; i:=i+j; end; end; writeln(s); end. 输入:ABCDEFGuvwxyz 输出:________________________________ 五.完善程序(前 6 空,每空 3 分,后 5 空,每空 2 分,共 28 分)。 1 .(找第 k 大的数)给定一个长度为 1000000 的无序正整数序列,以及另一个数 n(1<=n<=1000000),接下来以类似快速排序的方法找到序列中第 n 大的数(关于第 n 大的 数:例如序列{1,2,3,4,5,6}中第 3 大的数是 4) Var a:array[1..1000000] of integer; n,m,ans:integer; procedure swap(var a,b:integer); var t:integer; begin if (a<>b) then begin t:=a; a:=b; b:=t; end; end; Function FindKth(left,right,n:integer):integer; Var tmp,value,i,j:integer; begin

21 世纪教育网 -- 中国最大型、最专业的中小学教育资源门户网站。

版权所有@21 世纪教育网

本资料来自于资源最齐全的21世纪教育网 www.21cnjy.com

if left=right then exit(left); tmp:=random(right-left)+left; swap(a[tmp],a[left]); value:=____①_____ i:=left; j:=right; while i<j do begin while (i<j) and (________②______) do dec(j); if i<j then begin a:=a[j];inc(i); end else break; while (i<j) and (___③___) do inc(i); if i<j then begin a[j]:=a[i]; dec(j); end else break; end; ____④_____ if i<n then begin inc(i); exit(FindKth(_____⑤_____));end; if i>n then begin dec(j); exit(______⑥________);end; exit(i); end; var i:integer; begin randomize; ans:=-1; m:=5; for i:=1 to m do read(a[i]); read(n); ans:=FindKth(1,m,n); writeln(a[ans]); end. 2. (矩阵中的数字)有一个 n*n(1≤n≤5000)的矩阵 a,对于 1≤i<n, 1≤j≤n, a[i,j]<a[i+1,j] a[j,i]<a[j,i+1]。即矩阵中左右相邻的两个元素,右边的元素一定比左边的大。上下相邻的两 个元素,下面的元素一定比上面的大。给定矩阵 a 中的一个数字 k,找出 k 所在的行列(注 意:输入数据保证矩阵中的数各不相同)。 var n,k,answerx,answery:integer; a:array[1..5000,1..5000] of integer; Procedure FindKPosition; Var I,j:integer;

21 世纪教育网 -- 中国最大型、最专业的中小学教育资源门户网站。

版权所有@21 世纪教育网

本资料来自于资源最齐全的21世纪教育网 www.21cnjy.com

Begin i:=n; j:=n; while j>0 do begin if a[n,j]<k then break; dec(j); end; ______①_________ while a[i,j]<>k do begin while (___②_____) and (i>1) do dec(i); while (___③_____) and (j<=n) do inc(j); end; _______④________ _______⑤________ end; var i,j:integer; begin read(n); for i:=1 to n do for j:=1 to n do read(a[i,j]); read(k); FindKPosition; writeln(answerx,' ',answery); end. NOIP2008 年提高组(Pascal 语言)参考答案与评分标准

一、单项选择题:(每题 1.5 分) 1. C 2. A 3. B 4. C 5. B 6. D 7. D 8. E 9. B 10. C 二、 不定项选择题 (共 10 题,每题 1.5 分,共计 15 分。每题正确答案的个数大于或等 于 1。多选或少选均不得分)。 11. ABD 12. AC 13. BC 14. B 15. ABC 16. ABD 17. BCD 18. ABC 19. ACD 20. ABCD 三、问题求解:(共 2 题,每题 5 分,共计 10 分) 1.7 2.3060 四、阅读程序写结果(共 4 题,每题 8 分,共计 32 分)
21 世纪教育网 -- 中国最大型、最专业的中小学教育资源门户网站。 版权所有@21 世纪教育网

本资料来自于资源最齐全的21世纪教育网 www.21cnjy.com

1. 23 (信心题) 2. 1,3,2 (简单递归) 3. 132/213/231/312/321/ (全排列) 4. defghijxyzabc/hfizxjaybcccc (字符串替换) 五.完善程序 (前 6 空,每空 3 分,后 5 空,每空 2 分,共 28 分) (说明:以下各程序填空可能还有一些等价的写法,各省可请本省专家审定和上机验证,不 一定上报科学委员会审查) 1. ① a[left] ② a[j] < value (或 a[j] <= value) ③ a[i] > value (或 a[i] >= value) ④ a[i] := value; ⑤ i,right,n ⑥ FindKth(left, i, n)

2. ① inc(j); (或者 j := j+1;) ② a[i,j] > k ③ a[i,j] < k ④ answerx := i; ⑤ answery := j;

21 世纪教育网 -- 中国最大型、最专业的中小学教育资源门户网站。

版权所有@21 世纪教育网


相关文章:
2008年NOIP联赛提高组初赛试题及答案
2008年NOIP联赛提高组初赛试题及答案_学科竞赛_高中教育_教育专区 暂无评价|0人阅读|0次下载|举报文档 2008年NOIP联赛提高组初赛试题及答案_学科竞赛_高中教育_教育...
2008年NOIP联赛提高组初赛试题及答案
08年noip08年noip隐藏>> 第十四届全国青少年信息学奥林匹克联赛初赛试题( 提高组 Pascal 语言 二小时完成 ) 全部试题答案均要求写在答卷纸上, ●● 全部试题...
NOIP2008年提高组初赛试题(十四届)(非常详细)
NOIP2008 初赛(提高组)试题&解析 第十四届全国青少年信息学奥林匹克联赛初赛试题 ( 提高组 Pascal 语言 二小时完成 )●● 全部试题答案均要求写在答卷纸上,写在...
2000年NOIP联赛提高组初赛试题及参考答案
2006年NOIP联赛提高组初... 2008年NOIP联赛提高组初...1/2 相关文档推荐 ...联赛初赛试题提高组参考答案一、 选择一个正确答案代码(A/B/C/D),填入每题...
NOIP2008提高组初赛试题_C++含答案 改动
NOIP2008提高组初赛试题_C++含答案 改动_学科竞赛_高中教育_教育专区。第十四届全国青少年信息学奥林匹克联赛初赛试题 ( 提高组● ● 二、不定项选择题(共 10 ...
NOIP2008提高组初赛试题_C++含答案
NOIP2008提高组初赛试题_C++含答案_英语考试_外语学习_教育专区。第十四届全国青少年信息学奥林匹克联赛初赛试题( 提高组 C++ 语言 二小时完成 )●● 全部试题答案...
2006年NOIP联赛提高组初赛试题及答案
2006年NOIP联赛提高组初赛试题及答案_学科竞赛_高中教育_教育专区。2006年NOIP联赛...2005年NOIP联赛提高组初... 2008年NOIP联赛提高组初...1/2 相关文档推荐 ...
2005年NOIP联赛提高组初赛试题及答案
2007-2011年noip初赛提高组... 59页 免费 2008年NOIP(C语言)提高组初... ...2005年NOIP联赛提高组初赛试题及答案2005年NOIP联赛提高组初赛试题及答案隐藏>> ...
NOIP2008提高组复赛试题及题解
NOIP2008提高组复赛试题及题解_IT认证_资格考试/认证_教育专区。noip历届复赛试题及解析全国信息学奥林匹克联赛(NOIP2008)复赛 提高组一、题目概览中文题目名称 英文...
2002年NOIP联赛提高组初赛试题及答案
第八届全国青少年信息学奥林匹克联赛(NOIP2002)初赛 试题(提高组参考答案)一、 选择一个正确答案代码(A/B/C/D),填入每题的括号内(每题材 1.5 分,多选无分,...
更多相关标签:
noip2015提高组初赛 | noip2016提高组初赛 | noip2012提高组初赛 | noip2013提高组初赛 | noip2011提高组初赛 | noip提高组初赛 | noip2014提高组初赛 | noip提高组初赛试题 |