计算机病毒的特点是( ).
某数列有1000个各不相同的单元,由低至高按序排列;现要对该数列进行二分法检索(binary search),在最坏的情況下,需检视( )个单元.
大家知道,不同类型的存储器组成了多层次结构的存储器体系,按存取速度从快到慢的排列是( ).
WINDOWS 9X 是一种( )操作系统.
在待排序的数据表已经为有序时,下列排序算法中花费时间反而多的是( ).
设循环队列中数组的下标范围是1–n,其头尾指针分别为f和r,则其元素个数为( ).
计算机主机是由CPU 与( )构成的.
GB2312-80 规定了一级汉字3755个,二级汉字3008个,其中二级汉字字库中的汉字是以( )为序排列的.
在外部设备中,绘图仪属于( ).
在Windows 9X中,菜单项后带有符号“…”,表示该菜单项( ) .
某种计算机的内存容量是640K, 这里的640K 容量是指( ) 个字节.
下列叙述中,正确的是( ).
已知数组A中,每个元素A[I,J]在存贮时要占3个字节,设I从1变化到8,J从1变化到10,分配内存时是从地址SA开始连续按行存贮分配的。
试问:A[5,8]的起始地址为( ).
请仔細閱读下列程序段:

上列程序段的正确輸出是( ).
Internet 的规范译名应为( ).
RAM 中的信息是( ).
电线上停着两种鸟(A,B),可以看出两只相邻的鸟就将电线分为了一个线段。这些线段可分为两类:一类是两端的小鸟相同;另一类则是两端的小鸟不相同.
已知:电线两个顶点上正好停着相同的小鸟,试问两端为不同小鸟的线段数目一定是( ).
线性表若采用链表存贮结构,要求内存中可用存贮单元地址( ).
下列无符号数中,最小的数是( ).
算法是指( ).
已知,按中序遍历二叉树的结果为:abc
问:有多少种不同形态的二叉树可以得到这一遍历结果,并画出这些二叉树。
多项式的乘法。
例如有如下多项式:
则
程序说明:
多项式的表示:系数、指数
如上例中: P(X): 系数 指数 Q(X) 系数 指数
2 2 1 1
-1 1 1 0
1 0 0 0
0 0
PXQ的结果存入C中。其输出格式是:依次用一对括号内的(系数,指数)分别来表示。如上例的输出结果表示为:(2,3)(1,2)(1,0)
程序清单


program noi_004;
var i, j, j1, j2, p, q : integer;
p1 : boolean;
b,c : array[1..100] of integer;
Begin
readln(q,p); j:=1; p1:=true; b[j]:=q; j1:=0;
while (q>0) and p1 do
begin
j1:=j1+1; c[j1]:=q*10 div p; q:=q*10-c[j1]*p;
if q>0 then begin
j2:=1;
while (b[j2]<>q) and (j2<=j) do j2:=j2+1;
if b[j2]=q then
begin
p1:=false; write('0.');
for i:=1 to j2-1 do write(c[i]:1);
write('{');
for i:=j2 to j1 do write(c[i]:1);
writeln('}')
end
else begin j:=j+1; b[j]:=q end
end
end;
if q=0 then begin
write('0.');
for i:=1 to j1 do write(c[i]:1);
writeln
end; readln
End.
输入 ① 1 8 输出
输入 ② 2 7 输出
将
个0和
个1,排成一圈。从任一个位置开始,每次按逆时针的方向以长度为n+1的单位进行数二进制数。
要求给出一种排法,用上面的方法产生出来的
个二进制数都不相同。
例如,当n=2时, 即
个0 和
个1 排成如下一圈:

比如,从A位置开始,逆时针方向取三个数000,然后再从B位置上开始取三个数001,接着从C开始取三个数010,...可以得到000,001,010,101,011,111,110,100共8个二进制数且都不相同。
程序说明
以n=4为例,即有16个0,16个1,
数组a用以记录32个0,1的排法,
数组b统计二进制数是否已出现过。
程序清单

有2×n的一个长方形方格,用一个1×2的骨牌铺满方格。例如n=3时,为2×3方格。
此时用一个1×2的骨牌铺满方格,共有3种铺法:

试对给出的任意一个n(n>0),求出铺法总数的递推公式。
program noi_002;
var i, j, l, n, k, s, t : integer;
b : array[1..10] of 0..9;
Begin
readln(l,n); s:=l; k:=1; t:=l;
while s<n do
begin k:=k+1; t:=t*l; s:=s+t end;
s:=s-t; n:=n-s-1;
for i:=1 to 10 do b[i]:=0;
j:=11;
while n>0 do
begin j:=j-1; b[j]:=n mod l; n:=n div l end;
for i:=10-k+1 to 10 do write(chr(ord('A')+b[i]));
End.
输入: 4 167
输出: