2015小学组初赛试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2015年全国青少年信息学(计算机)奥林匹克分区联赛(江西赛区)
初级组初赛试题
试题说明:
本试卷中包含QBASIC和Pascal两种语言的程序,是为不同参赛语言的选手设计的。

请选手注意,第一大题和第二大题是所有选手必须完成的,而在做第三大题和第四大题时,请选手根据自己报名时的参赛语言,只需要完成那种语言的试题。

所有试题的答案要求全部写在答题纸上,否则比赛没有成绩。

一、基础知识单项选择题(共10个小题,每小题3分,共计30分)
1.计算机应用能力的不同,主要体现在( )的不同上。

A) 数据B) 软件C) 硬件D) 外部设备
2. 计算机中最基本的存储单元是( )。

A) 字节B) 机器字C) 位D) 字长
3. 下列四种设备中,属于计算机网络所特有的设备是( )。

A) 鼠标B) 打印机C) 服务器D) 显示器
4. 与十六进制整数29相等的八进制整数是( )。

A) 53 B) 52 C) 51 D) 50
5.在Windows中,各个应用程序之间的信息交换是通过( )来进行的。

A) 剪贴板B) 记事本C) Word D) 滚动条
6. 在Windows中搜索文件时,若输入“*.*”(注:不含双引号),则将搜索 ( )。

A) 所有包含*的文件B) 所有扩展名中包含*的文件
C) 所有Word格式的文件D) 所有文件
7. 文字处理、电子表格、演示文稿制作,这三款软件主要应用于( )。

A) 计算机游戏B) 办公自动化
C) 工程计算D) 计算机辅助设计
8. 计算机网络中WAN的含义是( )。

A) 因特网B) 局域网C) 广域网D) 城域网
9. 《计算机软件保护法》是用来保护软件( )的。

A) 著作权B) 销售权C) 复制权D) 使用权
10. 能够实现先进先出操作(简称FIFO)的数据结构是( )。

A) 栈B) 队列C) 无向图D) 二叉树
二、问题求解(共2个小题,每小题5分,共计10分)
(请选手注意:本大题不用编程,也不用写分析过程,直接将答案写在答题纸上)
1. 有一个全部由正整数组成的数列,它的第一个数为15,第二个数为40,已知从第三个数开始,每个数恰好是它前面相邻两个数的和。

请问这个数列中的第2015个数除以3之后,得到的余数是多少?
2.如果厘米作计量单位,则全班同学的身高都是整数。

已知大家的身高都是不小于150厘米,而且不大于160厘米。

请问最少应该选出多少个同学,才能保证被选出的这群人中有4人的身高是一样的?
三、阅读程序写结果(共3个小题,每小题10分,共计30分)
1. QBASIC语言Pascal语言
DIM s AS STRING
DIM n AS INTEGER
DIM i AS INTEGER
DIM k AS INTEGER
INPUT s$
n = LEN(s)
FOR i = 1 TO n
PRINT MID$(s, i, 1);
k = n - i
IF k MOD 3 = 0 AND k <> 0 THEN PRINT "#";
NEXT i
PRINT
END program Test31;
var
s: string; n, i, k: integer;
begin
readln(s); n:=length(s);
for i:=1 to n do
begin
write(s[i]);
k:=n-i;
if (k mod 3=0) and (k<>0) then write('#');
end;
writeln;
end.
当程序运行时,输入数据a1b2c3d4e5,则运行结果是:( 1) 2. QBASIC语言Pascal语言
DIM a AS INTEGER DIM i AS INTEGER DIM s AS INTEGER DIM m AS INTEGER DIM n AS INTEGER
s = 0
INPUT a
m = a: n = a: s = a FOR i = 2 TO 10 INPUT a
IF a > m THEN m = a IF a < n THEN n = a s = s + a
NEXT i
s = s - m - n
PRINT s
END program Test32;
var
a, i, s, m, n: integer; begin
s:=0;
read(a);
m:=a; n:=a; s:=a; for i:=2 to 10 do begin
read(a);
if a>m then m:=a;
if a<n then n:=a;
s:=s+a;
end;
s:=s-m-n;
writeln(s);
end.
当程序运行时,依次输入1至10这十个连续的整数,则运行结果是:( 2)
3. QBASIC语言Pascal语言
DIM m(2) AS INTEGER DIM i AS INTEGER DIM j AS INTEGER DIM t AS INTEGER FOR i = 0 TO 2
READ m(i)
NEXT i
DATA 2, 3, 5
FOR i = 0 TO 2
t = 1
FOR j = 1 TO m(i) - 1
t = t * 2
NEXT j
t = (t * 2 - 1) * t PRINT t;
NEXT i
PRINT
END program Test33;
const
m: array[0..2] of integer=(2,3,5); var
i, j, t: integer;
begin
for i:=0 to 2 do
begin
t:=1;
for j:=1 to m[i]-1 do t:=t*2;
t:=(t*2-1)*t;
write(t,' ');
end;
writeln;
end.
本题的运行结果是:( 3)
四、完善程序(共6个空,每空5分,共计30分)
1.以下的程序用来交换两个整型变量a和b的值。

阅读下面的程序,将程序中空缺的语句补充完整。

QBASIC语言Pascal语言
DIM a AS INTEGER DIM b AS INTEGER a = 10
a =
a = a - b
PRINT a; b
END program Test41; var a,b:integer; begin
a:=10;
a:=a-b; writeln(a,' ',b); end.
2.所谓哥德巴赫猜想,指的是任意一个不小于4的偶数,总可以表示为两个素数(也称质数)的和。

例如:
4=2+2
6=3+3
8=3+5
10=3+7
10=5+5
……
哥德巴赫猜想是一个数学难题,它的理论证明很复杂,我们这里只是用计算机对有限范围内的偶数加以验证,具体来说这个范围是指大于等于4且小于等于100。

阅读下面的程序,将程序中空缺的语句补充完整。

QBASIC语言Pascal语言
DECLARE FUNCTION f% (x AS INTEGER) DIM m AS INTEGER
DIM n AS INTEGER
DO
INPUT "请输入不小于4的偶数"; n LOOP UNTIL n >= 4 AND n <= 100 AND n MOD 2 = 0
IF f%(m) + = 2 THEN
PRINT n; "="; m; "+"; n - m
END IF
NEXT m
END
FUNCTION f% (x AS INTEGER)
DIM t AS INTEGER
DIM i AS INTEGER
t = 1
FOR i = 2 TO SQR(x)
IF x MOD i = 0 THEN t = 0
END FUNCTION program Test42;
var
n, m: integer;
function f(x: integer): integer;
var
t, i: integer;
begin
t:=1;
for i:=2 to trunc(sqrt(x)) do
end;
begin
repeat
writeln('请输入不小于4的偶数');
readln(n);
until (n>=4) and (n<=100) and
(n mod 2=0);
writeln(n,'=',m,'+',n-m);
end.
3.利用“筛选法”求出2至N 之间的所有素数(假设N<=1000),具体方法如下:
首先把2至N 之间的所有整数放入“筛”中,接着在2至N 之间去掉所有2的倍数,但不包括2;然后去掉所有3的倍数,但不包括3。

由于在去掉2的倍数时,4已被去掉了,因此下一个数就是5。

再去掉5的倍数,……,直至“筛”中的下一个数超过了N 的算术平方根。

最后,在“筛”中剩下的数就是素数了。

在具体编程时,“筛”可以用数组来实现。

阅读下面的程序,将程序中空缺的语句补充完整。

QBASIC 语言 Pascal 语言
DIM i AS INTEGER DIM j AS INTEGER DIM m AS INTEGER DIM n AS INTEGER DIM t AS INTEGER
DIM p(2 TO 1000) AS INTEGER DO
INPUT "请输入n 的值"; n
LOOP UNTIL (n >= 2) AND (n <= 1000) FOR i = 2 TO n p(i) = 1 NEXT i m = 2 DO j = m
j = WEND m = m + 1
WHILE p(m) = 0 m = m + 1 WEND
LOOP UNTIL m > SQR(n)
t = 0
IF THEN
t = t + 1 END IF NEXT i PRINT
PRINT "此范围内的素数个数="; t END program Test43; var
i, j, m, n, t: integer;
p: array[2..1000] of 0..1; begin repeat
write('请输入n 的值'); readln(n);
until (n>=2) and (n<=1000); for i:=2 to n do p[i]:=1; m:=2; repeat j:=m;
while j<=n do
end;
m:=m+1;
while p[m]=0 do m:=m+1; until m>sqrt(n); t:=0;
if then write(i:5); t:=t+1; end; writeln;
writeln('此范围内的素数个数=',t); end.
( 试题结束 )。

相关文档
最新文档