宁波市第25届中小学生程序设计竞赛初中组初赛试题和答案

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

初中组初赛试题

一、选择题(每题1.5分,共30分。每小题只有唯一一个答案)

1、在宁波市中小学生程序设计比赛复赛(上机编程)时,以下

不能使用的编程语言是:

(A)Turbo Pascal (B)Free Pascal (C)C (D)C++ 2、在Free Pascal中按功能键F7或F4时,以下叙述正确的是:(A)F4逐条语句执行(包括子程序),F7运行至光标位置(B)F7逐条语句执行(包括子程序),F4运行至光标位置(C)F4逐条语句执行(不包括子程序),F7运行至光标位置(D)F7逐条语句执行(不包括子程序),F4运行至光标位置3、使用高级语言编写的程序称之为:

(A)源程序(B)编辑程序(C)编译程序(D)链接程序

4、如果自己的程序进入了死循环,应当按什么键终止?

(A)Ctrl+C (B)Ctrl+D (C)Alt+C (D)Alt+D

5、参加宁波市中小学生程序设计比赛复赛(上机编程)时,以

下哪种行为是允许的?

(A)访问互联网或局域网(B)使用U盘或光盘

(C)使用自带的草稿纸(D)考试时发现机器有问题,举手示意监考人员处理

6、参加宁波市中小学生程序设计比赛复赛(上机编程)时,你

有一个程序被判0分。你发现程序其实是正确的,但存在以下问题,提出申诉,以下哪个申诉会被接受?

(A)源程序文件名和存放源程序的目录名错误

(B)只是存放源程序的目录名错误,源程序文件名是正确的(C)存放源程序的目录名正确,源程序文件名是错误的

(D)根据比赛规则,以上申斥都不会被接受

7、在Free Pascal语言,以下关于各种数据类型占内存空间大小的描述错误的是:

A每个integer型占2个字节 B每个longint型占4个字节

C每个boolean型占2个字节D每个extended型占10个字节

8、使用数组逐层保存完全二叉树结构,则以下叙述正确的是:

(A)逻辑结构为完全二叉树,物理结构为数组

(B)物理结构为完全二叉树,逻辑结构为数组

(C)逻辑结构和物理结构均为完全二叉树

(D)逻辑结构和物理结构均为数组

9、关键码相同的二个元素,原来在排在前面的还能保证排在前

面,这种排序算法我们称它是稳定的。冒泡排序、选择排序、插入

排序、快速排序中,一般意义上是稳定的有几种:

(A)1 (B)2 (C)3 (D)4

10、在Free Pascal中编辑当前源程序时,可以使用快捷键

Ctrl+F7增加调试程序时监视的变量,但如果不小心错按为

Ctrl+F6时,会将当前源程序窗口隐藏起来。此时,可以使用菜单命令“Windows/List”调出Windows List对话框,在该对话框中选中隐藏的当前正在编辑的源程序,然后按下面哪个命令按钮可以显示当前正在编辑的源程序?

(A)Ok (B)Not Hide (C)Show (D)Delete

花色,每种花色点数从小到大各有13张,它们是:2、3、4、5、6、7、8、9、10、J、Q、K、A。

在上述52张中任取5张,取得炸弹(four of a kind,即四张点数相同的牌加一张另外点数的牌)的取法数有13*48=624种;取得辅鲁(full house,即三张点数相同另加二张点数相同牌)

的取法数有多少种?请注意,二种取法中,只要有一张牌花色不同或点数不同,这二种取法就是不同的。

2、有若干堆硬币,甲乙二人参加游戏,游戏规则如下:

(1)由甲开始,二人轮流取硬币,每次取时只能从某一堆中取若干个硬币,可以把该堆硬币全部取完,最少可以只取一个硬币,但不能不取硬币。

(2)最后取完最后一个硬币的人为胜者。

比如一开始有二堆硬币,第一堆1枚,第二堆2枚,有几种取法:

(1)甲取第一堆1枚,乙取第二堆1枚,甲取第二堆1枚,甲获胜!

(2)甲取第一堆1枚,乙取第二堆2枚,乙获胜!

(3)甲取第二堆1枚,乙取第一堆1枚,甲取第二堆1枚,甲获胜!

(4)甲取第二堆1枚,乙取第二堆1枚,甲取第一堆1枚,甲获胜!

(5)甲取第二堆2枚,乙取第一堆1枚,乙获胜!

显然,当甲先取第二堆1枚时,甲能获胜!当甲采取其它取法时,当乙取对时,甲会失败的。但如果一开始二堆硬币数都为2枚,则甲无论在哪一堆中取多少个,乙可以在另外一堆中取同样多个,乙获胜,甲失败。

现在有四堆硬币,第1堆有1枚硬币,第2堆有2枚硬币,第3堆有4枚硬币,第4堆有5枚硬币。问甲先取,在大家都使用最佳方法的情况下,甲能否获胜?如果甲能获胜,请写出第一次在第几堆取多少枚硬币才能获胜?如果不能获胜,则只要写上“No”。

三.阅读程序,求程序运行输出结果(每题8分,共32分) 第1题:

Program cz2010_1;

var a,b,c,d,n,i,j:longint;

find:boolean;

f:array[0..19]of longint;

begin

n:=-1;i:=1;

while n<19 do begin

i:=i+1;find:=false;

for j:=2 to trunc(sqrt(i)) do

if i mod j=0 then begin

find:=true;break;

end;

if not find then begin

n:=n+1;f[n]:=i;

end;

end;

readln(a,b,c,d);

n:=n+1;

a:=((f[a]*f[b]-f[c]*f[d]) mod n+n) mod n; b:=((f[b]* f[c]-f[d]* f[a]) mod n+n) mod n; c:=((f[c]* f[d]-f[a]* f[b]) mod n+n) mod n; d:=((f[d]* f[a]-f[b]* f[c]) mod n+n) mod n; writeln(a,' ',b,' ',c,' ',d);

end.

【输入】:2 3 5 7

【输出】:______________

第2题:

Program cz2010_2;

var a:array[1..30]of char;

s,n,i,x,y,z:longint;c:char;

begin

s:=0;readln(x,y);

while not eoln do begin

read(c);

if c<='9' then s:=s*x+ord(c)-ord('0')

else s:=s*x+ord(c)-ord('A')+10; end;

readln;write(s,‟ …);n:=0;

while s>0 do begin

n:=n+1;z:=s mod y;

if z>9 then a[n]:=chr(z-10+ord('A'))

else a[n]:=chr(z+ord('0'));

s:=s div y;

end;

for i:=n downto 1 do write(a[i]); writeln;

end.

【输入2】:

16 13

3A2B

【输出2】:

__________________________

__________________________

【输入1】:

7 2

126

【输出1】:

__________________________

__________________________

相关文档
最新文档