noip2014初赛普及组Pascal试题及答案全解
第二十届全国青少年信息学奥林匹克联赛初赛
普及组Pascal语言试题
竞赛时间:2014年10月12日14:30-16:30
一、单项选择题(共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
普及组Pascal语言试题
竞赛时间:2014年10月12日14:30-16:30
一、单项选择题(共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.总线
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. JPEG格式
B. TXT格式
D.系统文件
7. 断电后会丢失数据的存储器是()。
A. RAM
B. ROM
C. 硬盘
D. 光盘
8. 以下哪一种是属于收发的协议( ).
A. SMTP
B. UDP
C. P2P
D. FTP
9. 下列选项中不属于图像格式的是( )。
A. JPEG格式
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.142.27
B. 192.168.0.1
D. PNG格式
10. 链表不具有的特点是( )。
A. 不必事先估计存储空间
B. 可随机访问任一元索
C. 插入删除不需要移动元素
D. 所储空间与线性表长度成正比
11. 下列各无符号十进制整数中,能用八位二进制表示的数中最大的是( )。
A. 296
B. 133
C. 256
D. 199
12. 下列几个32位IP地址中,书写错误的是( )。
A. 162.105.142.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
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);
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
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;
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+c
D. s:=b+c
20. 计算机界的最高奖是( )。
A.菲尔兹奖
B.诺贝尔奖
C.图灵奖
D.普利策奖
二、问题求解(共2题,每题5分,共计10分;每题全部答对得5分,没有部分分)
1.把M个同样的球放到N个同样的袋子里,允许有的袋子空着不放,问共有多少种不同的放置方法?(用K表示)。
例如:M=7,N=3时,K=8;在这里认为(5,1,1)和(1,5,1)是同一种放置方法。
问:M=8,N=5时,K= 。
A. s:=a+b
B. s:=a+c
C. s:=s+c
D. s:=b+c
20. 计算机界的最高奖是( )。
A.菲尔兹奖
B.诺贝尔奖
C.图灵奖
D.普利策奖
二、问题求解(共2题,每题5分,共计10分;每题全部答对得5分,没有部分分)
1.把M个同样的球放到N个同样的袋子里,允许有的袋子空着不放,问共有多少种不同的放置方法?(用K表示)。
例如:M=7,N=3时,K=8;在这里认为(5,1,1)和(1,5,1)是同一种放置方法。
问:M=8,N=5时,K= 。
2.如图所示,图中每条边上的数字表示该边的长度,则从A到E的最短距离是。
三、阅读程序写结果(共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
输出:_
三、阅读程序写结果(共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
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]st[i]:=chr(ord(st[i])-ord('a')+ord('A'));
writeln(st);
end.
输入: Hello,my name is Lostmonkey.
输出:
4. const
SIZE=100;
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]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 cnBegin
P[cn]:=0;
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 cnBegin
P[cn]:=0;
Cn:=cn+I;
End;
End;
Writeln(tot);
End.
输入:30;
输出:
四、完善程序(共2题,每题14分,共计28分)
1. (数字删除)下面程序的功能是将字符串中的数字字符删除后输出。请填空。(每空3分,共12分)
var
s:string;
len, i:integer;
function delnum(var s:string):integer;
Var
End;
End;
Writeln(tot);
End.
输入:30;
输出:
四、完善程序(共2题,每题14分,共计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]'9') then
begin
s[j]:=s[i];
(2) ;
end;
exit( (3) );
end;
begin
readln(s);pascal语言难学吗
len:=delnum(s);
for i:=1 to len do
begin
j:=1;
for i:=1 to length(s) do
if (s[i]'9') then
begin
s[j]:=s[i];
(2) ;
end;
exit( (3) );
end;
begin
readln(s);pascal语言难学吗
len:=delnum(s);
for i:=1 to len do
write( (14) );
writeln;
end.
2. (最大子矩阵和)给出m行n列的整数矩阵,求最大的子矩阵和(子矩阵不能为空)。
输入第一行包含两个整数m和n,即矩阵的行数和列数。之后m行,每行n个整数,描述整个矩阵。程序最终输出最大的子矩阵和。(最后一空4分,其余3分,共16分)
const
SIZE=100;
var
matrix: array [1..SIZE, 1..SIZE] of integer;
rowsum: array [1..SIZE, 0..SIZE] of integer;
//rowsum[i, j]记录前i行前j个数的和
M,n, i, j, first, last, area, ans:integer;
begin
read(m, n);
writeln;
end.
2. (最大子矩阵和)给出m行n列的整数矩阵,求最大的子矩阵和(子矩阵不能为空)。
输入第一行包含两个整数m和n,即矩阵的行数和列数。之后m行,每行n个整数,描述整个矩阵。程序最终输出最大的子矩阵和。(最后一空4分,其余3分,共16分)
const
SIZE=100;
var
matrix: array [1..SIZE, 1..SIZE] of integer;
rowsum: array [1..SIZE, 0..SIZE] of integer;
//rowsum[i, j]记录前i行前j个数的和
M,n, i, j, first, last, area, ans:integer;
begin
read(m, n);
for i := 1 to m do
for j:=1 to n do
read(matrix[i, j]);
ans:=matrix (1) ;
for i:=1 to m do
(2) ;
for i:=1 to m do
for j:=1 to n do
rowsum[i, j]:=_ (3) ;
for first := 1 to n do
for last:=first to n do
begin
(4) ;
for i:=1 to m do
begin
for j:=1 to n do
read(matrix[i, j]);
ans:=matrix (1) ;
for i:=1 to m do
(2) ;
for i:=1 to m do
for j:=1 to n do
rowsum[i, j]:=_ (3) ;
for first := 1 to n do
for last:=first to n do
begin
(4) ;
for i:=1 to m do
begin
area:=area+ (5) ;
if (area>ans) then
ans:=area;
if (areaarea:=0;
end;
end;
writeln(ans);
end.
第二十届全国青少年信息学奥林匹克
联赛初赛
普及组参考答案
一、单项选择题(共20 题,每题1.5 分,共计30 分)
二、问题求解(共2题,每题5分,共计10 分;每题全部答对得5分,没有部分分)
if (area>ans) then
ans:=area;
if (areaarea:=0;
end;
end;
writeln(ans);
end.
第二十届全国青少年信息学奥林匹克
联赛初赛
普及组参考答案
一、单项选择题(共20 题,每题1.5 分,共计30 分)
二、问题求解(共2题,每题5分,共计10 分;每题全部答对得5分,没有部分分)
1. 18
2. 11
三、阅读程序写结果(共4题,每题8分,共计32 分)
1. Ans = 9
2. -11
3. HELLO, MY NAME IS LOSTMONKEY.
4. 10
四、完善程序(共计28 分,以下各程序填空可能还有一些等价的写法,由各省赛区组织本省专家审定及上机验证,可以不上报C CF NOI 科学委员会复核)
2. 11
三、阅读程序写结果(共4题,每题8分,共计32 分)
1. Ans = 9
2. -11
3. HELLO, MY NAME IS LOSTMONKEY.
4. 10
四、完善程序(共计28 分,以下各程序填空可能还有一些等价的写法,由各省赛区组织本省专家审定及上机验证,可以不上报C CF NOI 科学委员会复核)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论