noip2011普及组初赛试题与答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第十七届全国青少年信息学奥林匹克联赛试题(普及组Pascal语言)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(共20题,每题1.5分,共计30分。每题有且仅有一个正确选项。)1、在二进制下,1101001+()=1110110。A、1011B、1101C、1010D、11112、字符“0”的ASCII码为48,则字符“9”的ASCII码为()。A、39B、57C、120D、视具体的计算机而定3、一片容量为8GB的SD卡能存储大约()张大小为2MB的数码照片。A、1600B、2000C、4000D、160004、摩尔定律(Moore'slaw)是由英特尔创始人之一戈登·摩尔(GordonMoore)提出来的。根据摩尔定律,在过去几十年以及在可预测的未来几年,单块集成电路的集成度大约每()个月翻一番。A、1B、6C、18D、365、无向完全图是图中每对顶点之间都恰有一条边的简单图。已知无向完全图G有7个顶点,则它共有()条边。A、7B、21C、42D、496、寄存器是()的重要组成部分。A、硬盘B、高速缓存C、内存D、中央处理器(CPU)7、如果根结点的深度记为1,则一棵恰有2011个叶结点的二叉树的深度最少是()。A、10B、11C、12D、138、体育课的铃声响了,同学们都陆续地奔向操场,按老师的要求从高到矮站成一排。每个同学按顺序来到操场时,都从排尾走向排头,找到第一个比自己高的同学,并站在他的后面。这种站队的方法类似于()算法。A、快速排序B、插入排序C、冒泡排序D、归并排序29、一个正整数在二进制下有100位,则它在十六进制下有()位。A、7B、13C、25D、不能确定10、有人认为,在个人电脑送修前,将文件放入回收站中就是已经将其删除了。这种想法是()。A、正确的,将文件放入回收站意味着彻底删除、无法恢复B、不正确的,只有将回收站清空后,才意味着彻底删除、无法恢复C、不正确的,即使将回收站清空,文件只是被标记为删除,仍可能通过恢复软件找回D、不正确的,只要在硬盘上出现过的文件,永远不可能被彻底删除11、广度优先搜索时,需要用到的数据结构是()。A、链表B、队列C、栈D、散列表12、在使用高级语言编写程序时,一般提到的“空间复杂度”中的“空间”是指()。A、程序运行时理论上所占的内存空间B、程序运行时理论上所占的数组空间C、程序运行时理论上所占的硬盘空间D、程序源文件理论上所占的硬盘空间13、在含有n个元素的双向链表中查询是否存在关键字为k的元素,最坏情况下运行的时间复杂度是()。A、O(1)B、O(logn)C、O(n)D、O(nlogn)14、生物特征识别,是利用人体本身的生物特征进行身份认证的一种技术。目前,指纹识别、虹膜识别、人脸识别等技术已广泛应用于政府、银行、安全防卫等领域。以下不属于生物特征识别技术及其应用的是()。A、指静脉验证B、步态验证C、ATM机密码验证D、声音验证15、现有一段文言文,要通过二进制哈夫曼编码进行压缩。简单起见,假设这段文言文只由4个汉字“之”、“乎”、“者”、“也”组成,它们出现的次数分别为700、600、300、200。那么,“也”字的编码长度是()。A、1B、2C、3D、416、关于汇编语言,下列说法错误的是()。3A、是一种与具体硬件相关的程序设计语言B、在编写复杂程序时,相对于高级语言而言代码量较大,且不易调试C、可以直接访问寄存器、内存单元、以及I/O端口D、随着高级语言的诞生,如今已完全被淘汰,不再使用17、()是一种选优搜索法,按选优条件向前搜索,以达到目标。当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择。A、回溯法B、枚举法C、动态规划D、贪心法18、1956年()授予肖克利(WilliamShockley)、巴丁(JohnBardeen)和布拉顿(WalterBrattain),以表彰他们对半导体的研究和晶体管效应的发现。A、诺贝尔物理学奖B、约翰·冯·诺依曼奖C、图灵奖D、高德纳奖(DonaldE.KnuthPrize)19、对一个有向图而言,如果每个节点都存在到达其他任何节点的路径,那么就称它是强连通的。例如,右图就是一个强连通图。事实上,在删掉边()后,它依然是强连通的。A、aB、bC、cD、d20、从ENIAC到当前最先进的计算机,冯·诺依曼体系结构始终占有重要的地位。冯·诺依曼体系结构的核心内容是()。A、采用开关电路B、采用半导体器件C、采用存储程序和程序控制原理D、采用键盘输入二、问题求解(共2题,每题5分,共计10分)1、每份考卷都有一个8位二进制序列号。当且仅当一个序列号含有偶数个1时,它才是有效的。例如,00000000、01010011都是有效的序列号,而11111110不是。那么,有效的序列号共有________个。2、定义字符串的基本操作为:删除一个字符、插入一个字符和将一个字符修改成另一个字符这三种操作。将字符串A变成字符串B的最少操作步数,称为字符串A到字符串B的编辑距离。字符串ABCDEFG到字符串BADECG的编辑距离为________。三、阅读程序写结果(共4题,每题8分,共计32分)1、Varn,m,i,ans:Integer;BeginReadln(n,m);ans:=0;i:=n;4Whilei=mDoBeginans:=ans+i;Inc(i);End;Writeln(ans);End.输入:1020输出:_________________2、Varmap,tel:String;i:Integer;Beginmap:='22233344455566677778889999';Readln(tel);Fori:=1ToLength(tel)DoIf(tel[i]='0')AND(tel[i]='9')ThenWrite(tel[i])ElseIf(tel[i]='A')AND(tel[i]='Z')ThenWrite(map[Ord(tel[i])-Ord('A')+1]);End.输入:CCF-NOIP-2011输出:__________________3、ConstSIZE=100;Varn,i,sum,x:Integer;a:Array[1..SIZE]OfInteger;BeginReadln(n);FillChar(a,SizeOf(a),0);Fori:=1TonDoBeginRead(x);Inc(a[x]);End;i:=0;sum:=0;Whilesum(nDIV2+1)Do5BeginInc(i);sum:=sum+a[i];End;Writeln(i);End.输入:1145664332321输出:__________________4、Varn,m:Integer;Functionsolve(n,m:Integer):Integer;Vari,sum:Integer;BeginIfm=1ThenBeginsolve:=1;Exit;End;sum:=0;Fori:=1Ton-1Dosum:=sum+solve(i,m-1);solve:=sum;End;BeginReadln(n,m);Writeln(solve(n,m));End.输入:74输出:__________________四、完善程序(前11空,每空2分,后2空,每空3分,共计28分)1、(子矩阵)输入一个n1*m1的矩阵a,和n2*m2的矩阵b,问a中是否存在子矩阵和b相等。若存在,输出所有子矩阵左上角的坐标;若不存在输出“Thereisnoanswer”。ConstSIZE=50;Varn1,m1,n2,m2,i,j,k1,k2:Integer;a,b:Array[1..SIZE,1..SIZE]OfInteger;good,haveAns:Boolean;6BeginReadln(n1,m1);Fori:=1Ton1DoForj:=1Tom1DoRead(a[i][j]);Readln(n2,m2);Fori:=1Ton2DoForj:=1Tom2Do①;haveAns:=FALSE;Fori:=1Ton1-n2+1DoForj:=1To②DoBegin③;Fork1:=1Ton2DoFork2:=1To④DoIfa[i+k1-1][j+k2-1]b[k1][k2]Thengood:=FALSE;IfgoodThenBeginWriteln(i,'',j);⑤;End;End;IfNOThaveAnsThenWriteln('Thereisnoanswer');End.2、(大整数开方)输入一个正整数n(1≤n<10100),试用二分法计算它的平方根的整数部分。ConstSIZE=200;Typehugeint=Recordlen:Integer;num:Array[1..SIZE]OfInteger;End;//len表示大整数的位数;num[1]表示个位、num[2]表示十位,以此类推Vars:String;i:Integer;target,left,middle,right:hugeint;Functiontimes(a,b:hugeint):hugeint;//计算大整数a和b的乘积7Vari,j:Integer;ans:hugeint;BeginFillChar(ans,SizeOf(ans),0);Fori:=1Toa.lenDoForj:=1Tob.lenDo①:=ans.num[i+j-1]+a.num[i]*b.num[j];Fori:=1Toa.len+b.lenDoBeginans.num[i+1]:=ans.num[i+1]+ans.num[i]DIV10;②;Ifans.num[a.len+b.len]0Thenans.len:=a.len+b.lenElseans.len:=a.len+b.len-1;End;times:=ans;End;Functionadd(a,b:hugeint):hugeint;//计算大整数a和b的和Vari:Integer;ans:hugeint;BeginFillChar(ans.num,SizeOf(ans.num),0);Ifa.lenb.lenThenans.len:=a.lenElseans.len:=b.len;Fori:=1Toans.lenDoBeginans.num[i]:=③;ans.num[i+1]:=ans.num[i+1]+ans.num[i]DIV10;ans.num[i]:=ans.num[i]MOD10;End;Ifans.num[ans.len+1]0ThenInc(ans.len);add:=ans;End;Functionaverage(a,b:hugeint):hugeint;//计算大整数a和b的平均数的整数部分Vari:Integer;ans:hugeint;8Beginans:=add(a,b);Fori:=ans.lenDownTo2DoBeginans.num[i-1]:=ans.num[i-1]+(④)*10;ans.num[i]:=ans.num[i]DIV2;End;ans.num[1]:=ans.num[1]DIV2;Ifans.num[ans.len]=0ThenDec(ans.len);average:=ans;End;Functionplustwo(a:hugeint):hugeint;//计算大整数a加2后的结果Vari:Integer;ans:hugeint;Beginans:=a;ans.num[1]:=ans.num[1]+2;i:=1;While(i=ans.len)AND(ans.num[i]=10)DoBeginans.num[i+1]:=ans.num[i+1]+ans.num[i]DIV10;ans.num[i]:=ans.num[i]MOD10;Inc(i);End;Ifans.num[ans

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功