壹、填空題
1、Sqrt(4)的值為( 2.0 )(保留壹位小數)。
2、 ‘A’>‘a’的值為( false )。
3、下列標識符哪個是合法的?(A )
A.x1 B.a(c) C.var D.123
4、Pascal語言中的賦值號為( := )。
5、用Pascal語言表達式表示x為偶數( odd(x)=false )。
6、Ord(37)的值為( 37 )。
7、-15 Mod 4的值為( -3 )。
8、已知Chr(97)的值為字母a,則Chr(100)的值為字母( d )。
9、Turbo Pascal 7.0中,Integer類型的取值範圍為( -32768 )到32767。
10、Pascal語言中,實現循環結構的語句主要有( For )語句,While語句和Repeat語句。
11、16 Div 5的值為( 3 )。
12、Odd(24)的值為( false )。
13、用Pascal語言表達式表示I被J整除
( I mod J=0 )。
14、機器語言僅由0和( 1 )兩個代碼組成。
15、Round(9.5)的值為( 10 )。
16、用Pascal語言表達式表示X<0或X>=10
( x<0 or x>=10)。
17、Int(24.9)的值為( 24 )。
18、所謂復合語句,就是指用( begin )和End括起來的多條語句的統稱。
19、Trunc(12.3)的值為( 12 )。
20、b2-4ac的Pascal語言表達式為( b*b-4*a*c )。
21、Pascal語言中,循環體至少執行壹遍的循環語句是( repeat )語句
22、Round(10.4)的值為( 10 )。
23、1/3a的Pascal語言表達式為( 1/3*a )。
24、Pascal語言中,實現計數循環壹般用( For )語句。
25、用Pascal語言表達式表示1≤a≤10
( a>=1 and a<=10 )。
26、Abs(-3.1)的值為( 3.1 )。
27、Pascal語言中,定義實型變量的關鍵字是( real )
28、120 Div 3 Mod 10的值為( 0 )。
29、Succ(‘c’)的值為( d )。
30、Pascal語言的關系運算符中,“不等於”運算符為( <> )。
31、Not(11+22>32)的值為( false )。
錯誤信息Error 85:“;” expected表示程序中可能缺少的符號是( ; )。
32、Pred(‘C’)的值為( B )。
33、(a+b)h/2的Pascal語言表達式為
( (a+b)*h/2 )。
34、順序結構中,每壹條Pascal語句只執行( 1)次。
35、已知Ord(‘A’)=65,則Ord(‘D’)=( 68 )。
36、a2-b2的Pascal語言表達式為( a*a-b*b )。
37、錯誤信息Error 91:“:=” expected表示程序中可能缺少的符號是( := )。
38、Succ(Pred(2))的值為( 2 )。
39、下列標識符哪個是合法的?(A )
A.abc B.x# C.begin D.1a
40、用Pascal語言表達式表示a為奇數( odd(a)=true )。
41、Sqr(4)的值為( 2 )。驗證
42、Chr(Ord(‘h’))的值為( h )。
43、(5>2)And (3>=6)的值為( true )。
44、常量說明以( const )作標誌。
二、程序閱讀。
1、下列程序輸出結果為( 4 )。
Var
M,N:Integer;
Begin
M:=0;
For N:=2 to 3 do
M:=M+2;
Write(M);
End.
2、下列程序輸出結果為( 9 )。
Var
A,B,C:Integer;
Begin
A:=5;
B:=4;
C:=A*A-B*B;
Writeln(C);
End.
6、下列程序輸出結果為( 256 )。
Var
Y:Integer;
Begin
Y := 2;
WHILE (Y<=32) DO
Y := Y*Y;
Writeln(Y);
End.
7、下列程序輸出結果為( 40 )。
Var
A:Integer;
Begin
A:=100;
A:=A+20;
A:=A Div 3;
Writeln(A);
End.
11、下列程序輸出結果為( 200 )。
Var
X,I:Integer;
Begin
X:=0;
For I:=1 to 100 do
X:=X+2;
Writeln(X);
End.
12、下列程序輸出結果為( -1 )。
Var
X,Y:Integer;
Begin
X:=-100;
If (X<0) Then
Y:=-1
Else
Y:=1;
Writeln(Y);
End.
14、輸入數據:0 2,下列程序輸出結果為( 1 )。
Var
X,Y:Integer;
Begin
Y:=0;
X:=1;
While X<>0 Do
Begin
Y:=Y+X;
Read(x);
End;
Write(Y);
End.
15、下列程序輸出結果為( 10 )。
Var
X,Y:Integer;
Begin
X:=-10;
If X<0 Then
Y:=-X
Else
Y:=X;
Writeln(Y);
End.
19、下列程序輸出結果為( abcd )。
Var
Ch:Char;
Begin
For Ch:=‘b' to ‘e' do
Write(pred(ch));
End.
20、下列程序輸出結果為( Y )。
Var
A:Integer;
Begin
A:=11;
If Odd(A) Then
Writeln(‘Y')
Else
Writeln(‘N');
End.
24、下列程序段的輸出結果為( A )。
Var
Score:Integer;
Ch:Char;
Begin
Score:=80;
Case Score Div 10 Of
10,9,8:Ch:= ‘A';
7,6:Ch:= ‘B';
Else Ch:= ‘C';
End;
Writeln(Ch);
End.
25、輸入數據:-9,下列程序輸出結果為( <=0 )。
Var
A:Integer;
Begin
Read(A);
If (A>0) Then
Write(‘>0')
Else
Write(‘<=0');
End.
29、下列程序段的輸出結果為( 12 )。
Var
I:Integer;
Begin
I:=0;
While (I<10) Do
I:=I+3;
Writeln(I);
End.
30、下列程序段的輸出結果為( 3.14 )。
Const
PI=3.14;
Var
Area,R:Real;
Begin
R:=1;
Area:=PI*R*R;
Writeln(Area:4:2);
End.
34、下列程序段的輸出結果為( 24 )。
Var
S,I:Integer;
Begin
S:=1;
For I:=1 To 4 Do
S:=S*I;
Writeln(S);
End.
35、下列程序段的輸出結果為( 1 )。
Var
A,B:Integer;
Begin
A:=5;
If Odd(A) Then
B:=1
Else
B:=2;
Writeln(B);
End. 38、下列程序段的輸出結果為( 4 )。
Var
S,N:Integer;
Begin
N:=1234;
S:=0;
While (N<>0) Do
Begin
N:=N Div 10;
S:=S+1;
End;
Writeln(S);
End.
39、下列程序段的輸出結果為( N )。
Var
A:Integer;
Begin
A:=17;
If (A Mod 2=0) Then
Writeln(‘Y')
Else
Writeln(‘N');
End
40、下列程序段的輸出結果為( 15 )。
Var
S,I:Integer;
Begin
I:=1;
S:=0;
Repeat
S:=S+I;
I:=I+1;
Until I>5;
Writeln(S);
End.
41、下列程序段的輸出結果為( 4 , 3 )。
Var
A,B:Integer;
Begin
A:=3;
B:=4;
A:=A+B;
B:=A-B;
A:=A-B;
Writeln(A,B);
End.
44、下列程序段的輸出結果為( 100 )。
Var
S,I:Integer;
Begin
S:=0;
For I:=10 Downto 1 Do
S:=S+10;
Writeln(S);
End.
45、下列程序段的輸出結果為( 0 )。
Var
T:Integer;
Begin
T:=3;
T:=T*100;
T:=T Mod 3;
Writeln(T);
End.
下列程序段的輸出結果為( Sunday )。
Var
ch:char;
begin
ch:= ‘0';
case ch of
‘1':Writeln(‘Monday');
‘2':Writeln(‘Tuesday');
‘3':Writeln(‘Wednesday');;
‘4':Writeln(‘Thursday');;
‘5':Writeln(‘Friday');
‘6':Writeln(‘Saturday');
‘0':Writeln(‘Sunday');
end;
end.
47、下列程序段的輸出結果為(5,1 )。
Var
A,B,C:Integer;
Begin
A:=1;
B:=5;
C:=A;
A:=B;
B:=C;
Write(A,B);
End.
50、下列程序段的輸出結果為( 6 7 8 9 10 )。
Var
I,X:Integer;
Begin
X:=10;
For I:=6 to x do
Write(I);
End.
51、下列程序段的輸出結果為( 3,2,1 )。驗證
Var
N,A,B,C:Integer;
Begin
N:=123;
A:=N Mod 10;
B:=N Div 10 Mod 10;
C:=N Div 100;
Writeln(A,B,C);
End.
55、下列程序輸出結果為( N )。驗證
Var
Year:Integer;
Begin
Year:=2000;
If (Year Mod 400=0) Or ((Year Mod 4=0) And (Year Mod 100<>0)) Then
Writeln(‘Y')
Else
Writeln(‘N');
End.
56、下列程序輸出結果為( 2,3,2 )。
Var
A,B,C:Integer;
Begin
A:=1;
B:=2;
C:=3;
A:=B;
B:=C;
C:=A;
Writeln(A,B,C);
End.
60、下列程序輸出結果為( 15 )。
Var
I,S:Integer;
Begin
S:=0;
For I:= 1 to 5 Do
S:=S+I;
Writeln(S);
End.
61、下列程序輸出結果為( NO )。
Var
Score:Integer;
Begin
Score:=51;
If (Score>=60) Then
Writeln(‘PASS')
Else
Writeln(‘NO');
End.
三、Pascal常用函數
sqr(x)=x2 例:sqr(3)=9
sqrt(x)=/-x2求平方根函數 例:sqrt(16)=4
round()四舍五入函數 例:round(3.14)=3 round(-4.2)=-4 round(-5.5)=-6
mod()求余函數,余數符號與被除數同
div()整除函數,結果為商
odd()判斷壹個整是是否是奇數,是奇數為真實即ture。odd(3)=ture odd(4)=false 註:ture代表1,false代表0
trunc()截尾函數,即把小數點後面的舍去。 trunc(5.3)=5 trunc(5.9)=5
random()隨機函數
abs()取絕對值。abs(0)=0, abs(5)=5, abs(-3)=3
pred()前導函數 結果的值比()小1。pred(-3)=-4 pred(b)=a
succ()後續函數,與上反。結果的值比()大1。pred(-3)=-2 pred(b)=c
ord()序號函數 ord(false)=0 ord(true)=1 ord(-5)=-5 ord('A')=65 ord('a')=97(97為a的ASCII碼)
chr()字符函數,ASCII碼對應的字符。 chr(65)='A' chr(97)='a'