CCF NOIP全国青少年信息学奥林匹克联赛初赛试题.docx
《CCF NOIP全国青少年信息学奥林匹克联赛初赛试题.docx》由会员分享,可在线阅读,更多相关《CCF NOIP全国青少年信息学奥林匹克联赛初赛试题.docx(40页珍藏版)》请在冰豆网上搜索。
CCFNOIP全国青少年信息学奥林匹克联赛初赛试题
第十六届全国青少年信息学奥林匹克联赛初赛试题试题及答案
NOIP2010(Pascal提高组)
一、单项选择题
1.与16进制数A1.2等值的10进制数是()
A.101.2 B.111.4 C.161.125 D.177.25
解:
此题考查的知识点是进制转换。
把一个M进制的数转换为十进制数的方法是:
用这个M进制数的第N位(从小数点出发从左往右依次为第1位,第2位,第3位……,从小数点出发从右往左依次为第-1位,第-2位,第-3位……)乘以M的N-1次方,然后累计求和。
十六进制中用A,B,C,D,E,F分别表示10,11,12,13,14,15.
(A1.2)16=10*161+1*160+2*16-1=(161.125)10
故选答案C.
2.一个字节(byte)由( )个二进制组成。
A.8 B.16 C.32 D.以上都有可能
解:
此题要求考生掌握计算机存储单元方面的相关知识。
计算机中的信息都是以文件形式被保存和管理的;所有的信息在计算机中都要转化为二进制数。
计算机最基本的存储单元是字节Byte,最小单位是二进制位bit。
1个字节占8个二进制位;比字节大的存储单位还有KB,MB,GB,TB,它们的换算关系是:
1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB.
计算机有一个重要的性能参数:
字长,指的就是CPU一次能处理的二进制信息串的长度,一个汉字按GB2312-80规划转化为二进制信息串后长16位(2个字节),一个英文字母或数字按ASCII码规则转化为二进制信息串后长8位(1个字节)。
故选答案A.
3.以下逻辑表达式的值恒为真的是( )。
A.P∨(┓P∧Q)∨(┓P∧┓Q)
B.Q∨(┓P∧Q)∨(P∧┓Q)
C.P∨Q∨(P∧┓Q)∨(┓P∧Q)
D.P∨┓Q∨(P∧┓Q)∨(┓P∧┓Q)
解:
此题考查逻辑运算方面的知识。
用逻辑运算符连接起来的表达式称为逻辑表达式。
逻辑表达式的运算结果只有两种:
真TRUE或假FALSE.常见的逻辑运算有四种:
非运算:
单目运算,对给定的运算项目取反。
运算符号常用NOT或┓表示;
与运算:
双目运算,只有当参加运算的二者同时为真时与的结果才为真,其余情况都为假。
运算符号常用AND或∧表示。
或运算:
双目运算,只要参加运算的二者有一个为真或的结果就为真。
运算符号常用OR或∨表示。
异或运算:
双目运算,其运算法则是“相同为假,不同为真”,运算符号常用XOR或⊕表示。
这四个运算符的优先级别是:
非运算最优先,其次是与运算,最后才是或运算和异或运算。
此题选答案A。
4.Linux下可执行文件的默认扩展名是( )。
A.exe B.com C.dll D. 以上都不是
解:
通过此题我们可以明显感觉到要适当掌握一些LINUX操作系统的基本知识。
Windows操作系统中可执行文件的默认扩展名有三个:
.com、.exe、.bat,.dll是动态链接库文件。
Linux不根据扩展名判断文件类型,而是根据文件的内容来判断。
所以扩展名的作用是帮助人来识别文件,对于Linux系统本身来说没有什么用处。
故选答案D.
5.如果在某个进制下等式7*7=41成立,那么在该进制下等式12*12=()也成立。
A.100 B.144 C.164 D. 196
解:
设该进制为M进制,则7*7=(49)10=(41)M=4*M1+1*M0=4M+1,解得M=12.所以(12)10=1*12+2=(14)12,因此(12*12)12=(14*14)10=(196)10=(144)12
故选答案B.
6.提出“存储程序”的计算机工作原理的是()。
A.克劳德•香农 B.戈登•摩尔
C.查尔斯•巴比奇 D.冯•诺依曼
解:
通过此题我们可感觉到必须掌握计算机的工作原理、组成原理和发展等方面的知识;另一方面我们也要对计算机发展史中的名人名事要注意积累。
计算机的工作原理是:
存储程序和程序控制,最早是由计算机之父冯·诺依曼,他还研究提出了计算机的硬件由五部分组成的原理。
克劳德·香农使我们的世界能进行立即通信的少数科学家和思想家之一。
信息传输给出基本数学模型的核心人物还是香农。
香农把电话中的噪音除掉,他给出通信速率的上限,这个结论首先用在电话上,后来用到光纤,现在又用在无线通信上。
我们今天能够清晰地打越洋电话或卫星电话,都与通信信道质量的改善密切相关。
他是美国科学院院士、美国工程院院士、英国皇家学会会员、美国哲学学会会员。
他获得过许多荣誉和奖励。
例如1949年Morris奖、1955年Ballantine奖、1962年Kelly奖、1966年的国家科学奖章、IEEE的荣誉奖章、1978年Jaquard奖、1983年Fritz奖、1985年基础科学京都奖。
在硅谷历史上,尤其是在英特尔,摩尔是最令人敬佩的公司创始人之一,是最受人尊敬的科学家,他比其他人更能体现英特尔的模式:
以技术起家,靠创新成长,是真正的技术领袖和最可亲的企业家。
1989年,摩尔从主席职位上光荣退休。
但作为公司永远的名誉主席,摩尔巨大的影响力依然笼罩着整个英特尔公司。
他是英特尔真正的“心脏”。
说起“电脑之父”,首先是指查尔斯·巴比奇(CharlesBabbage)。
这一位十九世纪的英国数学家,发明了世界上第一台机械计算机器——差分机。
在19世纪20、30年代,巴比奇就设计了差分机和分析机,他把机器设计成三个部分,一是用来储存数据信息的“仓库(TheStore)”,二是进行数据运算处理的“工场(Themill)”。
7.前缀表达式“+3*2+5 12”的值是()。
A.23 B.25 C.37 D.65
解:
根据树的前根遍历、中序遍历和后根遍历可以产生三种表达式:
前缀式、中缀式和后缀式。
此表达式所对应的树形结构为:
则其对应的中缀式为:
3+2*(5+12)=37.
故选答案C.
8.主存储器的存取速度比中央处理器(CPU)的工作速度慢的多,从而使得后者的效率受到影响。
而根据局部性原理,CPU所访问的存储单元通常都趋于一个较小的连续区域中。
于是,为了提高系统整体的执行效率,在CPU中引入了( )。
A.寄存器 B.高速缓存 C. 闪存 D.外存
解:
现代计算机存储器普遍采用如图所示的层次结构来实现上述的目标。
存储层次
存储器的层次中包括高速缓冲存储器Cache、主存和辅存,其中,Cache是由小容量(通常为几十KB到几十MB)、高速的半导体存储器件构成,当然这种器件的价格也相对较高;主存一般使用动态半导体存储器件构成,在速度上比Cache慢,但容量更大,价格相对更低,现代机器根据应用要求的不同通常将主存配置到几百MB至几个GB,一些对内存要求很高的场合可配置到几十GB甚至更大;辅存又称海量存储器,通常由磁介质存储器构成,其特点是容量大,速度慢,价格最便宜。
Cache又可以进一步分为片上Cache和板上Cache。
片上Cache是指CPU内部配置的Cache,又称为一级Cache,板上Cache是指计算机主板上配置的Cache,又称为二级Cache。
一级Cache比二级Cache的容量更小,但速度更快。
故选答案B.
9.完全二叉树的顺序存储方案,是指将完全二叉树的结点从上到下、从左到右依次存放到一个顺序结构的数组中。
假定根结点存放在数组的1号位置上,则第k号结点的父结点如果存在的话,应当存放在数组中的( )号位置。
A.2k B.2k+1 C.k/2下取整 D.(k+1)/2
解:
此题显然在考查两个知识点:
完全二叉树和顺序存储。
若设二叉树的高度为h,除第h层外,其它各层(1~h-1)的结点数都达到最大个数,第h层从右向左连续缺若干结点,这就是完全二叉树。
完全二叉树特点
一、叶子结点只可能在最大的两层上出现,对任意结点,若其右分支下的子孙最大层次为L,则其左分支下的子孙的最大层次必为L或L+1;
二、出于简便起见,完全二叉树通常采用数组而不是链表存储,其存储结构如下:
vartree:
array[1..n]oflongint;{n:
integer;n>=1}
对于tree[i],有如下特点:
(1)若i为奇数且i>1,那么tree[i]的左兄弟为tree[i-1];
(2)若i为偶数且i (3)若i>1,tree[i]的双亲为tree[idiv2];
(4)若2*i<=n,那么tree[i]的左孩子为tree[2*i];若2*i+1<=n,那么tree[i]的右孩子为tree[2*i+1];
(5)若i>ndiv2,那么tree[i]为叶子结点(对应于(3));
(6)若i<(n-1)div2.那么tree[i]必有两个孩子(对应于(4))。
特别地:
满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树
故选答案C.
10.以下竞赛活动中历史最悠久的是( )。
A.NOIP B.NOI C.IOI D.APIO
解:
常识的积累是非常重要的。
全国青少年信息学奥林匹克联赛(NationalOlympiadinInformaticsinProvinces,简称NOIP)自1995年至今已举办16次。
每年由中国计算机学会统一组织。
NOIP在同一时间、不同地点以各省市为单位由特派员组织。
全国统一大纲、统一试卷。
初、高中或其他中等专业学校的学生可报名参加联赛。
联赛分初赛和复赛两个阶段。
初赛考察通用和实用的计算机科学知识,以笔试为主。
复赛为程序设计,须在计算机上调试完成。
参加初赛者须达到一定分数线后才有资格参加复赛。
联赛分普及组和提高组两个组别,难度不同,分别面向初中和高中阶段的学生。
1984年邓小平指出:
“计算机的普及要从娃娃做起。
”教育部和中国科协委托中国计算机学会举办了全国青少年计算机程序设计竞赛(简称:
NOI),1984年参加竞赛的有8000多人。
这一新的活动形式受到党和政府的关怀,得到社会各界的关注与支持。
中央领导王震同志出席了首届竞赛发奖大会,并对此项活动给予了充分肯定。
从此每年一次NOI活动,吸引越来越多的青少年投身其中。
十几年来,通过竞赛活动培养和发现了大批计算机爱好者,选拔出了许多优秀的计算机后备人才。
当年的许多选手已成为计算机硕士、博士,有的已经走上计算机科研岗位。
1987年,保加利亚的Sendov教授在联合国教科文组织第24届全体会议上,倡议举行国际信息学奥林匹克,定名为InternationalOlympiadinInformatics,简称IOI。
首届IOI于1989年5月在保加利亚首都索菲亚举行。
亚洲与太平洋地区信息学奥林匹克(Asia-PacificInformaticsOlympiad,APIO),是一个面向亚太地区在校中学生的信息学科竞赛。
旨在给青少年提供更多的赛事机会,推动亚太地区的信息学奥林匹克的发展。
该竞赛性质为区域性的网上准同步赛,每年五月的第一或第二个星期六举办。
第一届APIO于2007年5月2日在澳大利亚举办。
故选答案B.
二、不定项选择题
1.元素R1、R2、R3、R4、R5入栈的顺序为R1、R2、R3、R4、R5。
如果第1个出栈的是R3,那么第5个出栈的可能是( )。
A. R1 B. R2 C.R4 D.R5
解:
此题要求考生必须掌握栈的性质:
后出先出.
如果R3是第一个出栈,说明R1,R2是被先后压在栈中的,这种情况下五个元素出栈的顺序有:
R3,R2,R1,R4,R5;R3,R2,R4,R5,R1;R3,R2,R1,R5,R4;R3,R4,R2,R1,R5;R3,R5,R4,R2,R1;……从中可以看出,只有R2不可能是最后一个出栈。
故选答案ACD。
2.Pascal语言,C语言和C++语言都属于( )。
A.高级语言 B.自然语言 C.解释性语言 D. 编译性语言
解:
此题考查计算机语言的发展和基本常识。
自然语言是指随着人类社会的发展而自然产生的语言,如:
汉语、英语、法语等。
为了使电子计算机进行各种工作,就需要有一套用以编写计算机程序的数字、字符和语法规划,由这些字符和语法规则组成计算机各种指令(或各种语句)。
这些就是计算机能接受的语言,是用于人与计算机之间通讯的语言,又称为“人造语言”。
计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。
机器语言就是指二进制语言,用户难以识别和应用;汇编语言是指令采用了英文缩写的标识符,更容易识别和记忆。
它需要编程者将每一步具体的操作用命令的形式写出来。
这两种语言都是面向机器的语言,与具体的机器的指令系统密切相关,难学难记,且不同的机器的指令系统又往往不同,于是人们又发明了更加易用、其语法和结构更类似普通英文且远离对硬件的直接操作的高级语言。
高级语言源程序可以用解释、编译两种方式执行。
通常用后一种。
(1)解释类:
执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。
(2)编译类:
编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。
但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(*.OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。
现在大多数的编程语言都是编译型的,例如VisualBasic、VisualC++、VisualFoxpro、Delphi、PASCAL等。
故选AD。
3.原地排序是指在排序过程中(除了存储待排序元素以外的)辅助空间的大小与数据规模无关的排序算法。
以下属于原地排序的有( )。
A.冒泡排序 B.插入排序 C.基数排序 D.选择排序
解:
此题是要求我们理解各种排序的基本原理。
原地排序就是指不申请多余的空间来进行的排序,就是在原来的排序数据中比较和交换的排序。
例如快速排序,堆排序等都是原地排序,合并排序,计数排序、基数排序等不是原地排序。
属于原地排序的是:
希尔排序、冒泡排序、插入排序、选择排序、快速排序、堆排序。
故选答案ABD。
4.在整数的补码表示法中,以下说法正确的是( )。
A.只有负整数的编码最高位为1
B.在编码的位数确定后,所能表示的最小整数和最大整数的绝对值相同
C.整数0只有一个唯一的编码
D.两个用补码表示的数相加时,如果在最高位产生进位,则表示运算溢出
解:
此题是每年的的必考内容:
原码、反码和补码。
(1).原码表示法
正数的符号位用0表示,负数的符号位用1表示,后面跟着原数值,二进制数的这种表示法称为原码表示法。
【例2-2-1】假定字长为8位,写出两个十进制数+15与-15的原码。
解:
[+15]原=00001111
[-15]原=10001111
原码表示法简单易懂,但是若遇到两个异号数相加或两个同号数相减,就要做减法运算。
为把减法运算转换为加法运算与逻辑运算,便用到了反码与补码。
(2).反码表示法
正数的反码与原码相同;负数的反码,符号位用1表示,后面跟着的数值位逐位取反,即1变为0,0变为1,二进制数的这种表示法称为反码表示法。
【例2-2-2】假定字长为8位,写出两个十进制数+15与-15的反码。
解:
[+15]反=[+15]原=00001111
[-15]反=11110000
(3).补码表示法
正数的反码、补码与原码相同;负数的补码,符号位用1表示,后面跟着的数值位逐位取反后,末位加1,二进制数的这种表示法称为补码表示法。
【例2-2-3】假定字长为8位,写出两个十进制数+15与-15的补码。
解:
[+15]补=[+15]原=00001111
[-15]补=[-15]反+00000001=11110000+00000001=11110001
采用补码运算时,所获得的结果仍然是补码,若要得到正确的数值,需要对结果再次求补码。
【例2-2-4】采用补码运算12-32。
解:
[12-32]补=[12]补+[-32]补
[12]补=00001100
[-32]原=10100000
[-32]反=11011111
[-32]补=11100000
[12]补+[-32]补=00001100+11100000=11101100
上述结果是个负数,若获得原码,需对数值位1101100再取补码,即
[1101100]补=0010100
所以,运算结果的机器数为10010100,即-20。
与直接做减法的结果完全一样。
答案选AC。
5.一颗二叉树的前序遍历序列是ABCDEFG,后序遍历序列是CBFEGDA,则根结点的左子树的结点个数可能是( )。
A.0 B.2 C.4 D.6
解:
二叉树的遍历也是每年的必考内容。
所谓遍历是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。
根据访问结点操作发生位置命名:
①NLR:
前序遍历(PreorderTraversal亦称(先序遍历))
——访问根结点的操作发生在遍历其左右子树之前。
②LNR:
中序遍历(InorderTraversal)
——访问根结点的操作发生在遍历其左右子树之中(间)。
③LRN:
后序遍历(PostorderTraversal)
——访问根结点的操作发生在遍历其左右子树之后。
注意:
已知一棵二叉树的前序遍历和中序遍历可以唯一确定这棵二叉树;已知一棵二叉树的后序遍历和中序遍历也可以唯一确定这棵二叉树;但已知一棵二叉树的前序遍历和后序遍历却不一定能唯一确定这棵二叉树。
对于本题,完全可以确定A是这棵二叉的根结点。
由前序遍历可以有两种假设:
要么B是左子树的根结点,要么这棵二叉树没有左子树。
如果它没有左子树,那么B就是右子树的根结点(这与后序遍历相矛盾),因此B一定是这棵二叉树的左子树的根结点。
同理,D一定是这棵二叉树的右子树的根结点。
这样以来,就可断定这棵二叉树的左子树有两个结点:
B和C,右子树有四个结点:
D,E,F,G。
故答案选B。
6.在下列HTML语句中,可以正确产生一个指向NOI官方网站的超链接的是( )。
A.//www.noi.cn”>欢迎访问NOI网站
B.//www.noi.cn”>欢迎访问NOI网站
C.http:
//www.noi.cn
D.//www.noi.cn”>欢迎访问NOI网站
解:
此题是近几年新涉及到的知识,是在考查HTML语言的相关语句.
HTML语法大全
a卷标,属性名称,简介
--...-.批注
普通卷动
...滑动
...预设卷动
...来回卷动
...向下卷动
...向上卷动
向右卷动
向左卷动
...卷动次数
...设定宽度
...设定高度
...设定背景颜色
...设定卷动距离
...设定卷动时间
>字体效果
...
标题字(最大)
...
标题字(最小)
...粗体字
...粗体字(强调)
...斜体字
...斜体字(强调)
...斜体字(表示定义)
...底线
...底线(表示插入文字)
...横线
...删除线
...删除线(表示删除)
...键盘文字
...打字体
...固定宽度字体(在文件中空白、换行、定位功能有效)
...固定宽度字体(不执行标记符号)
...固定宽度小字体
...字体颜色
...最小字体
100px>...无限增大
>区断标记
水平线
水平线(设定大小)
水平线(设定宽度)
水平线(设定颜色)
(换行)
...水域(不换行)
...
水域(段落)
...置中
>连结格式