您当前的位置: 跳过导航链接首页 >> 教研组 >> 信息组 >> 信息学竞赛 >> 第四届全国青少年信息学(计算机)奥林匹克分区联赛初赛…
第四届全国青少年信息学(计算机)奥林匹克分区联赛初赛试题
转抄 更新时间:2007-9-20 点击数:815
 

第四届全国青少年信息学(计算机)奥林匹克分区联赛初赛试题

(初中组)

PASCAL 语言   竞赛用时:2小时)

●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●

 

一、选择填空25%

1、操作系统是重要的系统软件,下面几个软件中不属于操作系统的是_______  {1%}

   AMS-DOS   BUCDOS  CPASCAL  DWINDOWS 95

 

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

(A)   文件      B 盘片    C 字节     D 命令

 

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

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

 

4已知在计算机C:\DOS下有一个正确的FORMAT.COM文件,当执行如下命令:

   C:\> FORMAT  A: < 回车 > 得到的回答是 bad command  or file name 提示信息,下面解释正确的是_____________                          {2%}

(A)      根目录中没有AUTOEXEC.BAT 文件

(B)      在执行该命令前操作者没执行过PATH 命令

(C)      C:\DOS 中的FORMAT.COM文件有错

(D)     由于AUTOEXEC.BAT 或操作者最后执行过的PATH 命令缺少路径C:\DOS,或者根本没有执行PATH 命令

 

5.将A盘上50个文件用C:\>COPY  A: *.* 命令复制到C盘的当前目录中,在复制到某一个文件时,由于读数据出错,屏幕显示:                         {2%}

    Abort, Retrg ,  Ignore , Fail  ?

   键入“I”后,继续复制没再出现过错误信息,最后复制的结果是_________

   A)读数据出错的文件不正确,其他文件正确

   B)读数据出错的文件不正确,其它文件也不正确

   C)读数据出错的文件正确,其它文件不正确

D)复制的文件完全正确

 

6.下面四个不同进制的数,最小的一个数是                             {2%}

  A)(110110012   B)(7510   C)(378   D)(A716

 

7.小张用十六进制、八进制和十进制写了如下一个等式:                   {3%}

        52 - 19 = 33

   式中三个数是各不相同进位制的数,试问521933,分别为_________.

  A)八进制,十进制,十六进制       B)十进制,十六进制,八进制

  C)八进制,十六进制,十进制       D)十进制,八进制,十六进制

 

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

表示+1

表示-1

0

0

0

0

0

0

0

1

                    符号位表示正

1

0

0

0

0

0

0

1

                    符号位表示负

    试问这样表示法的整数a 的范围应该是_____________________

       A -127 a 127         B -128 a   128

       C –128 a 128         D -128 a   128

在这样表示法中,以下         说法是正确的。

    A)范围内的每一个数都只有唯一的格式

    B)范围内的每一个数都有两种格式

    C)范围内的一半数有两种格式

 D)范围内只有一个数有两种表示格式

 

9.下列IF语句中,ENDIF 表示相应IF的结束:                           {4%}

         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   EY=200

 

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

   A{ 54321}    B{21}    C{ 23}    D{34}

二、问题求解:20%

1.已知一个数列U1U2U3,…,UN,… 往往可以找到一个最小的K值和K个数a1a2 …,ak使得数列从某项开始都满足:

         UN+K=a1UN+K-1+a2UN+K-2+……+akUN                             (A)

     例如对斐波拉契数列11235,…可以发现:当K=2a1 =1a2 =1时,从第3项起(即N>=1)都满足U n+2 =Un+1+Un 。试对数列122232,…,n2,…求Ka1,a2, ,aK使得(A)式成立。                                      {7%}

 

2.某班有50名学生,每位学生发一张调查卡,上写abc三本书的书名,将读过的书打ü,结果统计数字如下: 只读a8人;只读b4人;只读c3人;全部读过的有2人;读过ab两本书的有4人;读过ac两本书的有2人;读过bc两本书的有3人;{6%}

    1)读过a的人数是             2)一本书也没有读过的人数是         

 

3.任给自然数nk 1K9 ,按如下计算步骤求序列XJXJ-1……X0的步骤:{8%}

(1)       j=0

(2)       如果N>=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 之值。

 

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

    1 Program  exp1  (imput,output);                                   7%

        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=

 

    2 Program   exp2 (input,output);                                       {10%}

   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.

   

3 Program  exp3 (input,output);                                       {10%}

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.

 

    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
       
输出:

 

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

        输入一长度不超过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

        _______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;  

                 ________2_________;                                    2%

         END

         ELSE IF K <> 0  THEN  IF  CH[K]<>''  THEN  {□表示一个空格,以下同}

                 BEGIN

        K := K + 1;

        CH[K] := ''

                 END;

       M := 0_________3________;                                          2%

     REPEAT

       M := M + 1;  READ(B[M]);

     UNTIL  _______4_________;                                           2%

      I := 1; J := 1; K := 1; B[M]:='';

     WHILE  (I<=N)AND(J<=M) DO

        BEGIN

        IF _________5________  THEN  BEGIN   I := I + 1; J := J + 1 END    3%

                                  ELSE BEGIN

          WHILE  CH[I] <> '' DO ____6____;  2%

                 I := I + 1; J := 1; K := K +1

                                     END

        END;

       IF _____7________  THEN WRITELN(K:4)                             2%

                                  ELSE WRITELN('NOT FOUND')

    END.

文章录入:xinxijyz       责任编辑:xinxijyz
|||
    笔名:
    评论:
    【注】 发表评论必需遵守以下条例:
    • 遵守中华人民共和国的各项有关法律法规
    • 承担一切因您的行为而导致的法律责任
    • 本站管理员有权保留或删除任意留言内容
    • 本站有权在网站内转载或引用您的评论
    • 参与本评论即表明您已阅读并接受上述条款