计算机竞赛中学组(PASCAL语言)试卷

参赛须知

1、竞赛用时100分钟。

2、全部试题答案均应写在答卷纸上,写在试卷纸上一概无效。

 

一、选择题

以下各题的每个选择填空部分有4个可供选择的答案,请选择正确答案并将答卷纸上相应圆圈涂黑。(每空2分)

 

1、我们把计算机硬件系统和软件系统总称为 [1] ,硬件系统是指 [2] ,软件系统是指 [3] 。计算机能实现自动连续运算是由于采用了 [4] 原理。我们利用计算机系统解题一般包括以下几个步骤 [5] 。程序中的错误一般分为三类,它们是 [6]

 

[1] (A)计算机CPU                       (B)固件 

    (C)计算机系统                       (D)微处理机

   [2] (A)控制器,运算器                   (B)存储器,控制器

       (C)接口电路,I/O设备               (D)将(A)、(B)、(C)合起来

   [3] (A)系统程序和数据库                 (B)应用程序和文档文件

   (C)存储在硬盘和软盘上的程序         (D)各种程序和相关的文档资料

[4] (A)布尔逻辑                         (B)存储程序   

    (C)数字电路                         (D)集成电路

   [5] (A)画出程序流程图,编写程序,上机调试运行

       (B)分析问题的要求,算法分析,编写程序,上机调试运行

       (C)画出程序流程图,编写程序,上机调试运行,结果分析

       (D)分析问题的要求,算法分析,编写程序,分析结果

   [6] (A)语法错误,语义错误,逻辑错误

       (B)计算错误,编写错误,语句错误

       (C)编写错误,调试错误,运行错误

       (D)输入错误,编译错误,装配错误

 

2、计算机硬件能直接识别和执行的只有  [7]  I/O接口位于  [8]  。硬盘工作时应特别注意避免  [9]  。针式打印机术语中,24针是指  [10]  。下面列出的四种存储器中,易失性存储器是  [11]  用于保存计算机输入输出数据的材料及其制品称为  [12]  

 

[7]  (A)高级语言                      (B)符号语言

     (C)汇编语言                      (D)机器语言

[8]  (A)总线和设备之间                (B)CPU和I/O设备之间

     (C)主机和总线之间                (D)CPU和主存储器之间

[9]  (A)噪声         (B)震动          (C)潮湿         (D)日光

[10] (A)24x24点阵                     (B)信号线插头有24针

     (C)打印头内有24x24根针           (D)打印头内有24根针

[11] (A)RAM         (B)ROM             (C)PROM        (D)CD-ROM

[12] (A)输入输出媒体                   (B)输入输出通道

     (C)输入输出接口                   (D)输入输出端口

 

3、计算机中数据的表示形式是  [13]  。微机中1K字节表示的二进制位数是  [14]  。存储40024x24点阵汉字字形所需的存储容量是  [15]  。下列字符中,ASCII码值最小的是  [16]  。下列四个不同数制表示的数中,数值最大的是  [17] 

 

[13] (A)八进制       (B)十进制        (C)二进制       (D)十六进制

[14] (A)1000         (B)8x1000        (C)1024         (D)8x1024

[15] (A)255KB        (B)75KB          (C)37.5KB       (D)28.125KB

[16] (A)a            (B)A             (C)x            (D)Y

[17] (A)二进制数11011101              (B)八进制数334

     (C)十进制数219                   (D)十六进制数DA

 

4Windows 9x操作系统是一个  [18]  。通过"开始"菜单中的"运行"  [19]  。设桌面上已经有某应用程序的图标,要运行该程序,可以  [20]  "剪贴板"  [21]  "回收站"  [22]  。当选定文件或文件夹后,不将文件或文件夹放到"回收站"中,而直接删除的操作是  [23]  。若己选定某文件,不能将该文件复制到同一文件夹下的操作是  [24]  。在"我的电脑"窗口中,若已选定了文件或文件夹,为了设置其属性,可以打开属性对话框的操作是  [25] 

 

[18] (A)单用户多任务操作系统            (B)单用户单任务操作系统

     (C)多用户单任务操作系统            (D)多用户多任务操作系统

[19] (A)可以运行DOS的全部命令

     (B)仅可以运行DOS的内部俞令

     (C)可以运行DOS的外部命令和可执行文件

     (D)仅可以运行DOS的外部命令

[20] (A)用鼠标左键单击该图标            (B)用鼠标右键单击该图标

     (C)用鼠标左键双击该图标            (D)用鼠标右键双击该图标

[21] (A)硬盘中的一块区域                (B)软盘中的一块区域

     (C)高速缓存中的一块区域            (D)内存中的一块区域

[22] (A)硬盘中的一块区域                (B)软盘中的一块区域

     (C)高速缓存中的一块区域            (D)内存中的一块区域

[23] (A)按Delete(Del)键

     (B)用鼠标直接将文件或文件夹拖放到"回收站"中

     (C)按Shift+Delete(Del)键

     (D)用"我的电脑"或"资源管理器"窗口中"文件"菜单中的删除命令

[24] (A)用鼠标右键将该文件拖动到同一文件夹下

     (B)先执行"编辑"菜单中的复制命令,再执行粘贴命令

     (C)用鼠标左键将该文件拖动到同一文件夹下

     (D)按注Ctrl键,再用鼠标右键将该文件拖动到同一文件夹下

[25] (A)用鼠标右键单击"文件"菜单中的"属性"命令

     (B)用鼠标右键单击该文件或文件夹名,然后从弹出的快捷菜单中选"属性"项

     (C)用鼠标右键单击"任务栏"中的空白处,然后从弹出的快捷菜单中选择"属性"项

     (D)用鼠标右键单击"查看"菜单中"工具栏"下的"属性"图标

 

5、目前Internet上使用的IP地址是一个  [26]  位的二进制数。IP地址大致可分为三类,其中A类IP地址的前  [27]  位表示地址类型和网络号,后  [28]  位表示主机号。当个人计算机以拨号方式接入Internet网时,必须使用的设备是  [29]  在电子邮件中,符号“:-)”常用于表示  [30] 

 

[26] (A)8        (B)16         (C)32              (D)64

[27] (A)4        (B)8          (C)16              (D)24

[28] (A)4        (B)8          (C)16              (D)24

[29] (A)网卡     (B)调制解调器(Modem)   (C)电话机           (D)浏览器软件

[30] (A)省略     (B)即就是               (C)微笑或开玩笑     (D)不高兴或啼哭

 

 

二、填空题

以下每个填空部分标有一个标号,请在答卷纸相应标号处填入正确内容。(每空2分)

 

1、百元买百鸡问题

这是我国古代一道有名的数学难题,要求用100元钱买100只鸡。其中公鸡5元一只,母鸡3元一只,小鸡3只一元。每种至少买一只,求购买方案。以下程序用i代表公鸡,j代表母鸡,k代表小鸡。

 

program CHICKEN;

var

    [1]  :integer;

begin

  for i:=1 to 20 do

    for j:=1 to 34 do

      begin

        k:=  [2]  

        if   [3]   =100 then

          writeln('i=',i:2,'j=',j:2,'k=',k:2);

      end;

end.

 

2、1000!尾0问题

以下程序用于统计1000!末尾有多少个0。其中1000=1´2´3´´1000。实际上我们只要统计1000!有多少个因子10。由于10=5´2,因而只需统计有多少个因子52。显然在11000的所有数中,5的因子个数比2的因子个数少。因此,只要统计11000的所有数中共有多少个因子5就行了。

 

program COUNT0;

var  i,j,n:integer;

begin

  n:=0;

  for i:=1 to 200 do

    begin

      j:=i*5;

      while   [4]   =0 do

        begin

          n:=n+1;

          j:=   [5]   

        end;

    end;

  writeln(n:4);

end.

 

3、连续整数平台问题

已知一个含有个整数的数组,其中相同的元素集中在一起形成一个平台。以下程序用于对输入的数组求出中最大平台长度。例如,中元素个数为20,它们依次为

2  2  2  2  3  3  3  3  3  1  1  1  1  1  1  1  1  1  4  4

则它的最大平台长度为9

 

program PLATFORM;

const maxlength=100;

var

  a:array[1..maxlength] of integer;

  i,maxi,n,s,t:integer;

begin

  write('n=');readln(n);

  for i:=1 to n do read(a[i]);

  readln;

  maxi:=0;

  t:=   [6] 

  s:=1;

  for i:=2 to n do

    if a[i]=t then   [7] 

      else

        begin

          if s>maxi then maxi:=s;

          t:=a[i];

            [8] 

        end;

    [9] 

  writeln('maxi=',maxi);

end.

 

4、高精度正整数乘法问题

以下程序用于求任意2正整数的乘积。程序中用ab表示这2个正整数,并将它们的乘积存于数组ab中。根据数的乘法规则,将a的所有位与b的所有位从低位至高位两两相乘。设a的第i位与b的第j位相乘的结果为ab0,则ab0的个位应加到乘积ab的第i+j-1位上,ab0的十位应加到乘积ab的第i+j位上。在加的过程中也应注意进位。

 

program MULTIPLY;

const n=100;

Type arr=array[1..n] of integer;

var

  a,b:arr;

  ab:array[1..2*n]of integer;

  lab,la,w,lb,ab0,ab1,ab2,i,j,t:integer;

 

procedure Init(var c:arr;var length:integer);

var i,t,m:integer;

    ch:Char;

begin

  length:=0;

  WriteLn('Input a number:');

  while (not eoln) do

    begin

      length:=length+1;

      read(ch);

      c[length]:=   [10]   

    end;

    readln;

    writeln(length);

  WriteLn('The number is ');

  for i:=1 to length do Write(c[i]:1);

  Writeln;

  m:=   [11]   

  for i:=1 to m do

    begin

      t:=c[i];

      c[i]:=c[length+1-i];

      c[length+1-i]:=t;

    end;

end;

 

begin

  Init(a,la);

  Init(b,lb);

  lab:=   [12]   

  for i:=1 to lab do ab[i]:=0;

  for i:=1 to la do

    for j:=1 to lb do

      begin

        ab0:=a[i]*b[j];

        ab2:=   [13]   

        ab1:=   [14]   

        w:=i+j;

        ab[w-1]:=ab[w-1]+ab1;

        ab[w]:=ab[w]+ab2+(ab[w-1] div 10);

        ab[w-1]:=ab[w-1] mod 10;

      end;

  if ab[lab]=0 then   [15]  

  for i:=lab downto 1 do Write(ab[i]:1);

  Writeln;

end.

 


5、N皇后问题

N皇后问题要求在NN的棋盘上放置N个皇后,使其不能互相攻击,即任意2个皇后不能处于棋盘上的同一行、同一列或同一斜线上。以下程序用回溯法求出所有满足要求的皇后布局数。其中PLACE用于检测当前位置处的皇后与已放置的皇后是否互相攻击。BACKTRACK实施回溯搜索。

 

program NQUEEN;

  var

    n:Integer;

    answer:Longint;

    x:array[1..20]of byte;

 

 function PLACE(k:integer):boolean;

 var j:integer;

 begin

   PLACE:=true;

   for j:=1 to k-1 do

     if (abs(k-j)=abs(x[j]-x[k]))or(x[j]=x[k]) then

       begin

         j:=k-1;

           [16] 

       end

 end;{PLACE}

 

 procedure BACKTRACK;

 var k:integer;

 begin

   x[1]:=0;

   k:=1;

   while   [17]   do

     begin

       x[k]:=x[k]+1;

       while (x[k]<=n)and not PLACE(k) do   [18] 

       if x[k]<=n then

         if   [19]   then answer:=answer+1

         else

           begin

             k:=k+1;

             x[k]:=0

           end

        else   [20] 

     end

 end;{BACKTRACK}

 

 begin

   answer:=0;

   fillchar(x,sizeof(x),0);

   write('n=');readln(n);

   BACKTRACK;

   writeln('answer is ',answer);

 end.


“中国电信杯”晋江市第三届计算机竞赛

PASCAL语言)答卷

 

 

姓名          学校            考号          成绩                  

 

 

 


一、选择题

 

(A)

(B)

(C)

(D)

(A)

(B)

(C)

(D)

(A)

(B)

(C)

(D)

[1]

¡

¡

¡

¡

[2]

¡

¡

¡

¡

[3]

¡

¡

¡

¡

[4]

¡

¡

¡

¡

[5]

¡

¡

¡

¡

[6]

¡

¡

¡

¡

[7]

¡

¡

¡

¡

[8]

¡

¡

¡

¡

[9]

¡

¡

¡

¡

[10]

¡

¡

¡

¡

[11]

¡

¡

¡

¡

[12]

¡

¡

¡

¡

[13]

¡

¡

¡

¡

[14]

¡

¡

¡