1、江西江西江西江西CCF NOIP2016初赛 普及 组 Pascal语言试题 第 1页 , 共 10页 第 二十 二 届全国青少年信息学奥林匹克联赛 初赛 普及 组 Pascal语言 试题 竞赛时间: 2016年 10月 22日 14:3016:30 选手 注意: 试题纸 共有 10页, 答题纸共有 2页,满分 100分。请在答题纸上作答 ,写在 试题纸 上的一律无效。 不得 使用 任何电子设备(如计算器、手机、电子词典等)或 查阅 任何书籍资料。 一、单项选择题(共 20题,每题 1.5分,共计 30分 ; 每题有且仅有一个正确选项) 1. 以下 不是微软公司出品的软件是 ( ) 。 A.
2、Powerpoint B. Word C. Excel D. Acrobat Reader 2. 如果 256种颜色用二进制编码来表示,至少需要 ( ) 位 。 A. 6 B. 7 C. 8 D. 9 3. 以下不属于无线通信技术的是 ( )。 A. 蓝牙 B. WiFi C. GPRS D. 以太网 4. 以下 不是 CPU生产厂商 的是 ( ) 。 A. Intel B. AMD C. Microsoft D. IBM 5. 以下 不是存储设备 的是 ( ) 。 A. 光盘 B. 磁盘 C. 固态硬盘 D. 鼠标 6. 如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照 CapsL
3、ock、字母键 A、字母键 S和字母键 D的顺序循环按键,即 CapsLock、 A、 S、 D、CapsLock、 A、 S、 D、 , 屏幕上输出的第 81个字符是 字母 ( ) 。 A. A B. S C. D D. a 7. 二进制数 00101100和 00010101的和是 ( ) 。 A. 00101000 B. 01000001 C. 01000100 D. 00111000 8. 与二进制小数 0.1相等的八进制数是 ( )。 A. 0.8 B. 0.4 C. 0.2 D. 0.1 江西江西江西江西CCF NOIP2016初赛 普及 组 Pascal语言试题 第 2页 , 共
4、 10页 9. 以下是 32位机器和 64位机器 的 区别 的是 ( ) 。 A. 显示器不同 B. 硬盘大小不同 C. 寻址空间不同 D. 输入法不同 10. 以下关于字符串的判定语句中正确的是 ( ) 。 A. 字符串是一种特殊的线性表 B. 串的长度必须大于零 C. 字符串不可以用数组来表示 D. 空格字符组成的串就是空串 11. 一棵二叉树如右图所示,若采用顺序存储结构,即用一维数组元素存储该二叉树中的结点(根结点的下标为 1,若某结点的下标为 i ,则其左孩子位于下标 2i处、右孩子位于下标 (2i+1)处),则图中所有结点的最大下标为( ) 。 A. 6 B. 10 C. 12 D
5、. 15 12. 若有如下程序段,其中 s、 a、 b、 c均已定义为整型变量 , 且 a、 c均已赋值( c大于 0) 。 s := a; for b := 1 to c do s := s + 1; 则与上述程序段 修改 s值的 功能等价的赋值语句是 ( )。 A. s := a + b; B. s := a + c; C. s := s + c; D. s := b + c; 13. 有以下程序 : var k, n: longint; begin k := 4; n := 0; while n 0 then continue; dec(k); end; writeln(k, , n);
6、 end. 程序运行后的输出结果是 ( ) 。 A. 2,2 B. 2,3 C. 3,2 D. 3,3 14. 给定含有 n个不同的数的数组 L=。如果 L中存在 xi( 1 xi+1 . xn, 则称 L是单峰的,并称 xi是 L的江西江西江西江西CCF NOIP2016初赛 普及 组 Pascal语言试题 第 3页 , 共 10页 有水 有水 果树 “峰顶”。现在已知 L是单峰的,请把 a-c三行代码补全到算法中使得算法正确找到 L的峰顶。 a. Search(k+1, n) b. Search(1, k-1) c. return Lk Search(1, n) 1. kn/2 2. if
7、 Lk Lk-1 and Lk Lk+1 3. then _ 4. else if Lk Lk-1 and Lk 0 do begin read(tmp); if tmp max then max := tmp; if tmp 0 do 江西江西江西江西CCF NOIP2016初赛 普及 组 Pascal语言试题 第 6页 , 共 10页 begin dec(i); x := i mod 8; if x = 1 then inc(y); end; writeln(y); end. 输出: _ 3. var a: array16 of longint = (1, 2, 3, 4, 5, 6);
8、pi, pj, t, i: longint; begin pi := 1; pj := 6; while pi = a) and (s1i = a) and (s2i s2 then writeln() else writeln( 9) and (c -) do (1) ; if (c = -) then negative := 1 江西江西江西江西CCF NOIP2016初赛 普及 组 Pascal语言试题 第 8页 , 共 10页 else (2) ; read(c); while (3) do begin (4) ; read(c); end; if negative = 1 then
9、(5) ; exit(num); end; begin a := readint(); b := readint(); writeln(a); writeln(b); end. 2. ( 郊游活动 ) 有 n名同学参加学校组织的郊游活动,已知学校给这 n名同学的郊游总经费为 A元,与此同时第 i位同学自己携带了 Mi元。为了方便郊游,活动地点提供 B( n)辆自行车供人租用,租用第 j辆自行车的价格为 Cj元,每位同学可以使用自己携带的钱或者学校 的郊游经费,为了方便账务管理,每位同学只能为自己租用自行车,且不会借钱给他人,他们想知道最多有多少位同学能够租用到自行车。 ( 第四 、五空 2.5
10、分,其余 3分) 本题采用二分法。对于区间 l, r, 我们取中间点 mid并 判断 租用到自行车 的人数能否达到 mid。判断的过程是利用贪心算法实现的。 const maxn = 1000000; type arr = array1MAXN of longint; var n, B, A, l, r, ans, mid, i: longint; M, C: arr; function check(nn: longint): boolean; var count, i, j: longint; begin count := 0; i := (1) ; 江西江西江西江西CCF NOIP2016
11、初赛 普及 组 Pascal语言试题 第 9页 , 共 10页 j := 1; while i x do dec(j); if i = j then begin y := ai; ai := aj; aj := y; inc(i); dec(j); end; end; if i r then sort(a, i, r); if l j then sort(a, l, j); end; begin read(n, B, A); for i := 1 to n do read(Mi); for i := 1 to B do read(Ci); sort(M, 1, n); sort(C, 1, B); l := 0; r := n; while l = r do begin mid := (l + r) div 2; 江西江西江西江西CCF NOIP2016初赛 普及 组 Pascal语言试题 第 10页 , 共 10 页 if (4) then begin ans := mid; l := mid + 1; end else r := (5) ; end; writeln(ans); end.