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