计算机竞赛中学组(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] 。存储400个24x24点阵汉字字形所需的存储容量是 [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
4、Windows 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,因而只需统计有多少个因子5和2。显然在1~1000的所有数中,5的因子个数比2的因子个数少。因此,只要统计1~1000的所有数中共有多少个因子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正整数的乘积。程序中用a,b表示这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] |
¡ |
¡ |
¡ | ||||||||||||||||