第二十届全国青少年信息学奥林匹克联赛初赛
( 普及组 Pascal语言 二小时完成 )
●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ●●
一. 单项选择题 (共20题,每题1.5分,共计30分。每题有且仅有一个正确答案。) 1、以下哪个是面向对象的高级语言( )。
A. 汇编语言 B. C++ C. Fortran D. Basic 2、1TB代表的字节数量是( )。
A.2的10次方 B. 2的20次方 C. 2的30次方 D. 2的40次方3、二进制数00100100和00010101的和是。
A.00101000 B.001010100 C.01000101 D.00111001 4、以下哪一种设备属于输出设备( )
A.扫描仪 B.键盘 C.鼠标 D.打印机 5、下列对操作系统功能的描述最为完整的是( ) A.负责外设与主机之间的信息交换 B.负责诊断机器的故障
C.控制和管理计算机系统的各种硬件和软件资源的使用 D.将源程序编译成目标程序
6.CPU、存储器、I/O设备是通过( )连接起来的。 A. 接口 B.总线 C.控制线 D.系统文件 7、断电后会丢失数据的存储器是( )。 A.RAM B.ROM C.硬盘 D.光盘
8、以下哪一种是属于电子邮件收发的协议( )。 A.SMTP B.UDP C.P2P D.FTP
9、下列选项中不属于图像格式的是( )
A.JPG格式 B. TXT格式 C.GIF格式 D.PNG格式
10.链表不具有的特点是( )
A.不必事先估计存储空间 B.可随机访问任一元素 C.插入删除不需要移动元素 D.所需空间与线性表长度成正比 11、下列各无符号十进制整数中,能用八位二进制表示的数中最大的是(A.296 B.133 C.256 D.199 12.下列几个32位IP地址中,书写错误的是( )。
精选
。 )A.162.105.130.27 B.192.168.0.1 C.256.256.129.1 D.10.0.0.1 13.要求以下程序的功能是计算:s=1+1/2+1/3+……+1/10。 Var
N:integer; S:real; Begin S:=1.0;
For n :=10 downto 2 do
S:=s+1 div n; Writeln(s:6:4); End.
程序运行后输出结果错误,导致错误结果的程序行是( )。 A. S:=1.0; B. For n :=10 downto 2 do C. S:=s+1 div n; D. Writeln(s:6:4);
14.设变量x为real型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )。 A. x:=(x*100)+0.5/100.0
B. x:=(x*100+0.5)/100.0
C. x:=trunc(x*100+0.5)/100.0 D. x:=(x/100+0.5)*/100.0 15.有以下程序: Var
S,a,N:integer; Begin
S:=0; a:=1; Readln(n); Repeat
S:=s+1; A:=a-2; Until a=n; Writeln(s); End.
精选
若要使程序的输出值为2,则应该从键盘给n输入的值是( ) A. -1 B. -3 C. -5 D. 0 16.一颗具有5层的满二叉树中结点数为( ) A.31 B.32 C.33 D.16
17.有向图中每个顶点的度等于该顶点的( ) 。
A.入度 B.出度 C.入度和出度之和 D. 入度和出度之差 18.设有100个数据元素,采用折半搜索时,最大比较次数为( )。 A.6 B.7 C.8 D.10
19. 若有如下程序段,其中s、a、b、c均为定义的整型变量,且a、c均已赋值,c>0。 S:=a;
For b :=1 to c do
S:=s+1;
则与上述程序段功能等价的赋值语句是( )
A.s:=a+b B.s:=a+c C.s:=s+b D.s:=b+c 20.计算机的最高奖是( ):
A.菲尔兹奖 B.诺贝尔奖 C.图灵奖 D.普利兹奖
二.问题求解(共2题,每空5分,共计10分)
1、把M个同样的球放到N个同样的袋子里,允许有的袋子空着不放,问共有多少种不同的放置方法?(用K表示)。
例如:M=7,N=3时,K=8;在这里认为(5,1,1)和(1,5,1)是同一种放置方法。 问:M=8,N=5时,K= 。 2、如图所示,图中每条边上的数字表示该边的长度,则从A到E的最短距离是 。
A B 1 7 C 3 6 8 1 6 4 E 2 4 G D F 2 4 精选
三.阅读程序写结果(共4题,每题8分,共计32分) 1. var
a,b,c,d,ans:integer; begin
readln(a,b,c); d:=a-b; a:=d+c; ans:=a*b;
writeln('Ans=',ans); end. 输入:2 3 4
输出: 2.var
N:integer;
Function fun(n:integer):integer; Begin
If n=1 then exit(1); If n=2 then exit(2); Exit(fun(n-2)-fun(n-1)); End;
Begin
Readln(n);
Writeln(fun(n)); End.
输入:7
输出:
3、
var st:string; len,i:integer; begin
readln(st); len:=length(st); for i:=1 to len do
if (st[i]>=’a’)and (st[i]<=’z’) then
st[i]:=chr(ord(st[i])-ord(‘a’)+ord(‘A’)); writeln(st) end.
输入:Hello,my name is Lostmonkey.
输出:
精选
4、 Const
Size=100; var
p:array[1..size] of integer; n,tot,cn,i:integer; begin
readln(n);
for i:=1 to n do p[i]:=1; tot:=0;
for i:=2 to n do begin
if p[i]=1 then tot:=tot+1; cn:=i*2;
while cn<=n do begin
p[cn]:=0; cn:=cn+I; end; end;
writeln(tot); end.
输入:30
输出:
四.完善程序 (前4空,每空3分,后4空,每空4分,共28分) 1 、(数字删除)下面程序的功能室将字符串中的数字字符删除后输出,请填空(每空3分,共12分):
var
s:string;
len,i:integer;
function delnum (var s:string):integer;
var
I,j:integer;
begin j:=1;
for I:=1 to length(s) do
if (s[i]<’0’) (1) (s[i]>’9’) then
begin
精选