初赛模拟试题(二)
2007-4-10 15:05:03 阅读70次
一、选择题(共20题,每题1.5分,共计30分。每题有5个备选答案,前10个题为单选题,即每题
有且只有一个正确答案,选对得分;后10题为不定项选择题,即每题有1至5个正确答案,只有全部
选对才得分)
1.操作系统是一类重要的系统软件,下面几个软件不属于系统软件的是()。A)MS-DOS B)Linux C)Java D)Windos 98 E)Unix
2. 按照网络覆盖面积和各台计算机相距的远近,计算机网络分为( )
A)广域网和局域网
B)信息交换网和广域网
C)分布式系统和集中式系统
D)公用网和专用网
E)总线网和星型网
3.某计算机的硬盘容量是40G,这里40G=( )字节.
A)40 B)40*1000 C)40*1024*1024 D)40*1024*1024*1024 E)40*1000*1000*1000
4.中缀表达式A-(B+C/D)*E的后缀表达式是()。
A)AB-C+D/E* B) ABC+D/-E* C)ABCD/E*+- D)ABCD/+E*- E) AB-CD/-E*
5.设一个[1..100,1..100]的二维数组A,每个元素A[i,j]存储时占用两个字节,将A数组按行优先方式
存入从SA开始的连续存储单元中,则元素A[66,65]存储的结束地址是( ) 。
A)SA+13130 B)SA+13129 C)SA+6565 D)SA+6564 E)SA+13128
6. Windows操作系统是一种多任务操作系统,各应用程序之间可以非常方便地通过( )来交换数据.
A)复制3 B)读/写文件C)剪贴板D)剪切E)粘贴
7.多媒体技术中的”多媒体”的含义主要是指如( )等表示信息的形式.
A)磁盘、光盘B)声音、图象C)电缆、光纤D)声卡、汇图仪E)音箱、显示器
8.在数据结构中链表是( ).
A)顺序存储的线性表结构
B) 非顺序存储的线性表结构
C) 顺序存储的非线性表结构
D) 非顺序存储的非线性表结构
E) 特殊的树结构
9. 计算机辅助教学的简写是( ).
A)CAI B)CAM C)CAD D)CAS E)CAT
10.给定一个正整数N=8934632178,现决定依次删除其中6个数位上的数字(每次删除一个数位上的
数字),每次删除后按原来的次序组成一个新数M的值均是当前状态下的最小数,则第四次应该删除
的数字是( ).
A)6 B)8 C)7 D)4 E)3
11.算法的基本结构有( ).
A)顺序B)选择C)判断D)循环E)重复
12.计算机主机由( )组成.
A)CPU B)主板C)机箱D)主存E)显示器
13.算式(1011)2*(11.1)2的结果是( ).
A)(100110.1)2 B)(1011111)2 C)(38.5)10 D)(26.8)16 E)(46.4)8
14.以下是关于计算机病毒的说法,正确的是( )
A)病毒属于计算机软件
B)病毒属于硬件
C)病毒具有破坏性、传播性、可激发性、潜伏性、隐蔽性等特点
D)若软盘染上病毒,能清除病毒的措施是删除该软盘上的所有文件
E)若软盘染上病毒,能清除病毒的措施是格式化该软盘
15.下列关于十进制数-100的正确说法是( ).
A)原码为11100100B
B)反码为E4H
C)反码为9BH
D)补码为64H
E)补码为9CH
16.以下是关于排序的说法正确的是( ).
A)
B)希尔排序、快速排序、堆排序的时间复杂度为O(nlog2n)
C)线形排序的时间复杂性为O(n)
D)线形排序、二路归并排序的空间复杂度为O(n)
E)希尔排序、快速排序、堆排序、归并排序是不稳定的
17.下列是关于数据结构的说法正确的是()。
A)数据结构是带有结构的数据元素的集合
B)线性表的线性存储结构优于链式存储结构
C)队列是一个先进先出的线性表
D)队列是只能在一端插入,另一端删除的线性表
E)栈的插入和删除只能在栈底进行
18.下列IP地址中错误的是( ).
A)202.300.12.4
B)192.168.0.3
C)100:128:35:91
D)111-102-35-21
E)19.255.0.1
19.关于二叉树的正确说法是()。
A)完全二叉树一定是满二叉树
B)满二叉树一定是完全二叉树
C)深度为h的二叉树最多有2h-1个结点(h>=1),最少有h个结点
D)对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1
E)在二叉树中,第i层的结点总数不超过2i-1;
20. 以下关于图的正确说法是( )。
A)所有顶点的度数之和等于边数的2倍
B)所有顶点的度数之和不一定等于边数的2倍
C)任意一个图一定有偶数个奇点
D)任意一个图一定有奇数个偶点
E)在有向图中顶点的入度之和等于出度之和
二.问题求解(5分*2=10分)
1.已知:1到10中有两个数1、7不能被2,3,5整除,那么1到1000中有多少个数不能被2,3,5 整除?
2. 一个栈(无穷大)的进栈序列为1,2,3,..n,有多少种不同的出栈序列? 如n=3时,出栈序列有
1,2,3
1,3,2
2,1,3
2,3,1
3,2,1
共5种,问:当n=5时的出栈种数是多少(只求种数)?
三.阅读程序写出正确的程序运行结果(4分*8=32分)
1.program t1;
var a,b,n:longint;
begin
readln(n);
a:=0;b:=0;
repeat
a:=a+1;b:=b+a;
until b>=n;
writeln(a);
end.
输入:20100 输出:
2.program t2;
const n=200;
var si,pr:set of 2..n;
x,j,m:integer;
begin
readln(m);
si:=[2..m];pr:=[];
x:=2;
repeat
while not(x in si) do x:=succ(x);
pr:=pr+[x];
j:=x;
while j <= m do
begin si:=si-[j];j:=j+x; end;
until si=[ ];
j:=0;
for x:=m downto 2 do
if x in pr then
begin
write(x:5);inc(j);
if j mod 10=0 then writeln;
end;
writeln;
end.
输入:50 输出:
3.program t3;
st,x:string;
i,j,n,m:integer;
begin
repeat
writeln('please input a string(length<10):');
readln(st);
n:=length(st);
until (n < 10) and odd(n);
m:=(n+1) div 2;
for i:=1 to n do
for j:=1 to n do a[i,j]:=' ';
for i:=1 to m do
for j:=i to n+1-i do
begin
x:=copy(st,j,1);
a[i,j]:=x;
a[n+1-i,n+1-j]:=x
end;
for j:=n downto 1 do
begin
for i:=1 to n do write(a[i,j]:2);
writeln;
end;
end.
输入:ABCDEFG 输出:
4.program t4;
var m,n:byte;
procedure fen(i,j:byte;s:string);
var k:byte;
s1:string;
begin
if j=1 then writeln(m,'=',s,i)
else for k:=1 to i-j+1 do
begin
str(k,s1);
fen(i-k,j-1,s+s1+'+');
end;
end;
begin
readln(m,n);
fen(m,n,' ');
end.
输入输出:
四.完善程序题(4分*4+2分*6=28分)
1.单源点最短路径:给定带权有向图G=(v,e),源点v1在v中,求v1到v中其余各结点的最短路径。
数据结构说明:
cost[I,j]:表示带权有向图的邻接矩阵
d[j]:表示从v1到vj的最短路径长度
path[j]:表示从v1到vj的最短路径
程序如下:
program t5;
const n=5; maxnum=1e10;
type
gr=array[1..n,1..n] of real;
dt=array[1..n] of real;
jh=set of 1..n;
pt=array[1..n] of jh;
var
s:jh;
cost:gr;
d:dt;
path:pt;
i,j,k:integer;
mm:real;
begin
for i:=1 to n do
for j:=1 to n do read(cost[i,j]);
s:=[1];
for i:=2 to n do
begin
d[i]:=cost[1,i];
if d[i] < maxnum then path[i]:=[1]+[i]
else ___(1)___
end;
for i:=1 to n-1 do
begin
mm:=maxnum;
for j:=2 to n do
if ___(2)___ then
begin mm:=d[j];k:=j; end;
s:=s+[k];
for j:=2 to n do
if not(j in s) and (cost[k,j] < maxnum) then if ___(3)___ then
d[j]:=d[k]+cost[k,j];
path[j]:=___(4)___
end;
end;
writeln;
for i:=2 to n do
begin
writeln('v1->','v',i,':',d[i]);
write('v1');
for j:=2 to n do
if j in path[i] then write('->','v',j);
writeln;
end;
end.
2. 问题描述:将n个整数分成k组(k≤n,要求每组不能为空),显然这k个部分均可得到一个各自的积
p1,p2,……pk,定义整数S为:S=(p1-p2)2+(p1-p3)2+……+(p1-p k)2+(p2-p3)2+……+(p k-1-p k)2问题求解:求出一种分法,使S为最大(若有多种方案仅记一种〉
程序说明:
数组:a[1],a[2],...A[N]存放原数
p[1],p[2],...,p[K]存放每个部分的积
b[1],b[2],...,b[N]穷举用临时空间
d[1],d[2],...,d[N]存放最佳方案
程序:
program t6;
Var i,j,n,k : integer;
Sum,cmax:longint;
a :array [1..100] of integer;
b,d:array [0..100] of integer;
p :array[1..30] of integer;
begin
readln(n,k);
for I:=1 to n do read(a[I]);
for I:=0 to n do b[I]:=1;
cmax:=0;
while (b[0]=1) do
begin
for I:=1 to k do ___(5)___;
for I:=1 to n do
___(6)___;
sum:=0;
for I:=1 to k-1 do
(7)___ do
sum:=sum+(p[I]-p[j])*(p[I]-p[j]);
if ___(8)___ then
begin
cmax:=sum;
for I:=1 to n do d[I]:=b[I];
end;
j:=n;
while ___(9)___ do j:=j-1;
b[j]:=b[j]+1;
for I:=j+1 to n do ___(10)___ ;
end;
writeln(cmax);
for I:=1 to n do write(d[I]:40);
writeln;
end.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
初赛模拟试题(二)答案
一、选择题(共20题,每题1.5分,共计30分)
1、C
2、A
3、D
4、D。中缀表达式是对二叉树-A*+B/CDE的中序遍历,其后缀表达式,即后序遍历结果为ABCD/+E*-
5、B。数组元素A[66,65]存储的起始地址是SA+13128,而结束地址则是SA+13130-1
6、C
7、B
8、B
9、A
10、D
11、ABD
12、ABD
13、ACDE
14、ACDE
15、ACE
16、BCD
17、ACD
18、ACD。IP地址是由4个10进制数组成,每个数都在0~255之间,且彼此用.分隔。
19、BCDE
20、ACE
二.问题求解(5分*2=10分)
1、266
2、42
三.阅读程序写出正确的程序运行结果(4分*8=32分)
1、200。b=(1+a)*a/2,即b>=20100……
2、实际上是求1~50以内的质数,并按要求输出:
47 43 41 37 31 29 23 19 17 11
7 5 3 2
3、输出:
G A
F F B B
E E E C C C
D D D D D D D
C C C E E E
B B F F
A G
4、输出:
5=1+1+3
5=1+2+2
5=1+3+1
5=2+1+2
5=2+2+1
5=3+1+1
四、完善程序题(4分*4+2分*6=28分) 1.
(1)path[i]:=[i]
(2)not (j in s) and (d[j] < mm)
(3)(d[k]+cost[k,j]) < d[j]
(4)path[j]+[k]
2.
(5)p[i]:=1
(6)p[b[i]]:=p[b[i]]*a[i]
(7)i+1 to k
(8)cmax < sum
(9)b[j]=k
(10)b[i]:=1
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\