鲁迅故事新编百度云: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。