NOIP第十七初赛Pascal普及组试题与答案Word精排版

上传人:沈*** 文档编号:61117692 上传时间:2022-03-10 格式:DOC 页数:11 大小:151.50KB
收藏 版权申诉 举报 下载
NOIP第十七初赛Pascal普及组试题与答案Word精排版_第1页
第1页 / 共11页
NOIP第十七初赛Pascal普及组试题与答案Word精排版_第2页
第2页 / 共11页
NOIP第十七初赛Pascal普及组试题与答案Word精排版_第3页
第3页 / 共11页
资源描述:

《NOIP第十七初赛Pascal普及组试题与答案Word精排版》由会员分享,可在线阅读,更多相关《NOIP第十七初赛Pascal普及组试题与答案Word精排版(11页珍藏版)》请在装配图网上搜索。

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

2、、160004、摩尔定律(Moores law)是由英特尔创始人之一戈登摩尔(Gordon Moore)提出来的。根据摩尔定律,在过去几十年以及在可预测的未来几年,单块集成电路的集成度大约每( )个月翻一番。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、体育课的铃声响

3、了,同学们都陆续地奔向操场,按老师的要求从高到矮站成一排。每个同学按顺序来到操场时,都从排尾走向排头,找到第一个比自己高的同学,并站在他的后面。这种站队的方法类似于( )算法。A、快速排序B、插入排序C、冒泡排序D、归并排序9、一个正整数在二进制下有 100 位,则它在十六进制下有( )位。A、7B、13C、25D、不能确定10、有人认为,在个人电脑送修前,将文件放入回收站中就是已经将其删除了。这种想法是( )。A、正确的,将文件放入回收站意味着彻底删除、无法恢复B、不正确的,只有将回收站清空后,才意味着彻底删除、无法恢复C、不正确的,即使将回收站清空,文件只是被标记为删除,仍可能通过恢复软件

4、找回D、不正确的,只要在硬盘上出现过的文件,永远不可能被彻底删除11、广度优先搜索时,需要用到的数据结构是( )。A、链表B、队列C、栈D、散列表12、在使用高级语言编写程序时,一般提到的“空间复杂度”中的“空间”是指( )。A、程序运行时理论上所占的内存空间B、程序运行时理论上所占的数组空间C、程序运行时理论上所占的硬盘空间D、程序源文件理论上所占的硬盘空间13、在含有 n 个元素的双向链表中查询是否存在关键字为 k 的元素,最坏情况下运行的时间复杂度是( )。A、O(1)B、O(log n)C、O(n)D、O(n log n)14、生物特征识别,是利用人体本身的生物特征进行身份认证的一种技

5、术。目前,指纹识别、虹膜识别、人脸识别等技术已广泛应用于政府、银行、安全防卫等领域。以下不属于生物特征识别技术及其应用的是( )。A、指静脉验证B、步态验证C、ATM 机密码验证D、声音验证15、现有一段文言文,要通过二进制哈夫曼编码进行压缩。简单起见,假设这段文言文只由 4 个汉字“之”、“乎”、“者”、“也”组成,它们出现的次数分别为 700、600、300、 200。那么,“也”字的编码长度是( )。A、1B、2C、3D、416、关于汇编语言,下列说法错误的是( )。A、是一种与具体硬件相关的程序设计语言B、在编写复杂程序时,相对于高级语言而言代码量较大,且不易调试C、可以直接访问寄存器

6、、内存单元、以及 I/O 端口D、随着高级语言的诞生,如今已完全被淘汰,不再使用17、( )是一种选优搜索法,按选优条件向前搜索,以达到目标。当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择。A、回溯法B、枚举法C、动态规划D、贪心法18、1956 年( )授予肖克利(William Shockley)、巴丁(John Bardeen)和布拉顿(Walter Brattain),以表彰他们对半导体的研究和晶体管效应的发现。A、诺贝尔物理学奖B、约翰冯诺依曼奖C、图灵奖D、高德纳奖(Donald E. Knuth Prize)19、对一个有向图而言,如果每个节点都存在到达其他

7、任何节点的路径,那么就称它是强连通的。例如,右图就是一个强连通图。事实上,在删掉边( )后,它依然是强连通的。A、aB、bC、cD、d20、从 ENIAC 到当前最先进的计算机,冯诺依曼体系结构始终占有重要的地位。冯诺依曼体系结构的核心内容是( )。A、采用开关电路B、采用半导体器件C、采用存储程序和程序控制原理D、采用键盘输入二、问题求解(共 2 题,每题 5 分,共计 10 分)1、每份考卷都有一个 8 位二进制序列号。当且仅当一个序列号含有偶数个 1 时,它才是有效的。例如,00000000、01010011 都是有效的序列号,而 11111110 不是。那么,有效的序列号共有_个。2、

8、定义字符串的基本操作为:删除一个字符、插入一个字符和将一个字符修改成另一个字符这三种操作。将字符串 A 变成字符串 B 的最少操作步数,称为字符串 A 到字符串 B 的编辑距离。字符串ABCDEFG到字符串BADECG的编辑距离为_。三、阅读程序写结果(共 4 题,每题 8 分,共计 32 分)1、Var n, m, i, ans : Integer;Begin Readln(n, m); ans := 0; i := n; While i = 0) AND (teli = A) AND (teli = Z) Then Write(mapOrd(teli) - Ord(A) + 1);End.

9、输入:CCF-NOIP-2011输出:_3、Const SIZE = 100;Var n, i, sum, x : Integer; a : Array1.SIZE Of Integer;Begin Readln(n); FillChar(a, SizeOf(a), 0); For i := 1 To n Do Begin Read(x); Inc(ax); End; i := 0; sum := 0; While sum (n DIV 2 + 1) Do Begin Inc(i); sum := sum + ai; End; Writeln(i);End.输入:114 5 6 6 4 3 3

10、 2 3 2 1输出:_4、Var n, m : Integer;Function solve(n, m : Integer) : Integer; Var i, sum : Integer; Begin If m = 1 Then Begin solve := 1; Exit; End; sum := 0; For i := 1 To n - 1 Do sum := sum + solve(i, m - 1); solve := sum; End;Begin Readln(n, m); Writeln(solve(n, m);End.输入:7 4输出:_四、完善程序(前 11 空,每空 2

11、分,后 2 空,每空 3 分,共计 28 分)1、(子矩阵)输入一个n1*m1的矩阵a,和n2*m2的矩阵b,问a中是否存在子矩阵和b相等。若存在,输出所有子矩阵左上角的坐标;若不存在输出“There is no answer”。Const SIZE = 50;Var n1, m1, n2, m2, i, j, k1, k2 : Integer; a, b : Array1.SIZE, 1.SIZE Of Integer; good, haveAns : Boolean;Begin Readln(n1, m1); For i := 1 To n1 Do For j := 1 To m1 Do

12、Read(aij); Readln(n2, m2); For i := 1 To n2 Do For j := 1 To m2 Do ; haveAns := FALSE; For i := 1 To n1 - n2 + 1 Do For j := 1 To Do Begin ; For k1 := 1 To n2 Do For k2 := 1 To Do If ai + k1 - 1j + k2 - 1 bk1k2 Then good := FALSE; If good Then Begin Writeln(i, , j); ; End; End; If NOT haveAns Then W

13、riteln(There is no answer);End.2、(大整数开方)输入一个正整数n(1n10100),试用二分法计算它的平方根的整数部分。Const SIZE = 200;Type hugeint = Record len : Integer; num : Array1.SIZE Of Integer; End; /len表示大整数的位数;num1表示个位、num2表示十位,以此类推Var s : String; i : Integer; target, left, middle, right : hugeint;Function times(a, b : hugeint) :

14、hugeint; / 计算大整数 a 和 b 的乘积 Var i, j : Integer; ans : hugeint; Begin FillChar(ans, SizeOf(ans), 0); For i := 1 To a.len Do For j := 1 To b.len Do := ans.numi + j - 1 + a.numi * b.numj; For i := 1 To a.len + b.len Do Begin ans.numi + 1 := ans.numi + 1 + ans.numi DIV 10; ; If ans.numa.len + b.len 0 The

15、n ans.len := a.len + b.len Else ans.len := a.len + b.len - 1; End; times := ans; End;Function add(a, b : hugeint) : hugeint; / 计算大整数 a 和 b 的和 Var i : Integer; ans : hugeint; Begin FillChar(ans.num, SizeOf(ans.num), 0); If a.len b.len Then ans.len := a.len Else ans.len := b.len; For i := 1 To ans.len

16、 Do Begin ans.numi := ; ans.numi + 1 := ans.numi + 1 + ans.numi DIV 10; ans.numi := ans.numi MOD 10; End; If ans.numans.len + 1 0 Then Inc(ans.len); add := ans; End;Function average(a, b : hugeint) : hugeint; / 计算大整数 a 和 b 的平均数的整数部分 Var i : Integer; ans : hugeint; Begin ans := add(a, b); For i := an

17、s.len DownTo 2 Do Begin ans.numi - 1 := ans.numi - 1 + ( ) * 10; ans.numi := ans.numi DIV 2; End; ans.num1 := ans.num1 DIV 2; If ans.numans.len = 0 Then Dec(ans.len); average := ans; End;Function plustwo(a : hugeint) : hugeint; / 计算大整数 a 加 2 后的结果 Var i : Integer; ans : hugeint; Begin ans := a; ans.n

18、um1 := ans.num1 + 2; i := 1; While (i = 10) Do Begin ans.numi + 1 := ans.numi + 1 + ans.numi DIV 10; ans.numi := ans.numi MOD 10; Inc(i); End; If ans.numans.len + 1 0 Then ; plustwo := ans; End;Function over(a, b : hugeint) : Boolean; / 若大整数 a b 则返回 1, 否则返回 0 Var i : Integer; Begin If ( ) Then Begin

19、 over := FALSE; Exit; End; If a.len b.len Then Begin over := TRUE; Exit; End; For i := a.len DownTo 1 Do Begin If a.numi b.numi Then Begin over := TRUE; Exit; End; End; over := FALSE; End;Begin Readln(s); FillChar(target.num, SizeOf(target.num), 0); target.len := Length(s); For i := 1 To target.len

20、Do target.numi := Ord(starget.len - i + 1) - ; FillChar(left.num, SizeOf(left.num), 0); left.len := 1; left.num1 := 1; right := target; Repeat middle := average(left, right); If over( ) Then right := middle Else left := middle; Until over(plustwo(left), right); For i := left.len DownTo 1 Do Write(le

21、ft.numi); Writeln;End. 11CCF NOIP2011 初赛普及组 Pascal CCF NOIP2011普及组(Pascal语言)参考答案与评分标准一、单项选择题(共20题,每题1.5分,共计30分)12345678910BBCCBDCBCC11121314151617181920BACCCDAAAC二、问题求解(共2题,每题5分,共计10分)112823三、阅读程序写结果(共4题,每题8分,共计32分)116522236647201133420四、完善程序(前11空,每空2分,后2空,每空3分,共计28分)(说明:以下各程序填空可能还有一些等价的写法,各省可请本省专家审定和上机验证,不一定上报科学委员会审查)1read(bij)m1 - m2 + 1good := true m2haveAns := true 2ans.numi + j - 1ans.numi := ans.numi mod 10;ans.numi + a.numi + b.numi;ans.numi mod 2 (或ans.numi and 1)inc(ans.len) (或ans.len := ans.len + 1)a.lenb.lenord(0)(或48)times(middle, middle), target

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!