题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
选择 | C | D | C | D | D | B | B | A | B | C |
题号 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
选择 | C | D | D | A | B | C | C | D | C | B |
1. 当m=4,n=4时选法数=35
2. 共有多少种选法 1360
二. 阅读程序,并写出程序的正确运行结果:(共4题,每题8分,共32分)
1. 程序的运行结果是: 126
2. 程序的运行结果是: 115 112
3.程序的运行结果是:11
4. 程序的运行结果是: DCBA CDBA CBDA CBAD BDCA BCDA BCAD BADC BACD ADCB ACDB ACBD ABDC ABCD
Num=14
四.根据题意, 将程序补充完整 (每空2.8分,共28分)
1.
① readln(d,i);
② d-1
③ x*2+1
④ a[x]:=(4)true;
2.
① j<=trunc(sqrt(k))
② L-1
③ a[v]<=m
④ inc(v)
⑤ s=2*L-1
一、选择题:共20题,每题1.5分,共计30分
1. 关于计算机语言,正确的说法是(C)。
A.BASIC语言是一种高级语言,每台计算机都必须配备
B.汇编语言是一种比BASIC语言更高级的计算机语言
C.机器语言是计算机可以直接识别的语言,但编程比较困难
D.PASCAL语言是BASIC语言的更高版本
2. 计算机接入网络后,它的功能会大大拓展,主要表现在( D )。
A.共享资源与分担负荷 B.数据通讯
C.可以使用他人的资源 D.以上三项功能都有
【分析与解答】 计算机网络能够实现的功能是:数据通讯,资源共享,实现信息的分布式处理和提高计算机系统的可靠性与实用性。
故本题答案为D。
3. 若某数的原码为A7H,则其对应的补码为( C )。
A. D7H B.A7H C.D9H D. 07H
【分析与解答】 因为该数原码的最高有效位为1,所以可知它是一个负数。而负数的补码应该在它原码的基础上按位取反(符号位除外),然后再在末尾加1获得。(负数的补码也可以这样获得:在它所对应的正数的原码基础上按位取反,然后再在末尾加1。)
故本题答案为D9H。
4. 下列关于数组的叙述,正确的是 (D)。
A.下标是数组元素
B.数组中的下标不能是表达式
C.一个n×n的二维数组A(n,n),其元素个数与2个一维数组A(n)相同
D.数组元素存放的都是同一种类型的数据
5. 下面的CPU型号中运算速度最快的是(D)
A、 准32位2G 、B、32位1.2G C、32位2G D、位1.6G
6. 十进制数100.625等值于二进制数( B )。
A.1001100.101 B.1100100.101 C.1100100.011
D.1001100.11
7. 在计算机里如果用四个字节来表示有符号的整数,那么整数的范围最大的是:B
A.-2^31+1到2^31-1 B. -2^31到2^31-1 C. -2^31到2^31 D. -2^31+1到2^31
8. 在TCP/IP网络中,数据一旦传送到目的节点,通过什么机制可以将其传送给指定的应用程序?(A)
A、端口号 B、API头部信息 C、SNAP头部信息 D、OSI层序号
9. 以下关于Internet的叙述中:
①Internet互联网是一种局域网
②WWW(World Wide Web)是Internet上最广泛的应用之一
③Internet使用TCP/IP协议把异构的计算机网络进行互连
④连接到Intemet上的每一台计算机都有惟一的IP地址
正确的叙述是( B )。
A.①② B.②③④ C.③④ D.①②③④
【分析与解答】 Internet是一个在全球范围内将成千上万个网络连接起来而形成的互联网络。在Internet上的每一台计算机都采用一种统一的通信协议TCP/IP协议进行连接,且具有惟一的IP地址进行标识,使这些网络中的各种信息资源成为一个共享的数据资源网,以供网络上的用户共享。WWW是基于Internet的信息检索服务系统,由于它具有先进的设计思想与极易使用的界面,使其成为Internet上最广泛的应用之一。
故本题答案为B。
10.一个文本屏幕有40列及80行,屏幕的左上角以(1,1)表示,而右下角则以(80,40)表示,屏幕上每一个字符占用两字节(byte),整个屏幕则以线性方式存储在电脑的存储器内,内屏幕左上角开始,位移为SA,然后逐列逐列存储。求位於屏幕(X,Y)的第一个字节的位移是(C)
A.(Y*80+X)*2-1+SA B.(Y*80+X-1)*2+SA
C. ((Y-1)*80+X-1)*2+SA D. ((Y-1)*80+X)*2-1+SA
11.冒泡法排序的算法如下:
比较相邻的两个数据,若是逆序,交换两个数据的位置,否则比较下一对,直到将全部序列排好为止。若用冒泡法将数据3,2,6,5按从小到大进行排列,则需要进行数据比较的次数是(C)。
A.4 B.5 C.6 D.7 E.8
12. 设待排序的记录为(49,38,65,97,76, 13,27 , 49, 55, 4),经过下过程将序列排序
第一趟:13, 27, 49, 55, 4, 49, 38, 65, 97, 76
第二趟:13, 4, 49, 38, 27, 49, 55, 65, 97, 76
第三趟:4, 13, 27, 38, 49, 49, 55, 65, 76, 97
问它所用的方法是:(D)
A. 冒泡排序 B. 直接选择排序 C. 直接插入排序 D. 希尔排序
13. 在编程时(使用任一种高级语言,不一定是Pascal),如果需要从磁盘文件中输入一个很大的二维数组(例如1000*1000 的 double 型数组),按行读(即外层循环是关于行的)与按列读(即外层循环是关于列的)相比,在输入效率上( D )。
A. 没有区别 B. 有一些区别,但机器处理速度很快,可忽略不计
C. 按行读的方式要高一些 D. .取决于数组的存储方式。
14. 与十进制数 1770.625 对应的八进制数是( A )。
A. 3352.5 B. 3350.5 C. 3352.1161
D. 前 3 个答案都不对
15. 已知 6 个结点的二叉树的先根遍历是 1 2 3 4 5 6(数字为结点的编号,以下同),后根遍历是3 2 5 6 4 1,则该二叉树的可能的中根遍历是( B )
A. 3 2 1 4 6 5 B. 3 2 1 5 4 6 C. 3 1 2 5 4 6 D. 2 3 1 4 6 5
16. Ip v6地址是由( C ) 位二进制数码表示的。
A)16 B)32 C) 128 D)
17. 表达式(1+34)*5-56/7 的后缀表达式为( C )。
A) 1+34*5-56/7 B) -*+1 34 5/56 7 C) 1 34 +5*56 7/-
D) 1 34 5* +56 7/-
18. 计算机是由(D)、控制器、存储器、输入设备和输出设备构成的
A.ROM B.I/O C.CPU D.ALU
19. 在PASCAL表达式中(23 xor 18 mod 5 and 7)的结果是( C)
A.4 B.18 C.20 D.12
20.揭露绝密电子监听计划——棱镜计划的人是( B )
A. 布拉德利·曼宁 B. 爱德华·登 C. 朱利安·阿桑奇 D. 尼尔·埃尔斯伯格
二、问题解答:(共2题,每题5分,共10分)
1. 一个商场有m种颜色的小球,每种小球足够多,在这m种小球中挑选n个小球的选法有多少种?如 m=2,n=3 时有4种选法分别是:两种小球的个数分别为03,12,21,30.问:当m=4,n=4时选法数=35。
解:球的颜色组合问题,由下表计算共35种选法。
颜色种类 | 4 | 3 | 2 | 1 |
方法 | 1 | 12 | 每2个球一种颜色的方法是12 3个球和1个球两种颜色的方法是6 | 4 |
3*C(10,3)+C(10,1)*C(10,1)*C(10,1)=1360
三、写出程序的运行结果(共4题,每题8分,共32分)
1. const
u:array[1..4] of integer = (0,5,3,1);
v:array[1..4] 0f integer = (0,7,6,5);
var a,b,c,d,e,f,x,y,z: integer;
begin
read (a,b,c,d,e,f);
z := f + e + d + (c+3) div 4; y := 5 * d + u [ c mod 4 ];
if (b>y) then
begin
z := z+ (b-y+8) div 9;
x := ((b-y+8) div 9 * 9- (b-y)) * 4+11*e+V[c mod 4];
end
else
x := (y-b) *4+11*e+v[c mod 4];
if (a>x) then
z := z + (a-x+35) div 36;
writeln(z);
end.
输入: 4 7 9 20 56 47
输出:
126
2. Var S:string; i:integer;m1,m2:char;
begin readln(s);
n1:= ‘ ‘;
m2:=’ ‘;
for i:=1 to length(s) do
if s[i] > m1 then
begin
m2:=m1;
m1:=s[i];
end
else if s[i] > m2 then
m2:=s[i];
writeln(ord(m1), ‘ ‘, ord(m2));
end.
输入 noip 2013 shanghai
输出 115 112
3.Const NN=7; Type
Arr1=array[0..30] of char;
var s:arr1;
k,p:integer;
function fun1(s:arr1; a:char;n:integer):integer;
var j:integer; begin
j:=n;
while (a0) do dec(j);
fun1:=j;
end;
Function fun2(s:arr1; a:char; n:integer):integer;
var j:integer; begin
j:=1;
while (a>s[j])and(j end; begin for k:=1 to NN do s[k]:=chr(ord('A')+2*k+1); k:=fun1(s,'M',NN)+fun2(s,'M',NN); writeln(k); end. 输出: 11 4. const n=4; type tt=array[1..100]of char; var inp,t:tt; k,num:integer; procedure push(out,s:tt;it,ot,st:integer); var k:integer; c:tt; begin if it>0 then begin c:=s; c[st+1]:=inp[it]; push(out,c,it-1,ot,st+1); end; if st>0 then begin c:=out; c[ot+1]:=s[st]; push(c,s,it,ot+1,st-1); end; if ot=n then begin num:=num+1; for k:=1 to n do write(out[k]); write(' '); end; end; begin for k:=n downto 1 do inp[k]:=chr(65-k+n); num:=0; push(t,t,n,0,0); writeln; writeln('num=',num); end. 输出 DCBA CDBA CBDA CBAD BDCA BCDA BCAD BADC BACD ADCB ACDB ACBD ABDC ABCD Num=14 四、完善程序(前8空 每空 3 分,最后一空4分共 28 分) 1. 许多小球一个一个地从一棵满二叉树上掉下来组成另一棵满二叉树。每一时刻,一个正在下降的球第一个访问的是非叶子节点;继续下降时,或者走右子树,或者走左子树,直到访问到叶子节点。决定球运动方向的是每个节点的布尔值。最初,所有的节点的布尔值都是flase。当球访问到一个节点时,如果这个节点是FALSE,则这个球把它变成TRUE,然后从左子树走,继续它的旅程。如果节点是TRUE,则球会改变它为FALSE,接下来从右子树走。 若给定fbt的深度D,现在第I个小球下落,且I不超过给定的fbt的叶子数,写一个程序求小球停止时的叶子序号。 输入格式:输入文件共一行,包含两个用空格隔开的整数D和I,其中2≤D≤20,1≤I≤524288。 输出格式:共一行,输出第I个小球下落停止时的叶子序号。 输入样例: 4 4 输出样例 12 [程序]: var d,i,j,k,x:longint; a:array[1..5242]of boolean; begin (1)readln(d,i); fillchar(a,sizeof(a),false); for j:=1 to i do begin x:=1 ; for k:=1 to (2)d-1 do if a[x] then begin a[x]:=false; x:=(3)x*2+1; end else begin a[x]:=(4)true; x:=x*2; end; end; writeln(x); end. 2. 金蝉素数 【问题描述】某古寺的一块石碑上依稀刻有一些三位与四位的神秘自然数。专家研究发现:这些数是素数,且从低位去掉一位,或两位,……后都仍为素数,从高位去掉一位,或两位,……后也都仍为素数,更奇妙的是同时去掉它的最高位与最低位数字后还是素数。因此,人们把这些神秘的素数称为金蝉素数,喻意金蝉脱壳之后仍为美丽的金蝉。 试求出石碑上的金蝉素数。 【程序清单】 var a: array[1..400]of integer; s,u,i,j,k,l,v,t,m,w,n:integer; begin a[1]:= 2; a[2] := 3; a[3] := 5; a[4]:= 7; u := 4; For k:= 11 To 9999 do if k mod 2=1 then begin j:=3; while (1) and(k mod j<>0) do j:=j+1; If j >trunc(Sqrt(k)) Then begin IF a[u]<1000 THEN begin u:=u+1; a[u]:=k end; IF k>100 THEN begin L:=trunc(ln(k)/ln(10))+1; t:=1;s:=0; For i := 1 To (2) do begin t := t * 10; w := trunc(k / t); m := k - w * t; V := 1; n := 10000; IF i=L-1 THEN n:=trunc(m/10); WHiLE (a[v]<=W) OR (3) do begin If a[V] = w Then s := s + 1; IF a[v]=m THEN S:=S+1; IF a[v]=n THEN S:=S+1; (4); end; end; If (5) Then writeln(k); END end end; End. (1)j<=trunc(sqrt(k)) (2)L-1 (3) a[v]<=m (4)inc(v) (5)s=2*L-1