不是VIP会员,不能显示答案,请在后台“我的信息” 在线升级 VIP

一、选择填空(25%)

1. 操作系统是重要的系统软件,下面几个软件中不属于操作系统的是_______。

  • A.MS-DOS
  • B.UCDOS
  • C.PASCAL
  • D.WINDOWS95

2. MS-DOS 系统对磁盘信息进行管理和使用是__________为单位的。

  • A.文件
  • B.盘片
  • C.字节
  • D.命令

3. 在计算机内部用来传送、存贮、加工处理的数据或指令(命令)都是以___形式进行的.

  • A.十进制码
  • B.智能拼音码
  • C.二进制码
  • D.五笔字型码

4. 已知在计算机C:DOS下有一个正确的FORMAT.COM文件,当执行如下命令: C:> FORMAT A: < 回车 > 得到的回答是 BAD COMMAND OR FILE NAME 提示信息,下面解释正确的是_____________。

  • A.根目录中没有AUTOEXE
  • B.BAT文件
  • C.在执行该命令前操作者没执行过PATH命令
  • D.C:DOS中的FORMAT.COM文件有错
  • E.由于AUTOEXE
  • F.BAT或操作者最后执行过的PATH命令缺少路径C:DOS,或者根本没有执行PATH命令

5. 将A盘上50个文件用C:>COPY A: *.* 命令复制到C盘的当前目录中,在复制到某一个文件时,由于读数据出错,屏幕显示: ABORT, RETRG , IGNORE , FAIL ? 键入“I”后,继续复制没再出现过错误信息,最后复制的结果是_________。

  • A.读数据出错的文件不正确,其他文件正确
  • B.读数据出错的文件不正确,其它文件也不正确
  • C.读数据出错的文件正确,其它文件不正确
  • D.复制的文件完全正确

6. 下面四个不同进制的数,最小的一个数是 。

  • A.(11011001)2
  • B.(75)10
  • C.(37)8
  • D.(A7)16

7. 小张用十六进制、八进制和十进制写了如下一个等式: 52 - 19 = 33 式中三个数是各不相同进位制的数,试问52、19、33,分别为_________.

  • A.八进制,十进制,十六进制
  • B.十进制,十六进制,八进制
  • C.八进制,十六进制,十进制
  • D.十进制,八进制,十六进制

8. 如果用一个字节来表示整数,最高位用作符号位,其它位表示数值。例如:{4%}

①	试问这样表示法的整数A 的范围应该是_______A___________。
       (A) -127 ≤ A ≤ 127         (B) -128 ≤ A ≤  128
       (C) –128 ≤ A < 128         (D) -128 < A ≤  128 
② 在这样表示法中,以下   D    说法是正确的。
    (A)范围内的每一个数都只有唯一的格式
    (B)范围内的每一个数都有两种格式
    (C)范围内的一半数有两种格式
 (D)范围内只有一个数有两种表示格式

9. 下列IF语句中,ENDIF 表示相应IF的结束: y=0 if x<0 then Y=5 else if x<10 then y=10 if x<100 then y=100 endif else y=200 endif endif 试指出: 当X=80 时,运行的结果是______; 当X=5 时,运行结果为_________。

  • A.Y=9
  • B. Y=5
  • C. Y=10
  • D. Y=100
  • E.Y=200

10. 设栈S的初始状态为空,现有5个元素组成的序列{1,2,3,4,5},对该序列在S栈上依次进行如下操作(从序列中的1开始,出栈后不再进栈):进栈、进栈、进栈,出栈、进栈、出栈、进栈。试问出栈的元素序列是______________。

  • A.{5,4,3,2,1}
  • B.{2,1}
  • C.{2,3}
  • D.{3,4}

二、问题求解:共20分

1. 已知一个数列U1,U2,U3,…,UN,… 往往可以找到一个最小的K值和K个数a1,a2, …,ak使得数列从某项开始都满足: UN+K=a1UN+K-1+a2UN+K-2+……+akUN (A) 例如对斐波拉契数列1,1,2,3,5,…可以发现:当K=2,a1 =1,a2 =1时,从第3项起(即N≥1)都满足U n+2 =Un+1+Un 。试对数列12,22,32,…,n2,…求K和a1,a2, …,aK使得(A)式成立。
答案:当K=3,a1,a2,…,ak为a1=3,a2=-3,a3=1时,对数列122232,…,n2,…(A)成立。

2. 某班有50名学生,每位学生发一张调查卡,上写a,b,c三本书的书名,将读过的书打,结果统计数字如下: 只读a者8人;只读b者4人;只读c者3人;全部读过的有2人;读过a,b两本书的有4人;读过a,c两本书的有2人;读过b,c两本书的有3人; (1)读过a的人数是 (2)一本书也没有读过的人数是
答案:12 30

3. 任给自然数n,k, 1≤K≤9 ,按如下计算步骤求序列XJXJ-1……X0的步骤:{8%} (1) j=0 (2) 如果N&gt;=K 则转第3步,否则转第7步 (3) Xj = N MOD K {div表示整数除法,结果取整数; (4) N =N DIV K mod表示整除取余数} (5) j=j+1 (6) 回第2步 (7) Xj = N (8) 结束 试求当: N=1998, K=3时,XJXJ-1……X0 之值。
答案:2202000

三、阅读程序,写出程序的正确运行结果:共39分

1.

Program  exp1  (imput,output); 
        Var  i,  s,  max: integer;
             a    :array [1..10]  of  integer;
        begin 
          for i:=1 to 10  do   read (a[i]);
          max:=a[1] ;s:=a[1];
          for i:=2  to  10  do 
            begin 
              if  s<0  then  s:=0;               
                 s:= s+a[i];                    
           if s>max  then  max:=s
        end;
      writeln(‘max=’, max)
   end.  
      输入:-2  13  -1  4  7  8  -1  -18  24  6
输出:max=42

2.

Program   exp2 (input,output);                                       
   Const  n=5;
   Var  i,j,k : integer;
       a  : array[1..2*n, 1..2*n] of  integer;
   Begin
      K:=1;
      For I:=1 to 2*n-1 do
        If i<=n  then  
          if  odd(i)  then  
               for j:= I  downto  1  do       
                  begin     
                       a [I-j+1,j]:=k;    k:=k+1       
                    end                         
        else  for j: =1  to  i  do                 
                begin
                   a[i-j+1,j]:=k;   k:=k+1;
                end
        else  if odd(i)  then  for  j:=n  downto  I-n+1 do
                begin
                   a[I-j+1,j]:=k;    k:=k+1;           
                end                                  
        else  for j:=I-n+1 to n  do                              
                  begin
                    a[I-j+1,j]:=k;   k:=k+1;
                  end;
          for  I:=1  to  n  do
             begin                    
                for  j:=1 to n do     
                   write(a[I,j]:3);
               writeln
               end;
      end.
输出: 1 3 4 10 11 2 5 9 12 19 6 8 13 18 20 7 14 17 21 24 15 16 22 23 25

3.

Program  exp3 (input,output);
Const  N=10;
Var 
  S,I : integer;
Function  CO(I1:integer) : integer;
   VAR J1,S1 : integer;                           
   Begin                                          
     S1:=N;
       For J1:= (N-1)  downto  (N-I1+1)  do      
         S1:= S1*J1  div  (N-J1+1);                
       CO:=S1
     End;
 Begin                                      
   S:=N+1;                                   
   For I:= 2  to  N  do  S:=S + CO(I);
Writeln(‘S=’,S);
  End.
输出:S=1024

4.

Program  exp4(input,output);           {12%}
  Const N=3;
  VAR   I,J,S,X  :integer;
        P       :array[0..n+1] of integer;
        G       :array[0..100] of integer;
    Begin
      For I := 0 to 100 do  G[I]:=0;
      P[0]:=0; P[n+1]:=100;                         
      For I:= 1 to n do read (P[I]);  readln;     
      For I:= 0 to n do                      
        For J:= I+1 to N+1 do                     
          G[abs(P[J]-P[I])]:=G[abs(P[J]-P[I])]+1;     
       S:=0;
       For I:=0  to   100    do
          If G[I]>0  then  begin                       
                             Write(I,:4);  S:=S+1;                 
                            End;
          Writeln;
       writeln(‘S=’,S);                             
       Writeln(‘input data:’);  readln(X);        
       Writeln(G[x])
   End.
   输入:10   20    65
           input  data:  10
输出:10 20 34 45 55 65 80 90 100

四、根据题意,补充完善以下程序:(14%)

1. 输入一长度不超过80个字符的字符串(称为源串),该字符串由小写英文字母、空格组成,并以'.'结束。单词是由连续字母组成,两个单词之间至少有一个空格。本程序的功能为:首先找出字符串中所有单词并保留一个空格作为单词分隔,存入数组ch中。然后用键盘输入一个待查找的单词,以字符'$'结束。采用顺序查找的方法在ch中进行查找,若找到,则输出该单词在ch中出现的序号(若有多个位置出现该单词,则只输出第一个序号位置)。若不存在,则输出'NOT FOUND'。
程序如下:(14%)

     PROGRAM EXP1;
     VAR
        A,B,CH  : ARRAY[1..80] OF  CHAR;
        I,J,K,N,M : INTEGER;
     BEGIN
       N := 0;
     REPEAT
        _____ n:=n+1_____;    READ(A[N]);                                1%
    UNTIL  A[N]='.';
     READLN;
     K := 0;
     FOR  I := 1 TO N DO
        IF (A[I]>='a')AND(A[I]<='z') THEN
         BEGIN
                 K := K + 1;   
                 _______ch[k]:=a[i]________;                                    2%
         END
         ELSE IF K <> 0  THEN  IF  CH[K]<>'□'  THEN  {□表示一个空格,以下同}
                 BEGIN
        K := K + 1;
        CH[K] := '□'
                 END;
       M := 0________n:=k________;                                          2%
     REPEAT
       M := M + 1;  READ(B[M]);
     UNTIL  ______b[m]:='$'_________;                                           2%
      I := 1; J := 1; K := 1; B[M]:='□';
     WHILE  (I<=N)AND(J<=M) DO
        BEGIN
        IF ________ch[i]=b[j]________  THEN  BEGIN   I := I + 1; J := J + 1 END    3%
                                  ELSE BEGIN
          WHILE  CH[I] <> '□' DO ___i:=i+1___;  2%
                 I := I + 1; J := 1; K := K +1
                                     END
        END;
       IF _____j>m-1________  THEN WRITELN(K:4)                             2%
                                  ELSE WRITELN('NOT FOUND')
    END.