鲁迅故事新编百度云:Pascal强化班本周计划(12月17日)
来源:百度文库 编辑:中财网 时间:2024/04/29 09:08:34
一、单项选择题:(请将正确答案的序号写在题前括号中,本题45分)
( ) 1. 启动WINDOWS后,不是桌面上常见的图标是( )。
A. 我的电脑 B. 回收站 C. 控制面板 D. 我的文档
( ) 2. 字母在计算机中是以编码形式表示的。通用的编码是ASCII码,字母“a”的ASCII码是97,字母“z”的ASCII码是( )。
A. 120 B. 121 C. 122 D. 123
( ) 3. 分析数字规律,找出后面数:20 ,22 ,25 ,30 ,37 ,( )
A.39 B< xmlnamespace prefix ="st1" ns ="urn:schemas-microsoft-com:office:smarttags" />.45 C.48 D.51
( ) 4. 古时候,有四个长工在推测财主的财富到底有多少。甲说,他的钱不会超过25万贯。乙说,他的钱不会超过30万贯。丙说,他的钱绝对在40万贯以上。丁说,他的钱肯定没有50万贯。实际上只有一个长工说对了。以下哪一项为真,可支持上述观点?( )
A. 甲说的对 B. 财主的钱在50万贯以上
C.财主的钱财在40万贯—50万贯之间 D.丁说的对。
( ) 5. A、B、C三人中一位是工人,一位是教师,一位是律师。已知:C仅比律师年龄大,A和教师不同岁,B比教师年龄小。问:A、B、C分别是什么身份?
A. 工人、教师、律师 B. 律师、工人、教师
C. 工人、律师、教师 D. 教师、律师、工人
( ) 6. 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第5天早上想再吃时,见只剩下一个桃子了。求第一天共摘了( )个?
A. 46 B. 22 C. 94 D. 10
( C ) 7. 用A表示某个人的总成绩,用B表示这个人的语文成绩,用C表示这个人的数学成绩。那么,用来表达总分不低于170分,同时数学成绩不低于90分,或者语文成绩不低于86分的逻辑表达式是
A. A>=170 AND B>=86 OR C>=90
B. 总分超过170,并且语文超过86或数学超过90
C. (A>=170) AND (B>=86 OR C>=90)
D. (A>=170 AND B>=86) OR C>=90
( ) 8. 当n为任意正奇数时,值总为true的表达式是( )。
A. n mod 2=0 B. n div 2=1 C. n-(n div 2)=1 D. n-trunc(n/2)*2=1
( ) 9. 有下面程序段:
a:=false; b:=false; c:=true; x:=10;
if a then x:=x-5
else if b then
if c then x:=36
else x:=45;
假设所有变量均已说明,程序运行后x的值是:
A. 5 B. 10 C. 36 D. 45
( ) 10. 下列FOR语句构成的循环,能执行且有输出的是:
A. for i:=1 downto 5 do write(i);
B. for i:=5 to 1 do write(i);
C. for i:=5 to 5 do write(i);
D. for i:=0.5 to 5.5 do write(i);
( ) 11. 下列程序段中,循环体执行的次数为:
i:=1;
repeat
n:=i*i;
i:=i+1
until n>i;
A. 1 B. 2 C. 3 D. 4
( ) 12. 有下列程序段:
x:=2;
y:=6;
for i:=x to y do
begin
x:=3;
y:=6;
write(i)
end
则FOR循环体的执行次数是:
A. 0 B.3 C.4 D.5
( ) 13. 程序段如下:
for i:=1 to 5 do
for j:=2 to i do
writeln(‘*’);
输出’*’的个数是
A.5 B.10 C.15 D.25
( ) 14. 已知有说明
const a=1; b=2; c=3; d=4;
var w,x,y,z:integer;
执行语句 x:=a; x:=c; y:=a+2; z:=b; w:=d-a+b; 后,其值相等的变量是( )。
A. x,y B. x,z C. x,w D. y,z
( ) 15. 有下列程序段
for i:=1 to 10 do
begin
case i mod 4 of
0: ch:='a';
1: ch:='b';
2: ch:='c';
3: ch:='d'
end;
write(ch);
end;
运行后输出结果是( )。
A. abcdabcdab B. bcdabcdabc C. cdabcdadcd D. dabcdabcda
二、阅读程序,写出运行结果:(本题30分)
1 、程序清单:
Program kk21;
var d, p: integer;
begin
p:=1;
for d:=5 downto 1 do
p:=2*(p+1);
writeln (p)
end. 程序运行后输出:
2、程序清单:
Program kk22;
var
i,j: integer;
begin
for i:= 1 to 8 do write(char(i*2+ord('A')));
writeln;
for i:= 1 to 4 do
begin
for j:= 1 to i do write(‘*’);
writeln;
end;
end. 程序运行后输出:
3、程序清单:
Program kk23;
Var
m,a,b,c,d:integer;
begin
readln(m);
a:=m div 1000;
b:=(m-a*1000)div 100;
c:=(m-a*1000-b*100)div 10;
d:=m mod 10;
write(d:3,c:3,b:3,a:3);
end.
输入: 2685 输出:
三、完善程序(本题20分,每空4分)
1、植树节那天,有五位参加了植树活动,他们完成植树的棵数都不相同。问第一位同学植了多少棵时,他指着旁边的第二位同学说比他多植了两棵;追问第二位同学,他又说比第三位同学多植了两棵;…,如此类推,都说比另一位同学多植两棵。最后问到第五位同学时,他说自己植了10棵。到底第一位同学植了多少棵树?
程序清单:
Program Ex31;
Var i, a: integer;
begin
a:=10;
for i :=1 to ① do
a:= ②
writeln(’The Num is’, a);
readln;
end. 程序中①为: ②为:
2、有100多个零件,如果分成4个零件一组,则多出2个;分成7个零件一组,则多出3个;若分成9个零件一组,则多出5个。问这堆零件有多少?
程序清单:
Program Ex32;
var i: integer;
begin
for i :=100 to 200 do
if ③ and (i mod 7=3) and ④ then writeln(i);
readln;
end. 程序中③为: ④为:
六、编写程序(本题13分)
一光滑墙壁高X尺,有一个小虫从墙底部向上爬,每分钟爬Y尺。但每爬一分钟后都要休息一分钟,在休息期间又下滑一尺。编程:输入X和Y,计算该小虫最少几分钟可爬到顶端。
输入格式:包括一行数据,其中有两个数据,分别表示墙壁的高(尺)和小虫每分爬的高度(尺),两个数据之间用空格隔开。
输出格式:只有一个数据,表示小虫至少可爬到顶端的时间。
样例输入:4 2
样例输出:5
要求:① 分析题目,写出算法; ② 编程实现算法
算法:
算法一:模拟,设变量s表示当前经过的时间,p表示当前爬到的高度。S和p初始为0,每次p:=p+y,s:=s+1,判断p是否已经到达顶端(p>=x);若没有,则下滑一尺,即p:=p-1; s:=s+1; 循环操作,如果p>=x则立即结束循环,则不再下滑,直接得到答案。
算法二:数学方法
因为最后一次爬到顶端,是不下滑的,所以先把最后一次除去,即x:=x-y;,现在的高度x包含有几次上升和下滑,每次上升的实际高度是y-1,这里有两种情况:如果x能够整除y-1,那么所需的时间就是(x div (y-1))*2;如果x不能整除y-1,那么就还要多一次上升和下滑,即(x div (y-1)+1)*2。