pascal竞赛试题及答案Word文档格式.docx
- 文档编号:16431272
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:24
- 大小:30.57KB
pascal竞赛试题及答案Word文档格式.docx
《pascal竞赛试题及答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《pascal竞赛试题及答案Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
D.对于已经定义好的标准数学函数sin(x),应用程序中的语句“y=sin(sin(x));
”就是一种递归调用
13.一个无法靠自身的控制终止的循环成为“死循环”,例如,在C语言程序中,语句“while
(1)printf(“*”);
”就是一个死循环,运行时它将无休止地打印*号。
下面关于死循环的说法中,只有()是正确的。
A.不存在一种算法,对任何一个程序及相应的输入数据,都可以判断是否会出现死循环,因而,任何编译系统都不做死循环检查
B.有些编译系统可以检测出死循环
C.死循环属于语法错误,既然编译系统能检查各种语法错误,当然也应该能检查出死循环
D.死循环与多进程中出现的“死锁”差不多,而死锁是可以检测的,因而,死循环也可以检测的
14.在Pascal语言中,表达式(23or2xor5)的值是()。
A.18B.1C.23D.32
15.在Pascal语言中,判断整数a等于0或b等于0或c等于0的正确的条件表达式是()。
A.not((a<
>
0)or(b<
0)or(c<
0))
B.not((a<
0)and(b<
0)and(c<
C.not((a=0)and(b=0))or(c<
0)
D.(a=0)and(b=0)and(c=0)
16.地面上有标号为A、B、C的三根柱,在A柱上放有10个直径相同中间有孔的圆盘,从上到下依次编号为1,2,3……,将A柱上的部分盘子经过B柱移入C柱,也可以在B柱上暂存。
如果B柱上的操作记录为“进、进、出、进、进、出、出、进、进、出、进、出、出”。
那么,在C柱上,从下到上的编号为()。
A.243657B.241257C.243176D.243675
17.与十进制数1770对应的八进制数是()。
A.3350B.3351C.3352D.3540
18.设A=B=True,C=D=False,一下逻辑运算表达式值为假的有()。
A.(「A∧B)∨(C∧D∨A)B.「(((A∧B)∨C)∧D)
C.A∧(B∨C∨D)∨DD.(A∧(D∨C))∧B
19.(2070)16+(34)8的结果是()。
A.(8332)10B.(208A)16C.(100000000110)2D.(20212)8
20.已知7个节点的二叉树的先根遍历是1245637(数字为节点的编号,以下同),中根遍历是4265173,则该二叉树的后根遍历是()。
A.4652731B.4652137C.4231547D.4653172
二、问题求解(共2题,每题5分,共计10分)。
1、(子集划分)将n个数(1,2,…,n)划分成r个子集。
每个数都恰好属于一个子集,任何两个不同的子集没有共同的数,也没有空集。
将不同划分方法的总数记为S(n,r)。
例如,S(4,2)=7,这7种不同的划分方法依次为{
(1),(234)},{
(2),(134)},{(3),(124)},{(4),(123)},{(12),(34)},{(13),(24)},{(14),(23)}。
当n=6,r=3时,S(6,3)=______________。
(提示:
先固定一个数,对于其余的5个数考虑S(5,3)与S(5,2),再分这两种情况对原固定的数进行分析。
三、阅读程序写结果(共4题,每题8分,共计32分。
1、programj301;
vari,a,b,c,x,y:
integer;
p:
array[0..4]ofinteger;
begin
y:
=20;
fori:
=0to4doread(p);
readln;
a:
=(p[0]+p[1])+(p[2]+p[3]+p[4])div7;
b:
=p[0]+p[1]div((p[2]+p[3])divp[4]);
c:
=p[0]*p[1]divp[2];
x:
=a+b-p[(p[3]+3)mod4];
if(x>
10)
theny:
=y+(b*100-a)div(p[p[4]mod3]*5)
else
=y+20+(b*100-c)div(p[p[4]mod3]*5);
writeln(x,'
'
y);
end.
{注:
本例中,给定的输入数据可以避免分母为0或数组元素下表越界。
}
输入:
66553输出:
______________________
2、programj302;
vara,b:
varx,y:
^integer;
procedurefun(a,b:
integer);
vark:
begink:
=a;
=b;
=k;
end;
=3;
=6;
=@a;
=@b;
fun(x^,y^);
writeln(a,'
b);
输出:
_______________________________
3、programj303;
vara1:
array[1..50]ofinteger;
vari,j,t,t2,n,n2:
n:
=50;
=1tondoa1:
=0;
n2:
=round(sqrt(n));
=2ton2do
if(a1=0)then
begin
t2:
=ndivi;
forj:
=2tot2doa1[i*j]:
=1;
t:
=2tondo
write(i:
4);
inc(t);
if(tmod10=0)thenwriteln;
writeln;
_____________________________________________
_____________________________________________
4、Programj304;
Typestr1=string[100];
Str2=string[200];
Var
S1:
str1;
s2:
str2;
Functionisalpha(c:
char):
Boolean;
Vari:
Begin
i:
=ord©
;
if((i>
=65)and(i<
=90))or((i>
=97)and(i<
=122))then
isalpha:
=true
elseisalpha:
=false;
end;
functionisdigit(c:
vari:
if(i>
=48)and(i<
=57)thenisdigit:
elseisdigit:
procedureexpand(s1:
vars2:
str2);
vari,j:
a,b,c:
char;
j:
=char
(1);
while(i<
=ord(s1[0]))do
begininc(i);
=s1;
ifc='
-'
thenbegin{1}
=s1[i-1];
=s1[i+1];
if(isalpha(a)andisalpha(b))or(isdigit(a)andisdigit(b))thenbegin
dec(j);
while(ord(upcase(a))<
ord(upcase(s1[i+1])))do
s2[j]:
inc(j);
inc(a);
end
begins2[j]:
=c;
end{1}
elsebegins2[j]:
s2[0]:
=char(j-2);
beginreadln(s1);
expand(s1,s2);
writeln(s2);
end.
wer2345d-h454-82qqq输出:
__________________________
四、完善程序(前4空,每空2.5分,后6空,每空3分,共28分)。
1、(求字符的逆序)下面的程序的功能是输入若干行字符串,每输入一行,就按逆序输出该行,最后键入-1终止程序。
请将程序补充完整。
Programj401;
typestr1=string[100];
varline:
kz:
procedurereverse(vars:
str1);
varI,j:
=length(s);
j)dobegin
=s;
s:
=s[j];
s[j]:
=t;
;
writeln(‘continue?
-1forend.’);
readln(kz);
while()do
readln(line);
writeln(line);
2233
2-113
4115
4455
2、(棋盘覆盖问题)在一个2k×
2k个方格组成的棋盘中恰有一个方格与其它方格不同(图中标记为-1的方格),称之为特殊方格。
现用L型(占3个小方格)纸片覆盖棋盘上除特殊方格的所有部分,各纸片不得重叠,于是,用到的纸片数恰好是(4k-1)/3。
在下表给出的一个覆盖方案中,k=2,相同的3各数字构成一个纸片。
下面给出的程序使用分治法设计的,将棋盘一分为四,依次处理左上角、右上角、左下角、右下角,递归进行。
请将程序补充完整。
(图画不了...郁闷)
Programj402;
typearr1=array[1..65]ofinteger;
arr2=array[1..65]ofarr1;
varboard:
arr2;
tile:
size,dr,dc:
procedurechessboard(tr,tc:
dr,dc:
varsize:
vart,s:
if(size=1)then;
=tile;
inc(tile);
=sizediv2;
ifthenchessboard(tr,tc,dr,dc,s)elsebegin
board[tr+s-1]:
if(dr<
tr+s)and(dc>
=tc+s)thenchessboard(tr,tc+s,dr,dc,s)
elsebeginboard[tr+s-1][tc+s]:
if(dr>
=tr+s)and(dc<
tc+s)thenchessboard(tr+s,tc+s,dr,dc,s)elsebegin
board[tr+s][tc+s]:
=tr+s)and(dc>
=tc+s)thenchessboard(tr+s,tc+s,dr,dc,s)
elsebeginboard[tr+s][tc+s]:
procedureprt1(n:
forI:
=1tondobegin
=1tondowrite(board[j]:
3);
writeln(‘inputsize(4/8/16/64):
’);
readln(size);
writeln(‘inputthepositionofspecialblock(x,y):
readln(dr,dc);
board[dr][dc]:
=-1;
chessboard(1,1,dr,dc,size);
prt1(size);
NOIP2007年普及组(Pascal语言)参考答案与评分标准
一、单项选择题:
(每题1.5分)
1.D2.D3.C4.B5.B6.B7.B8.C
9.C10.A
11.C12.A13.A14.A15.B16.D17.C18.D
19.A20.A
二、问题求解:
(每题5分)
1.90
2.210
三、阅读程序写结果
1.15,46(对1个数给4分,无逗号扣1分)
2.3,6
3.2357111317192329
3137414347
4.wer2345defgh45456782qqq
四、完善程序(前4空(①--④),每空2.5分,后6空(⑤--⑩),每空3分)
(说明:
以下各程序填空可能还有一些等价的写法,各省可请本省专家审定和上机验证,不一定上报科学委员会审查)
1.①inc(i)或i:
=i+1
②dec(j)或j:
=j-1
③kz<
-1
④reverse(line)
2.⑤exit
⑥(dr⑦chessboard(tr,tc,tr+s-1,tc+s-1,s)
⑧chessboard(tr,tc+s,tr+s-1,tc+s,s)
⑨chessboard(tr+s,tc,tr+s,tc+s-1,s)
⑩chessboard(tr+s,tc+s,tr+s,tc+s,s)
第九届全国青少年信息学奥林匹克联赛初赛试题及答案
(普及组PASCAL语言二小时完成)
●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●
一.选择一个正确答案代码(A/B/C/D/E),填入每题的括号内(每题1.5分,共30分)
1.下列计算机设备中,既是输入设备,又是输出设备的是()。
A)键盘B)触摸屏C)扫描仪D)投影仪E)数字化仪
2.下列分辨率的显示器所显示出的图像,最清晰的是()。
A)800*600B)1024*768C)640*480D)1280*1024E)800*1000
3.下列说法中,正确的是()。
A)在内存中,可执行程序用二进制码表示,源程序用八进制表示。
B)程序和数据在内存中都是用二进制码表示的。
C)内存中数据的存取是以二进制位为单位的。
D)中央处理器CPU执行的每条指令的长度都不同。
E)一般来说,在计算机内部,中文信息用十六进制表示,英文信息用八进制表示。
4.下列说法中,错误的是()。
A)程序是指令的序列,它有三种结构:
顺序、分支和循环。
B)地址总线决定了中央处理器CPU所能访问的最大内存空间的大小。
C)中央处理器CPU内部有寄存器组,用来存储数据。
D)不同厂家生产的CPU所能处理的指令集不一定相同。
E)数据传输过程中不可能会出错。
5.CPU访问内存的速度比访问下列哪个存储设备要慢()。
A)寄存器B)硬盘C)软盘D)磁带E)光盘
6.下列电子邮件地址,正确的是()。
A)wang@B)cai@jcc.pc.tool@rf.edu.jp
C)162.105.111.22D)
E)http:
//
7.数字图像文件可以用下列哪个软件来编辑()。
A)画笔(Paintbrush)B)记事簿(Notepad)C)Recorder
D)WinRARE)MidiSoft
8.下列哪个软件不是操作系统软件的名字()。
A)WindowsXPB)DOSC)LinuxD)OS/2E)Arch/Info
9.下列哪个不是个人计算机的硬件组成部分()。
A)主板B)操作系统C)电源D)硬盘E)软驱
10.图灵(AlanTuring)是()。
A)美国人B)英国人C)德国人D)匈牙利人E)法国人
11.第一个给计算机写程序的人是()。
A)AlanMathisonTuring
B)AdaLovelace
C)JohnvonNeumann
D)JohnMcCarthy
E)EdsgerWybeDijkstra
12.十进制数2003等值于二进制数()。
A)11111010011B)10000011C)110000111D)010000011lE)1111010011
13.运算式(2008)10-(3723)8的结果是()。
A)(-1715)10B)(5)10C)(-5)16D)(111)2E)(3263)8
14.下列关于程序语言的叙述,不正确的是()。
A)编写机器代码不比编写汇编代码容易。
B)高级语言需要编译成目标代码或通过解释器解释后才能被CPU执行。
C)同样一段高级语言程序通过不同的编译器可能产生不同的可执行程序。
D)汇编代码可被CPU直接运行。
E)不同的高级语言语法略有不同。
15.假设A=true,B=false,C=true,D=true,逻辑运算表达式A∧B∨C∧D的值是()。
A)trueB)falseC)0D)1E)NULL
16.一个高度为h的二叉树最小元素数目是()。
A)2h+lB)hC)2h-1D)2hE)2h-l
17.已知队列(13,2,11,34,41,77,5,7,18,26,15),第一个进入队列的元素是13,则第五个出队列的元素是()。
A)5B)41C)77D)13E)18
18.下列关于文件的叙述,不正确的是()。
A)一个可执行程序其实也是一个文件。
B)文件可大可小,大的文件一张软盘装不下。
C)一个文件夹下面可以有两个同名的文件,只要它们的大小不同就行了。
D)文件的创建日期和最新修改日期可以在资源管理器中看到。
E)某些文件的内容可以用记事本(Notepad)看到。
19.活动硬盘的容量比固定硬盘的容量()。
A)大B)小C)相等D)不一定大E)大致相等
20.IP地址是一个()位二进制码。
A)8B)16C)32D)64E)12
二.问题求解(每题5分,共10分)
1.现在市场上有一款汽车A很热销,售价是2万美元。
汽车A每加仑汽油可以行驶20英里。
普通汽车每年大约行驶12000英里。
油价是每加仑1美元。
不久我公司就要推出新款节油汽车B,汽车B每加仑汽油可以行驶30英里。
现在我们要为B制定价格(它的价格略高于A):
我们预计如果用户能够在两年内通过节省油钱把B高出A的价钱弥补回来,则他们就会购买B,否则就不会购买B。
那么B的最高价格应为 万美元。
2.无向图G有16条边,有3个4度顶点、4个3度顶点,其余顶点的度均小于3,则G至少有 个顶点。
三.阅读程序(每题8分,共32分)
1.programPrograml;
var
a,x,y,okl,ok2:
integer;
begin
a:
=100:
x:
=l0;
y:
=20;
okl:
=5:
ok2:
=0;
if((x>
y)or
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- pascal 竞赛 试题 答案