第一范文网 - 专业文章范例文档资料分享平台

NOIP2013普及组初赛试题

来源:用户分享 时间:2025/9/25 12:18:36 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

2013年第十九届全国青少年信息学奥林匹克联赛初赛

普及组 Pascal 语言试题

一、单项选择题(共 20 题,每题 1.5 分,共计 30 分;每题有且仅有一个正确选项) 1. 一个 32 位整型变量占用( A )个字节。 A. 4 B. 8 C. 32 D. 128

2. 二进制数 11.01 在十进制下是(A )。 A. 3.25 B. 4.125 C. 6.25 D. 11.125 3. 下面的故事与( B )算法有着异曲同工之妙。

从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:“从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事........................’”

A. 枚举 B. 递归 C. 贪心 D. 分治

4. 逻辑表达式( )的值与变量 A 的真假无关。

A. (A ? B) ? ?A B. (A ? B) ? ?B C. (A ? B) ? (?A ? B) D. (A ? B) ? ?A ? 5. 将(2, 6, 10, 17)分别存储到某个地址区间为 0~10 的哈希表中,如果哈希函数h(x) =( D ),将不会产生冲突,其中 a mod b 表示 a 除以 b 的余数。 A. x mod 11 B. xmod 11 C. 2x mod 11 D. [

2

X] mod 11,其中[X]表示X下取整

6. 在十六进制表示法中,字母 A 相当于十进制中的( B )。 A. 9 B. 10 C. 15 D. 16 7. 下图中所使用的数据结构是( B )。

8. 在 Windows 资源管理器中,用鼠标右键单击一个文件时,会出现一个名为“复制”的操作选项,它的意思是( C ) 。

A. 用剪切板中的文件替换该文件 B. 在该文件所在文件夹中,将该文件克隆一份 C. 将该文件复制到剪切板,并保留原文件 D. 将该文件复制到剪切板,并删除原文件 9. 已知一棵二叉树有 10 个节点,则其中至多有( A )个节点有 2 个子节点。 A. 4 B. 5 C. 6 D. 7 10. 在一个无向图中,如果任意两点之间都存在路径相连,则称其为连通图。下图是一个有4 个顶点、6 条边的连通图。若要使它不再是连通图,至少要删去其中的(c )条边。 A. 1 B. 2 C. 3 D. 4

11. 二叉树的(A )第一个访问的节点是根节点。

A. 先序遍历 B. 中序遍历 C. 后序遍历 D. 以上都是 12. 以 A0 作为起点,对下面的无向图进行深度优先遍历时,遍历顺序不可能是( C )。 A. A0, A1, A2, A3 B. A0, A1, A3, A2 C. A0, A2, A1, A3 D. A0, A3, A1, A2

13. IPv4 协议使用 32 位地址,随着其不断被分配,地址资源日趋枯竭。因此,它正逐渐被使用(D )位地址的 IPv6 协议所取代。

A. 40 B. 48 C. 64 D. 128

14. (A )的平均时间复杂度为 O(n log n),其中 n 是待排序的元素个数。 A. 快速排序 B. 插入排序 C. 冒泡排序 D. 基数排序

15. 下面是根据欧几里得算法编写的函数,它所计算的是 a 和 b 的( b )。 function euclid(a, b : longint) : longint;

CCF NOIP2013第十九届 初赛普及组 Pascal 语言试题

Begin if b = 0 then euclid := a else euclid := euclid(b, a mod b); end;

A. 最大公共质因子 B. 最小公共质因子C. 最大公约数 D. 最小公倍数 16. 通常在搜索引擎中,对某个关键词加上双引号表示( C )。

A. 排除关键词,不显示任何包含该关键词的结果C. 精确搜索,只显示包含整个关键词的结果 B. 将关键词分解,在搜索结果中必须包含其中的一部分D.站内搜索,只显示关键词所指向网站的内容 17. 中国的国家顶级域名是( A )。

A. .cn B. .ch C. .chn D. .china

18. 把 64 位非零浮点数强制转换成 32 位浮点数后,不可能(d )。 A. 大于原数 B. 小于原数 C. 等于原数 D. 与原数符号相反

19. 下列程序中,正确计算 1, 2, ?, 100 这 100 个自然数之和 sum (初始值为 0) 的是( a )。

A. i := 1; B. i := 1;

repeat repeat

sum := sum + i; inc(i); sum := sum + i; inc(i);

until i > 100; until i <= 100;

C. i := 1; D. i := 1;

while i < 100 do while i >= 100 do

begin begin

sum := sum + i; inc(i); sum := sum + i; inc(i);

end; end;

20.

CCF

NOIP 复赛全国统一评测时使用的系统软件是( b )。

A. NOI Windows B. NOI Linux C. NOI Mac OS D. NOI DOS

二、问题求解(共 2 题,每题 5 分,共计 10 分;每题全部答对得 5 分,没有部分分) 1. 7 个同学围坐一圈,要选 2 个不相邻的作为代表,有__14______种不同的选法。

2. 某系统自称使用了一种防窃听的方式验证用户密码。密码是 n 个数 s1, s2, ?, sn,均为 0或 1。 该系统每次随机生成 n 个数 a1, a2, ?, an, 均为 0 或 1, 请用户回答(s1a1 + s2a2 + ?+ snan)除以 2 的余数。如果多次的回答总是正确,即认为掌握密码。该系统认为,即使问答的过程被泄露,也无助于破解密码——因为用户并没有直接发送密码。

然而,事与愿违。例如,当 n = 4 时,有人窃听了以下 5 次问答:

就破解出了密码 s1 = ____0_____, s2 = ____1_____, s3 = ____1_____, s4 = ____1_____。 三、阅读程序写结果(共 4 题,每题 8 分,共计 32 分) 1. Var a,b: integer; begin

readln(a, b);

CCF NOIP2013第十九届 初赛普及组 Pascal 语言试题

writeln(a, '+', b, '=', a+b); end.

输入:3 5 输出:___3+5=8______ 2. Var a, b, u, i, num : integer; 2 4 6 9 11 15 17 18 19 20 21 25 begin 输出:____7_____ readln(a, b, u); 4. const SIZE = 100; num := 0; Var n, ans, i, j : integer; for i:= a to b do height, num : array[1..SIZE] of integer; begin begin if (i mod u = 0) then inc(num); read(n); end; for i := 1 to n do writeln(num); begin end. read(height[i]); 输入:1 100 15 num[i] := 1; 输出:____6_____ for j := 1 to i-1 do 3. const SIZE = 100; begin Var n, f, i, left, right, middle : integer; if ((height[j] < height[i]) and a:array[1..SIZE] of integer; (num[j] >= num[i])) then num[i] := begin num[j]+1; readln(n, f); end; for i := 1 to n do read(a[i]); end; left := 1; ans := 0; right := n; for i := 1 to n do repeat begin middle := (left+right) div 2; if (num[i] > ans) then ans := num[i]; if (f <= a[middle]) then right := middle end; Else left := middle+1; writeln(ans); until (left >= right); end. writeln(left); 输入: end. 6 输入: 2 5 3 11 12 4 12 17 输出:_____4____ 四、完善程序(共 2 题,每题 14 分,共计 28 分) 1. (序列重排)全局数组变量 a 定义如下: const int SIZE = 100; int a[SIZE], n;

它记录着一个长度为 n 的序列 a[1], a[2], ?, a[n]。 现在需要一个函数,以整数 p (1 ≤ p ≤ n)为参数,实现如下功能:将序列 a 的前 p个数与后 n – p 个数对调,且不改变这 p 个数(或 n – p 个数)之间的相对位置。例如,长度为 5 的序列 1, 2, 3, 4, 5,当 p = 2 时重排结果为 3, 4, 5, 1, 2。

有一种朴素的算法可以实现这一需求, 其时间复杂度为 O(n)、空间复杂度为 O(n): procedure swap1(p : longint); Var i : longint;

b : array[1..SIZE] of longint; begin

for i := 1 to p do b[ n-p+i ] := a[i]; //(3 分)

CCF NOIP2013第十九届 初赛普及组 Pascal 语言试题

for i := p + 1 to n do b[i - p] :=a[i]; (2) ; //(3 分) for i := 1 to n do a[i] := b[i]; //(2 分) end;

2

我们也可以用时间换空间,使用时间复杂度为 O(n)、空间复杂度为 O(1)的算法: procedure swap2(p : longint); Var i, j, temp : longint; begin

for i := p + 1 to n do begin

temp := a[i];

for j := i downto i-p+1(4) do a[j] := a[j - 1]; //(3 分) (5)a[i-p] := temp; //(3 分) end; end;

2. (二叉查找树) 二叉查找树具有如下性质:每个节点的值都大于其左子树上所有节点的值、小于其右子树上所有节点的值。试判断一棵树是否为二叉查找树。

输入的第一行包含一个整数 n,表示这棵树有 n 个顶点,编号分别为 1, 2, ?, n,其中编号为 1 的为根结点。之后的第 i 行有三个数 value, left_child, right_child,分别表示该节点关键字的值、 左子节点的编号、右子节点的编号;如果不存在左子节点或右子节点,则用 0 代替。输出 1 表示这棵树是二叉查找树,输出 0 则表示不是。 program Bst;

const SIZE = 100;

const INFINITE = 1000000; type node = record

left_child, right_child, value : longint; end;

Var a : array[1..SIZE] of node; i, n : longint;

function is_bst(root, lower_bound, upper_bound : longint) : longint; Var cur : longint; begin

if root = 0 then begin

is_bst := 1; exit; end;

cur := a[root].value;

if (cur > lower_bound) and ( (1) cur ) and //(3 分) (is_bst(a[root].left_child, lower_bound, cur) = 1) and (is_bst( (2) a[root].right_child , (3) cur , (4) upear_bound ) = 1) then is_bst := 1//(3 分,3 分,3 分) Else is_bst := 0; end; begin

readln(n);

for i := 1 to n do

read(a[i].value, a[i].left_child, a[i].right_child);

CCF NOIP2013第十九届 初赛普及组 Pascal 语言试题

writeln(is_bst( (5) 1 , -INFINITE, INFINITE)); //(2 分) End.

CCF NOIP2013第十九届 初赛普及组 Pascal 语言试题

搜索更多关于: NOIP2013普及组初赛试题 的文档
NOIP2013普及组初赛试题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c097zj7xffw175ln25rop_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top