2013年慈溪市小学生程序初赛试题

更新时间:2024-04-06 23:29:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2013年慈溪市小学生初赛试题

(Pascal 语言 90分钟完成)

●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ●●

一.单项选择题(共20题,每题1.5分, 共计30分.每题有且仅有一个正确答案.)

1.八进制数77相当于十进制中的( )。 A. 77 B. 72 C. 64 D. 63

2.一个64位的整型变量占用( )个字节。 A.8 B. 16 C. 32 D. 64 3.算法的3种基本结构是( )。

A.顺序、分支、循环 B.顺序、重复、循环 C.顺序、分支、判断 D.顺序、流程、循环

4.在计算机内部,用来传送、存储、加工处理数据或指令都是以( )方式进行的。 A.十进制码 B.十六进制码 C.二进制码 D.ASCII码字符

5.中央处理器的英文缩写是 CPU,它是计算机的核心部分,一台计算机的性能很大程度上 是由它的CPU决定的,CPU是由( )两部分组成。 A.存储器和运算器 B.运算器和控制器 C.存储器和控制器 D.主存储器和运算器

6.从 ENIAC 到当前最先进的计算机,冯·诺依曼体系结构始终占有重要的地位。冯·诺依 曼体系结构的核心内容是( )。

A.采用开关电路 B. 采用半导体器件 C.采用存储程序和程序控制原理 D. 采用键盘输入

7.用计算机编程时,正在编写或调试的程序是存放在( )中。 A.CPU B.ROM C.RAM D.外存

8.彩色显示器所显示的五彩斑斓的色彩,是由三色混合而成的,下面不是这三色的是( )。 A. 红 B. 白 C. 蓝 D. 绿

9.一个无法靠自身的控制终止的循环称为“死循环”,例如,在 pascal 语言程序中,语 句“while(true) do write(‘#’);”就是一个死循环,运行时它将无休止地打印#号。 下面关于死循环的说法中,只有( )是正确的。

A. 不存在一种算法,对任何一个程序及相应的输入数据,都可以判断是否会出现死 循环,因而,任何编译系统都不做死循环检验 B.有些编译系统可以检测出死循环

C. 死循环属于语法错误,既然编译系统能检查各种语法错误,当然也应该能检查出 死循环

D. 死循环与多进程中出现的“死锁”差不多,而死锁是可以检测的,因而,死循环 也可以检测的

10.已知数列2,3,5,8,12,??,则该数的第10项是( ) A.85 B.75 C.47 D. 37

11.已知n定义为real 类型,则下列语句正确的是( )。 A.for i:=1 to n do B.for i:=1 to trunc(n) do C.for i:=1 to int(n) do D.for i:=1 to abs(n) do

12.已知一个顺序表由 256 个从小到大排列的整数组成,那么依次采用顺序查找算法,最坏 情况下的查找次数是( ) 。 A.256 B.128 C.8 D.10

13.在下列各数中最大的数是( )。

A.(2A)16 B.(46)8 C.(43)10 D.(101000)2

14.下列程序段中,正确计算 1,2,?,100这 100 个自然数之和,效率最优的是( ) 。

A.s:=1;x:=1; repeat x:=x+1;s:=s+x; until x>100; writeln(s); B.s:=1;x:=2;

While x<=100 do Begin

s:=s+x;x:=x+1 end; writeln(s); C.s:=0;

for x:=1 to 100 do

s:=s+x; writeln(s);

D. S:=(1+100)*100 div 2;

Writeln(s);

15.一个队列开始为空,数列1,2,3,?按顺序进队,经过操作序列“进,进,出,进,进, 出,进,进,进,出,进,出”后,队列中的倒数第 3个元素是( ) 。 A.5 B.6 C.7 D.8

16. 若变量a的值是13, b的值是100, c的值是8。下列各表达式中,结果是true的是( ) 。 A.’a’>’c’ B.(a>=b) and (a<>c)

C.((a-b)>c) or (c>(b div a)) D.((b div a)*a=b)or ((b div c)*c=b)

17.请从逻辑的角度在后面的括号中填入后续数字8, 6, 7, 5, 6, 4, ( ) 。 A.1 B.2 C.3 D.5 18.满二叉树是一种特殊的二叉树,它除了最底下一层的结点没有任何 子结点外其他所有节点都有两个儿子结点,如右图是一棵 3层的满二叉 树。那么,一棵有6层的满二叉树,一共有几个结点?( ) 。 A.64 B.63 C.32 D.31

19.数组在计算机内一般是按行优先的顺序连续存放的,对于二维数组 a[1..5,1..9],每个

元素占两个字节,已知 a[1,1]的起始地址是1000,则a[4,4]的起始地址是( ) 。 A.1060 B.1062 C.1036 D.1038

20.以下不符合青少年网络文明公约的是( ) 。 A. 相信绝大多数的网友是真诚的,随意与网友约会 B. 沉溺于网络游戏,影响学习

C. 上电脑课时下载大量迷幻类、穿越类的小说,以便晚上睡觉躲被窝看 D. 以上都是

二、问题求解(每题 5分,共10分)

1.某班要选举产生1名正班长和1名副班长,班主任事先确定了 4名同学作为候选人,现在 由全班同学来民主选举出1名正班长和1名副班长,那么最多可能有______种选举结果?

2.已知顺序表中有 23、22、34、11、35、58、47、46 共8个数据,现要将这张顺序表升序 排列, 至少需要__________次交换?

三.阅读程序写结果(共 4 题,每题 8 分,共计 32 分) 1.Program cx2013p1; var a,i:integer; begin

a:=0;

for i:=1 to 5 do begin

if i =3 then a:=a+2; if i=2 then a:=a+3; a:=a+5; end; write(a); end.

输出:_____________________

2.Program cx2013p2; var x,y:integer;

Procedure fn(a:integer; var b:integer); Begin a:=a+b; b:=a+b; end; begin x:=10; y:=20; fn(x,y);

write(x,y:3); end.

输出:_____________________

3.Program cx2013p3; var a:array[0..10]of integer; j,n,x,k,i,y,s:integer; begin

readln(k,n); i:=-1; repeat i:=i+1;

a[i]:=n mod 2; n:=n div 2; until n=0;

for x:=0 to i do if a[x]=1 then begin y:=1;

for j:=1 to x do y:=y*k; s:=s+y; end; writeln(s); end.

输入 3 20

输出:_____________________

4. Program cx2013p4; var p, i,j,t,k,n:integer;

a,b,c:array[0..100] of integer; begin

readln(n);

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

b[a[1]]:=1; c[1]:=1;

for i:=2 to n do begin

k:=b[a[i]];

if t

if t>c[i-1] then c[i]:=t else c[i]:=c[i-1]; end; write(c[n]); end. 输入: 10

3 4 16 3 3 14 2 12 2 9 输出:_____________________

四.完善程序 (前 2空,每空 2分,后8 空,每空3分,共 28 分)

1.奇思妙想——分队员

在奇思妙想班教室里,共有 20位学生,桌子是圆形摆放的,桌上贴着每位学生的学号, 老师让同学们与自已最喜欢的同学相邻就座。如下图 1是学生就座示意图。

奇思妙想班的同学每天都在做奇思妙想的事情,他们的想法总是让人匪夷所思。

有一次奇思妙想班组织了一场象棋团体对抗赛,全班分成5个组, 每组由4位学生组成。 为保证对抗赛能顺利地进行,奇思妙想班分组员时,采纳了多多与众不同的方法。多多的具 体选法如下所述:

从学号为 1 号的学生开始顺时针方向数数,数到 4 的那位学生以后不能再数数,然后 他的下一位重新数“1”。这样继续下去,直到所有人都数到4为止。第 1到第 4数到数字4的4位学生为第1组,第5到第8数到数字4的学生为第 2 组??。

输入说明,一行,共 20 个数,从 1 号开始顺时针方向读取 20 个学生的学号数,中间

用空格隔开。

输出说明,一行,共 20个数,中间用空格隔开。 【样例输入】

1 18 4 16 6 10 15 2 17 3 14 7 13 8 11 19 9 12 5 20 【样例输出】

16 2 7 19 20 6 3 11 1 15 8 18 14 5 13 10 4 17 12 9 【样例说明】

16 2 7 19 20 6 3 11 1 15 8 18 14 5 13 10 4 17 12 9

第 1小组 第2小组 第3 小组 第4 小组 第5 小组

【程序清单】 Program cx2013p5; var s,n,k,i,j:integer;

a,b:array[1..20] of integer; begin

① ; for i:=1 to n do read(b[i]); for i:=1 to n do a[i]:=1; s:=n; j:=0;

while ② do for i:=1 to n do begin

③ ; if j=4 then

begin

write( ④ ,’ ’);

s:=s-1;

⑤ ; a[i]:=0; end; end; end.

2.奇思妙想——比数

在奇思妙想班课堂中,老师提出这样一个问题:“240、750 谁大?” 。对学过数学的同 学们来说,这太简单了,答案是750比 240大。要说 240比 750大,你肯定也不信,老师偏

偏要大家奇思妙想一个方法来说明 240比 750大。这下可为难同学们了,课堂上顿时议论纷

纷。这时多多举手了,他把自已的想法说了出来,获得了全班同学的一致好评。 原来多多说明240比750大的方法是这样的:

(1)将240、750分解质因数之积:240=2×2×2×2×3×5; 750=2×3×5×5×5。

(2)将各质因数的次数累乘:

240 分解的质因数 2 的次数为 4,质因数 3 的次数为 1, 质因数 5 的次数为 1,各种质 因数次数累乘结果为 4×1×1=4;

750 分解的质因数 2 的次数为 1,质因数 3 的次数为 1, 质因数 5 的次数为 3,各种质

因数次数累乘结果为 1×1×3=3。

(3)根据两数的质因数次数累乘结果 4大于 3,所以认为 240比 750大。

虽然得到了大家的肯定,可多多还是高兴不起来,因为他在想另外一个问题,如果两

个比较的数,它们的质因数不一样, 就不能进行大小比较了。这个问题困扰着多多好长时间,

终于有一天他想到了??

现在给你两个大于 10 的整数,按多多的方法,如果不可以比较,输出-1;如果可以比 较,将比较后的结果,按从大到小的顺序输出。 【样例1输入】 750 240 【样例1输出】 240 750 【样例2输入】 12 15

【样例2输入】 -1

注:如果一个质数(又称为素数)是某个数的因数,那么就说这个质数是这个数的质因数。

【程序清单】

Program cx2013p6;

var t,s1,s2,x,y,x1,y1,link,i:integer;

a,b:array[1..1000] of integer; begin

read(x,y); x1:=x; y1:=y; i:=1; link:=0; repeat

⑥ ; if x mod i=0 then begin

inc(link);

⑦ ; b[link]:=0;

while x mod i=0 do begin

inc(b[link]); ⑧ ; end; end; until x=1; s1:=1;

for i:=1 to link do begin t:=0;

if y mod a[i]<>0 then break;

while y mod a[i]=0 do begin

⑨ ; y:=y div a[i]; end;

s1:=s1*t;

end;

if ⑩ then begin s2:=1;

for i:=1 to link do s2:=s2*b[i];

if s1',y1) else write(y1,'>',x1); end

else write(-1); end.

本文来源:https://www.bwwdw.com/article/urbr.html

Top