不是VIP会员,不能显示答案,请在后台“我的信息” 在线升级 VIP

一、 选择题(2*7)

1. 下列表达式的值为FALSE的是( )。

  • A.Not(‘90’<’100’)
  • B.Round((Abs(-10.5)))<10
  • C. Odd(True(98.49))
  • D.Ord(Chr(Pred(8)))>=7

2. 判断变量ch的值是否为大写字母,下列表达式正确的是( )。

  • A.ch>=’A’ and ch<=’Z’
  • B.’A’<=ch<=’Z’
  • C.(ch>=A)and(ch<=Z)
  • D. not(ch<’A’)or(ch>’Z’)

3. 表达式Chr(Ord(‘a’)+5))的值是( )。

  • A.’f’
  • B.‘E’
  • C.102
  • D.101

4. 与十进制数2014等值的二进制数是( )。

  • A.11111011110
  • B.11110011110
  • C.10111111110
  • D.11111111010

5. [x]补码=10011101,其原码为( )。

  • A.11001111
  • B.11100100
  • C.11100011
  • D.01100101

6. 十进算术表达式:5*512+7*64+4*8+7的运算结果,用二进制表示为( )。

  • A.101111100111
  • B.111111100101
  • C.111110100101
  • D.111111011011

7. (2014)16 + (924)10的结果是( )。

  • A.(9036)10
  • B. (23B0)16
  • C.(9130)10
  • D. (100011000110)2

二、计算下列函数(1*15)

1. Sqr(7)的值为( )。
答案:49

2. Round(19.6)的值为()。
答案:20

3. Round(14.4)的值为()。
答案:14

4. int(-5.7)的值为( )。
答案:-5.00000000E+000

5. Abs(-4.1)的值为( )

1)的值为(

6. -37 mod 6的值为( )

 6的值为(

7. ’A’&lt;’a’的值为( )。
答案:TRUE

8. odd(25)的值( )。
答案:TRUE

9. Not(17-5&gt;13)的值为( )。
答案:TRUE

10. (11&gt;10)and(7&gt;=7)的值为( )。
答案:TRUE

11. Round(-11.1)的值为( )。
答案:-11

12. Round(-9.7)的值为( )。
答案:-10

13. Trunc(-17.7)的值为( )
答案:-17

14. chr(ord(‘h ’))的值为( )。
答案:h

15. 已知chr(97)的值为字母a则chr(99)的值为字母( )。
答案:c

三、问题求解(5+6)

1. 兄弟两人去钓鱼,一共钓了23条,哥哥钓的鱼比弟弟的三倍还多3条,哥哥弟弟各钓了多少条? 哥哥______弟弟______
输出:18|5

2. 对一批编号为1~100,全部开关朝上(开)的灯进行以下操作:凡是1的倍数反方向拨一次开关;2的倍数反方向又拨一次开关;3的倍数反方向又拨一次开关;……100的倍数反方向又拨一次开关。问:最后为关熄状态的灯的编号有哪些?
输出:1 4 9 16 25 36 49 64 81 100

四、看程序写结果

1.

var d, p: integer;
begin
  p:=1;
  d:=5;
  while d>1 do
   begin
     p:=2*(p+1);
     d:=d-1
   end;
  writeln (p)
end.

输出:46

2.

var x,y:longint;
begin
	 x:=2014; y:=924;
     while (x<>0) and (y<>0) do
     begin
     	  if x>=y then x:=x-y else y:=y-x
     end;
     if x=0 then writeln(y) else writeln(x)
end.

输出:2

3.

var i,j,n:integer;
b:array[1..10] of 0..2;
begin
n:=2014;j:=0;
while n>0 do begin
  j:=j+1;b[j]:=n mod 3; n:=n div 3;
end;
for i:=j downto 1 do write(b[i]);
writeln;
end.

输出:2202121

4.

var   i,j,s:integer;
      b    :array[0..5] of integer;
begin
     s:=1;
     for i:=1 to 5 do   b[i]:=i;
     j:=1;
     while j>0 do
     begin
          j:=5;
          while (j>0) and (b[j]=10+j-5) do j:=j-1;
          if j>0 then
             begin
                  s:=s+1;  b[j]:=b[j]+1;
                  for i:=j+1 to 5 do  b[i]:=b[j]+i-j
             end;
     end;
     writeln('s=',s);
end.

输出:s=252

5.

var i,k:integer; 	a:array [0..20] of integer; begin      a[1]:=1;
     a[2]:=1;
     k:=1;
     repeat
     	   a[k+2]:=1;
           for i:=k+1 downto 2 do a[i]:=a[i]+a[i-1];
           k:=k+1;
     until k>=5;
     for i:=1 to 6 do write(a[i]:5);
     writeln
end.

输出:1 5 10 10 5

五、完善程序(3*4)

1. 鸡兔同笼问题:
鸡有一头二脚,兔有一头四脚;鸡兔同笼共有头m个、脚n个,问笼中鸡、兔各有多少?
例如输入:4 10
输出:
3
1

var n,m:Qword;
begin
readln(m,n);
writeln( (m*4-n)div 2 );
writeln(  m-(m*4-n)div 2  );
end.

2. 最小公倍数
求两个正整数m、n的最小公倍数k。例如输入:12 9 输出:36

var a,b,t:Qword;
function gcd(m,n:Qword):Qword;
begin
  if m mod n=0 then gcd:=n else gcd:= gcd(n,m mod n)  ;
end;
begin
  readln(a,b);if a<b then begin t:=a;a:=b;b:=t;end;writeln( a*b div gcd(a,b) );
end.

3. 汉诺塔问题
将A柱上的圆盘移到C柱。移动规则如下: 1、一次只能移动一个盘; 2、不允许把大盘放在小盘上。 第一行只有一个正整数:k,表示总移动次数
接下来的k行,每行是一种移动方法。例如输入3
输出
7
A->C
A->B
C->B
A->C
B->A
B->C
A->C

var
k,n,i:longint;
procedure try(a,b,c:char;m:longint);
begin
if m=1 then writeln( a,'->',c )
else
begin
try( a,c,b,m-1 或a,c,b, m div 2 );
writeln(a,'->',c);
try( b,a,c,m-1 或 b,a,c,m div 2 );
end;
end;
begin
readln(n);
k:=1;
for i:=1 to n do
(k:=k*2) ;
writeln(k-1);
try( 'A','B','C',n ('A','B','C',K-1)   );
end.