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

NOIP2014提高组Pascal初赛试题


第二十届全国青少年信息学奥林匹克联赛初赛
提高组 Pascal 语言试题 竞赛时间:2014 年 10 月 12 日 14:30~16:30
选手注意:
? ? 试题纸共有 10 页,答题纸共有 2 页,满分 100 分。请在答题纸上作答,写在试题纸上 的一律无效。 不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
<

br />一、单项选择题(共 15 题,每题 1.5 分,共计 22.5 分;每题有且仅有一个正确 选项)
1. 以下哪个是面向对象的高级语言( A. 2. 汇编语言 B. C++ )。 C. 2 的 30 次方 )。 C. 01000101 D. 00111001 D. 2 的 40 次方 )。 C. Fortran D. Basic

1TB 代表的字节数量是( A. 2 的 10 次方 B.

2 的 20 次方

3.

二进制数 00100100 和 00010101 的和是( A. 00101000 B. 001010100 ) 。 C.

4.

TCP 协议属于哪一层协议( A. 应用层 B.

传输层

网络层 )。 256.256.129.1 )倍。 2

D.

数据链路层

5.

下列几个 32 位 IP 地址中,书写错误的是( A. 162.105.136.27 B. 192.168.0.1 C.

D.

10.0.0.1

6.

在无向图中,所有顶点的度数之和是边数的( A. 0.5 B. 1 C.

D.

4

7.

对长度为 n 的有序单链表, 若检索每个元素的概率相等, 则顺序检索到表中任一元素的 平均检索长度为( A. n/2 )。 B. (n+1)/2 )。 C. (n-1)/2 D. n/4

8.

编译器的主要功能是(

CCF NOIP2014 初赛提高组 Pascal 语言试题 第 1 页,共 10 页

A. B. C. D. 9.

将一种高级语言翻译成另一种高级语言 将源程序翻译成指令 将低级语言翻译成高级语言 将源程序重新组合 )。 C. 6.125 D. 7.625

二进制数 111.101 所对应的十进制数是( A. 5.625 B. 5.5

10. 若有变量 var a: integer; x, y: real;,且 a := 7,x := 2.5,y := 4.7,则 表达式 x + a mod 3 * trunc(x + y) mod 2 div 4 的值大约是( A. 2.500000 B. 2.750000 C. 3.500000 D. )。 0.000000

11. 有以下结构体说明和变量定义,如图所示,指针 p、q、r 分别指向一个链表中的三个连 续结点。 type ptr = ^node; node = record data: integer; next: ptr; end; var p, q, r: ptr; 现要将 q 和 r 所指结点的先后位置交换,同时要保持链表的连续,以下程序段中错误 的是( A. B. C. D. )。 q^.next = r^.next; p^.next = r; r^.next = q; p^.next = r; q^.next = r^.next; r^.next = q; q^.next = r^.next; r^.next = q; p^.next = r; r^.next = q; q^.next = r^.next; p^.next = r; )。 D. 2n-2 )条边。

12. 同时查找 2n 个数中的最大值和最小值,最少比较次数为( A. 3(n-2)/2 B. 4n-2 C. 3n-2

13. 设 G 是有 6 个结点的完全图,要得到一棵生成树,需要从 G 中删去( A. 6 B. 9 C. 10 )。 C. 冒泡排序 D. D. 15

14. 以下时间复杂度不是 O(n2)的排序方法是( A. 插入排序 B. 归并排序

选择排序

CCF NOIP2014 初赛提高组 Pascal 语言试题 第 2 页,共 10 页

15. 以下程序段实现了找第二小元素的算法。输入是 n 个不等的数构成的数组 S,输出 S 中 第二小的数 SecondMin。在最坏情况下,该算法需要做( if S[1] < S[2] then begin FirstMin := S[1]; SecondMin := S[2]; end else begin FirstMin := S[2]; SecondMin := S[1]; end; for i := 3 to n do if S[i] < SecondMin then if S[i] < FirstMin then begin SecondMin := FirstMin; FirstMin := S[i]; end else SecondMin := S[i]; A. 2n B. n-1 C. 2n-3 D. 2n-2 )次比较。

二、不定项选择题(共 5 题,每题 1.5 分,共计 7.5 分;每题有一个或多个正确 选项,多选或少选均不得分)
1. 若逻辑变量 A、C 为真,B、D 为假,以下逻辑运算表达式为真的有( A. C. 2. (B ? C ? D) ? D ? A (A ? B) ? (C ? D ? ? A) )软件属于操作系统软件。 B. D. ((? A ?B) ? C) ? ? B A ? (D ? ? C) ? B )。

下列( A. B. C. D. E.

Microsoft Word Windows XP Android Mac OS X Oracle
CCF NOIP2014 初赛提高组 Pascal 语言试题 第 3 页,共 10 页

3.

在 NOI 比赛中,对于程序设计题,选手提交的答案不得包含下列哪些内容( A. B. C. D. E. 试图访问网络 打开或创建题目规定的输入/输出文件之外的其他文件 运行其他程序 改变文件系统的访问权限 读写文件系统的管理信息 以下哪些结构可以用来存储图( A. 邻接矩阵 B. 栈 )。 C. 邻接表 D. )。 D. 199 二叉树

)。

4.

5.

下列各无符号十进制整数中,能用八位二进制表示的数有( A. 296 B. 133 C. 256

三、问题求解(共 2 题,每题 5 分,共计 10 分;每题全部答对得 5 分,没有部 分分)
1. 2. 由数字 1,1,2,4,8,8 所组成的不同的四位数的个数是_________。 如图所示, 图中每条边上的数字表示该边的长度, 则从 A 到 E 的最短距离是_________。

四、阅读程序写结果(共 4 题,每题 8 分,共计 32 分)
1. var a, b, i, tot, c1, c2: integer; begin
CCF NOIP2014 初赛提高组 Pascal 语言试题 第 4 页,共 10 页

readln(a, b); tot := 0; for i := a to b do begin c1 := i div 10; c2 := i mod 10; if (c1 + c2) mod 3 = 0 then inc(tot); end; writeln(tot); end. 输入:7 31 输出:_________ 2. var n, m: integer; function fun(n, minNum, maxNum: integer): integer; var tot, i: integer; begin if n = 0 then exit(1); tot := 0; for i := minNum to maxNum do tot := tot + fun(n - 1, i + 1, maxNum); exit(tot); end; begin readln(n, m); writeln(fun(m, 1, n)); end. 输入:6 3 输出:_________

CCF NOIP2014 初赛提高组 Pascal 语言试题 第 5 页,共 10 页

3.

const SIZE = 100; var dict: array [1..SIZE] of string; rank, ind: array [1..SIZE] of integer; i, j, n, tmp: integer; begin readln(n); for i := 1 to n do begin rank[i] := i; ind[i] := i; readln(dict[i]); end; for i := 1 to n - 1 do for j := 1 to n - i do if dict[ind[j]] > dict[ind[j + 1]] then begin tmp := ind[j]; ind[j] := ind[j + 1]; ind[j + 1] := tmp; end; for i := 1 to n do rank[ind[i]] := i; for i := 1 to n do write(rank[i], ' '); writeln; end. 输入: 7 aaa aba bbb aaa aaa

CCF NOIP2014 初赛提高组 Pascal 语言试题 第 6 页,共 10 页

ccc aa 输出:_________ 4. const SIZE = 100; var alive: array [1..SIZE] of integer; n, m, num, i, j: integer; function next(num: integer): integer; begin repeat inc(num); if num > n then num := 1; until alive[num] <> 0; exit(num); end; begin read(n, m); for i := 1 to n do alive[i] := 1; num := 1; for i := 1 to n do begin for j := 1 to m - 1 do num := next(num); write(num, ' '); alive[num] := 0; if i < n then num := next(num); end; writeln; end.

CCF NOIP2014 初赛提高组 Pascal 语言试题 第 7 页,共 10 页

输入:11 3 输出:_________

五、完善程序(每题 14 分,共计 28 分)
1. (双栈模拟数组)只使用两个栈结构 stack1 和 stack2,模拟对数组的随机读取。作为栈 结构,stack1 和 stack2 只能访问栈顶(最后一个有效元素)。栈顶指针 top1 和 top2 均 指向栈顶元素的下一个位置。 输入第一行包含两个整数, 分别是数组长度 n 和访问次数 m, 中间用单个空格隔开。 第二行包含 n 个整数,依次给出数组各项(数组下标从 0 到 n-1)。第三行包含 m 个整 数, 需要访问的数组下标。 对于每次访问, 输出对应的数组元素。 (前两空每空 2.5 分, 其余每空 3 分,共 14 分) const SIZE = 100; var stack1, stack2: array [0..SIZE] of integer; top1, top2: integer; n, m, i, j: integer; procedure clearStack(); var i: integer; begin for i := top1 to SIZE do stack1[i] := 0; for i := top2 to SIZE do stack2[i] := 0; end; begin read(n, m); for i := 0 to n - 1 do read(stack1[i]); top1 := top2 := (1) (2) ; ;

CCF NOIP2014 初赛提高组 Pascal 语言试题 第 8 页,共 10 页

for j := 0 to m - 1 do begin read(i); while (i < top1 - 1) do begin dec(top1); (3) inc(top2); end; while (i > top1 - 1) do begin dec(top2); (4) inc(top1); end; clearStack(); writeln(stack1[ end; end. (5) ]); ; ;

2.

(最大子矩阵和)给出 m 行 n 列的整数矩阵,求最大的子矩阵和(子矩阵不能为空)。 输入第一行包含两个整数 m 和 n,即矩阵的行数和列数。之后 m 行,每行 n 个整 数,描述整个矩阵。程序最终输出最大的子矩阵和。(第一空 2 分,其余 3 分,共 14 分)

const SIZE = 100; var matrix: array [1..SIZE, 1..SIZE] of integer; rowsum: array [1..SIZE, 0..SIZE] of integer; // rowsum[i, j]记录前 i 行前 j 个数的和 m, n, i, j, first, last, area, ans: integer; begin read(m, n); for i := 1 to m do

CCF NOIP2014 初赛提高组 Pascal 语言试题 第 9 页,共 10 页

for j := 1 to n do read(matrix[i, j]); ans := matrix (2) ; (1) ; for i := 1 to m do for i := 1 to m do for j := 1 to n do rowsum[i, j] := for first := 1 to n do for last := first to n do begin (4) begin area := area + ans := area; if (area < 0) then area := 0; end; end; writeln(ans); end. (5) ; if (area > ans) then ; for i := 1 to m do (3) ;

CCF NOIP2014 初赛提高组 Pascal 语言试题 第 10 页,共 10 页


相关文章:
Noip2014初赛提高组C试题及答案(完整版)
Noip2014初赛提高组C试题及答案(完整版)_IT认证_资格考试/认证_教育专区。Noip2014 初赛提高组试题及答案(完整版) 提高组 C 语言试题 一、单项选择题(每题 1.5...
NOIP2014提高组复赛试题
NOIP2014提高组复赛试题_学科竞赛_高中教育_教育专区。CCF 全国信息学奥林匹克...交源程序文件名 对于 C++语言 对于 C 语言 对于 pascal 语言 rps.cpp rps.c...
NOIP2014提高组Pascal初赛试题.pdf
NOIP2014提高组Pascal初赛试题.pdf_IT认证_资格考试/认证_教育专区。第二十届全国青少年信息学奥林匹克联赛初赛提高组 Pascal 语言试题 竞赛时间:2014 年 10 月 12...
noip2014普及组初赛试题
noip2014普及组初赛试题_学科竞赛_初中教育_教育专区。noip2014普及组初赛试题 第二十届全国青少年信息学奥林匹克联赛初赛普及组 pascal 语言试题 1、以下哪个是面向...
noip2014初赛试题
noip2014初赛试题_学科竞赛_初中教育_教育专区。第二十届全国青少年信息学奥林匹克联赛初赛 普及组 pascal 语言试题 1、以下哪个是面向对象的高级语言()A.汇编语言B...
NOIP(2014)第二十届全国青少年信息学奥林匹克联赛初赛试题及答案(提高组试题及答案PASCAL)
NOIP(2014)第二十届全国青少年信息学奥林匹克联赛初赛试题及答案(提高组试题及答案PASCAL)_学科竞赛_高中教育_教育专区。NOIP(2014)第二十届全国青少年信息学奥林...
NOIP2014提高组第一试题解
NOIP2014提高组第一试题解_学科竞赛_高中教育_教育专区。NOIP2014提高组第一试题NOIP2014 提高组第一试题解【第一题】石头剪刀布 rps 【题目大意】 a 和 b...
NOIP2014提高组复赛试题day1+day2
NOIP2014提高组复赛试题day1+day2_从业资格考试_资格考试/认证_教育专区。CCF ...NOIP2014提高组Pascal初... 10页 免费 NOIP2014初赛提高组Pasc... 8页 免费...
NOIP2014提高组复赛试题(C语言版)
NOIP2014提高组复赛试题(C语言版)_其它课程_高中教育_教育专区。NOIP2014提高组...交源程序文件名 对于 C++语言 对于 C 语言 对于 pascal 语言 wireless.cpp ...
更多相关标签:
noip提高组初赛pascal | noip提高组初赛试题 | noip提高组初赛试题 c | noip2016初赛pascal | noip普及组初赛pascal | pascal语言初赛试题 | noip2015提高组初赛 | noip2016提高组初赛 |