35 câu trắc nghiệm Pascal
Câu 1: Cho S và i là biến nguyên.
Khi chạy đoạn chương trình:
s:=0;
for i:=1 to 10 do s := s+i;
writeln(s);
Kết quả in lên màn hình là : A/ s = 11
B/ s = 55 C/ s = 100 D/ s = 101
Câu 2: Cho S, i và N>0 là các biến nguyên. Ðể tính S = N!, chọn câu nào : A/ S:= 1; For i := 1 to N do S := S * i;
B/ S:= 0; For i := 1 to N do S := S * i;
C/ S:= 1; For i := 1 to N do S := S * N;
D/ S:= 1; For i:= 1 to N do S := S + i;
Câu 3: Cho S =1^2 + 2^2 + ... + 100^2 . Nhóm lệnh nào tính sai Giá trị của S:
A/ S:=0; FOR i:=1 TO 100 DO S := S + i*i;
B/ S:=0; FOR i:=1 TO 100 DO S := S + SQR(i);
C/ S:=0; FOR i:=100 DOWNTO 1 DO S := S + i*i;
D/ S:=1; FOR i:=1 TO 100 DO S := S + i*i;
Câu 4: Khi chạy chương trình:
Var S, i, j : Integer;
Begin S := 0;
for i:= 1 to 3 do
for j:= 1 to 4 do S := S + 1 ; End.
Giá trị sau cùng của S là : A/ 0
B/ 12 C/ 3 D/ 4
Câu 5: Cho S và i biến kiểu nguyên. Khi chạy đoạn chương trình : S:= 0;
i:= 1;
while i<= 6 do begin
S:= S + i;
i:= i + 2;
end;
Giá trị sau cùng của S là :
A/ 6 B/ 9 C/ 11 D/ 0
Câu 6: Khi chạy chương trình : Var S, i : Integer;
Begin
S:= 0; i:= 1;
Repeat S:= S + i * i;
i:= i + 1;
Until i > 4 ; End.
Giá trị sau cùng của S là : A/ 0
B/ 14 C/ 16 D/ 30
Câu 7: Cho i là biến nguyên. Khi chạy đoạn chương trình : i := 5;
Repeat i := i + 1;
Until i > 4 ;
Giá trị sau cùng của i là : A/ 6
B/ 4 C/ 5 D/ 0
Câu 8: Cho m, n, i là các biến nguyên. Khi chạy đoạn chương trình : m:=4; n:=5; i:=5;
Repeat i:=i+1;
Until (i Mod m = 0) and (i Mod n = 0);
Giá trị sau cùng của i là : A/ 20
B/ 5 C/ 4 D/ 0
Câu 9: Cho chương trình :
Var A : Real;
Begin . . .
While A = 0 do begin
write ('nhap A # 0:');
Readln (A);
end;
End.
Ðể lệnh Readln(A) được thực hiện ít nhất một lần, phải điền vào chỗ . . . lệnh nào trong các lệnh dưới đây ? :
A/ A:=0;
B/ A:=1;
C/ A:=-1;
D/ A <> 0;
Câu 10: Giả sử các khai báo biến đều hợp lệ. Ðể tính S = 10!, chọn câu nào : A/ S := 1; i := 1;
while i<= 10 do S := S * i;
i := i + 1;
B/ S := 1; i := 1;
while i<= 10 do i := i + 1;
S := S * i;
C/ S := 0; i := 1;
while i<= 10 do begin
S := S * i;
i := i + 1;
end;
D/ S := 1; i := 1;
while i<= 10 do begin
S := S * i;
i := i + 1;
end;
Câu 11: Chọn khai báo đúng : A/ Var A: array[1..10] of integer;
B/ Var A= array[1..10] of integer;
C/ Var A:= array[1..10] of integer;
D/ Var A: array[1,10] of integer;
Câu 12: Cho khai báo:
Var A: Array[1..4] of Real;
i : Integer ;
Ðể nhập dữ liệu cho A, chọn câu nào : A/ For i:=1 to 4 do Write(‘ Nhập A[‘, i, ‘]:’);
Readln(A[i]);
B/ For i:=1 to 4 do Readln(‘ Nhập A[‘, i, ‘]:’);
C/ For i:=1 to 4 do Begin Write(‘ Nhập A[‘, i, ‘]:’); Readln(A[i]); End;
D/ Write(‘ Nhập A:’); Readln(A);
Câu 13: Cho khai báo biến : Var A : array[1..5] of Integer;
Chọn lệnh đúng : A/ A[1] := 4/2 ; B/ A[2] := -6 ; C/ A(3) := 6 ; D/ A := 10 ;
Câu 14: Trong khai báo sau còn bỏ trống . . . một chỗ, vì chưa xác định được kiểu dữ liệu của biến Max :
Var
A: Array[‘a’..’d’] of Real ; Ch : Char ;
Max : . . . ;
Muốn biến Max lưu giá trị lớn nhất của mảng A thì cần khai báo biến Max kiểu gì vào chỗ . . . :
A/ Char B/ Integer C/ String D/ Real
Câu 15: Cho khai báo:
Var
A: Array[1..4] of Integer ; i : Integer ;
Sau khi thực hiện các lệnh : For i:=1 to 4 do A[i]:= i;
For i:=1 to 4 do A[i]:= A[i]+1;
thì mảng A có gía trị là :
A/ A[1]=1, A[2]=2, A[3]=3, A[4]=4 B/ A[1]=2, A[2]=3, A[3]=4, A[4]=5 C/ A[1]=0, A[2]=1, A[3]=2, A[4]=3 D/ A[1]=1, A[2]=1, A[3]=1, A[4]=1
Câu 16: Khai báo nào đúng :
A/ Var A : array[1..n,1..m] of integer;
B/ Const n=2; m=3; Var A: array[1..n,1..m] of integer;
C/ Var n, m : integer ; A: array[1..n,1..m] of integer;
D/ Var A: array[3, 2] of Integer;
Câu 17: Cho khai báo : Var
A : array[1..2,1..3] of Real;
i, j : integer;
Ðể nhập dữ liệu cho ma trận A, chọn : A/ Write(‘ Nhập A:’); Readln(A) ; B/ For i:=1 to 2 do Readln(A[i, j]);
C/ For i:=1 to 2 do For j:=1 to 3 do begin
write(‘Nhập A[‘, i, j, ‘]:’);
readln(A[i, j]);
end;
D/ For i:=1 to 2 do For j:=1 to 3 do
write(‘Nhập A[‘, i, j, ‘]:’);
readln(A[i, j]);
Câu 18: Cho khai báo :
Var
A : array[1..2,1..3] of Real;
i, j : integer; Max: Real;
Ðể tìm số lớn nhất của ma trận A, chọn câu nào : A/ Max:=A[1,1];
If Max < A[i,j] then Max:=A[i,j];
B/ Max:=A[1,1];
For i:=1 to 2 do
if Max < A[i,j] then Max:=A[i,j];
C/ A[1,1]:=Max ; For i:=1 to 2 do For j:=1 to 3 do
if Max< A[i,j] then A[i,j]:=Max;
D/ Max:=A[1,1];
For i:=1 to 2 do
For j:=1 to 3 do if Max < A[i,j] then Max:=A[i,j];
Câu 19: Khi chạy chương trình : Var
A : array[1..2,1..3] of integer;
i, j, S : integer;
Begin
A[1,1]:= 3 ; A[1,2]:= -1 ; A[1,3]:= -4 ; A[2,1]:= -9 ; A[2,2]:= 0 ; A[2,3]:= 5 ; S:=0;
for i:=1 to 2 do
for j:=1 to 3 do If A[i,j] < 0 then S:=S+1;
Write(S);
End.
Kết qủa in ra gía trị của S là : A/ 0
B/ -9 C/ 3 D/ 5
Câu 20: Cho biến SS kiểu lôgic. Lệnh nào làm SS có gía trị là TRUE : A/ SS := 'a' < 'A';
B/ SS := 'A' = 'a';
C/ SS := 'an' < 'a';
D/ SS := 'PASCAL' < 'pascal';
Câu 21: Cho khai báo : Var
Ho, ten : String[15];
-Lệnh nào sai :
A/ Write('Ho ten la : ' ; Ho ; Ten);
B/ Write('Ho ten la : ' + Ho + Ten);
C/ Write('Ho ten la : ', Ho , Ten);
D/ Write('Ho ten la : ', Ho + Ten);
Câu 22: Cho khai báo : Var
Chuoi : string[10];
x : real;
- Lệnh nào đúng :
A/ Chuoi := Str(x:5:2) ; B/ Str(x:5:2, Chuoi);
C/ Chuoi := x ; D/ x := Chuoi ;
Câu 23: Cho St là biến chuỗi, sau khi thực hiện hai lệnh : St:= Copy( 'PASCAL VERSION 5.5' , 8, 7) ;
Write(St);
- Kết qủa in lên màn hình là:
A/ VERSION 5.5 B/ VERSION C/ PASCAL D/ 5.5
Câu 24: Cho St là biến chuỗi, sau khi thực hiện bốn lệnh:
St:=’ABCDEF’;
Delete(St, 3, 2);
Insert(‘XYZ’, St, 2);
Write(St);
-Kết qủa in lên màn hình là:
A/ ABXYZEF B/ AXYZBCDEF C/ AXYZ
D/ AXYZBEF
Câu 25: Cho i và x là hai biến kiểu nguyên. Khi thực hiện lệnh :
VAL('1234', x, i);
-Gía trị của x và i là bao nhiêu : A/ x = 0 , i = 1234
B/ x = 1234 , i = 4 C/ x = 1234 , i = 0 D/ x = 0 , i = 0
Câu 26: Cho các biến St chuỗi và k nguyên. Sau khi gán:
St:='Sinh vien Tin hoc hoc Tin hoc';
k := Pos('Tin', ST) ; -Gía trị của k là : A/ k=13
B/ k=11 C/ k=26 D/ k=23
Câu 27: Khi chạy chương trình : Var
St : string;
i, L : integer;
Begin
St :='So Buu chinh Vien thong'; L:=Length(St);
For i := 1 to L do
If (St[i] >= 'a') and (St[i] <= 'z') then St[i]:= Upcase (St[i]);
Write (St);
End.
-Chương trình in ra :
A/ So Buu chinh Vien Thong B/ so buu chinh vien thong C/ So Buu Chinh Vien Thong
D/ SO BUU CHINH VIEN THONG
Câu 28: Khi chạy chương trình : Var
St : String;
i,L : integer;
Begin
St:='ABCD'; L := Length(St);
For i:= L Downto 1 do write (St[i]);
End.
-Chương trình in ra : A/ DCAB
B/ ABCD C/ 4321 D/ DCBA
Câu 29: Cho St là biến chuỗi và St:=’AAABAAB’; Sau khi thực hiện hai lệnh : While St[1]=’A’ do Delete(St,1,1);
Write(St);
Kết qủa in ra là:
A/ AABAAB B/ BAAB C/ BB D/ AAA
Câu 30: Tên nào đặt Sai quy định của Pascal:
A/ Giai_Ptrinh_Bac_2;
B/ Ngaysinh;
C/ Noi sinh;
D/ Sv2000 ;
Câu 31: Mục nào có các Tên đều đặt đúng quy định của Pascal:
A/ x1 , X-2 ; B/ Xx1 , X2;
C/ CONST , X_234;
D/ X[1], x2 ;
Câu 32: Chọn câu Sai : trong một chương trình Pascal, có thể không có :
A/ phần thân chương trình ; B/ phần khai báo biến;
C/ phần đầu chương trình;
D/ phần khai báo hằng ;
Câu 33: Cho S và i biến kiểu nguyên. Khi chạy đoạn chương trình : S:= 0;
i:= 1;
while i<= 6 do begin
S:= S + i;
i:= i + 2;
end;
Giá trị sau cùng của S là : A/ 6
B/ 9 C/ 11 D/ 0
Câu 34:Khi chạy chương trình : Var S, i : Integer;
Begin
S:= 0; i:= 1;
Repeat S:= S + i * i;
i:= i + 1;
Until i > 4 ; End.
Giá trị sau cùng của S là : A/ 0
B/ 14 C/ 16 D/ 30
Câu 35: Cho i là biến nguyên. Khi chạy đoạn chương trình : i := 5;
Repeat i := i + 1;
Until i > 4 ;
Giá trị sau cùng của i là : A/ 6
B/ 4 C/ 5 D/ 0