1
MỘT SỐ CÂU HỎI TRẮC NGHIỆM ÔN TẬP HỌC KỲ 1
MÔN TIN HỌC 11.
Câu 1: Biết rằng a, b, c là độ dài ba cạnh của một tam giác cân, biểu thức quan hệ nào sau đây cho kết quả
true?
A. a + b > c;
B. a – b > c;
C. b – c > a;
D. a – c = b;
Câu 2: Xét biểu thức logic: (N mod 1000 = 0). Phát biểu nào sau đây là đúng nhất?
A. Kiểm tra N có phải là số lẻ hay không
B. Kiểm tra xem N có bốn chữ số có nghĩa hay không
C. Kiểm tra xem N có chia hết cho 1000 hay không
D. Kiểm tra N có nhỏ hơn 1000 hay không
Câu 3: Những biểu thức nào sau đây có giá trị là TRUE?
A. (20>19) and (-5>3)
B. (4>2) and (not((4+2<5) or (2>(4 div 2))))
C. (3>5) and (4+2<5)
D. (4+2)*(3+5)<((18 div 4)*4)
Câu 4: Ngôn ngữ lập trình Pascal là:
A. Ngôn ngữ lập trình bậc cao.
B. Ngôn ngữ máy.
C. Ngôn ngữ lập trình bậc thấp.
D. Ngôn ngữ biên dịch.
Câu 5: Trong ngôn ngữ lập trình Pascal, tên do người lập trình đặt không hợp lệ là :
A. TONG-2SO
B. C2B29
C. F_x
D. _ABC
Câu 6: Ngôn ngữ lập trình Pascal, nội dung chú thích được đặt trong:
A. Cặp dấu { }
B. Cặp dấu ( )
C. Cặp dấu / /
D. Cặp dấu [ ]
Câu 7: Trong các biểu diễn dưới đây, biểu diễn nào là từ khóa trong Pascal?
A. End
B. Integer
C. Real
D. Sqr
Câu 8: Hãy chọn biểu diễn tên do người dùng đặt là đúng trong Pascal :
A. ‘******’
B. -5+9-0
C. +2453
D. FA33C
2
Câu 9: Hãy chọn biểu diễn là hằng trong những biểu diễn dưới đây:
A. Begin
B. 1024
C. 5.A3
D. Const
Câu 10: Trong Pascal, cú pháp để khai báo biến là:
A. Var <Danh sách biến>=<Kiểu dữ liệu>;
B. Var <Danh sách biến>:=<Kiểu dữ liệu>;
C. Var <Kiểu dữ liệu>:<Danh sách biến>;
D. Var <Danh sách biến>:<Kiểu dữ liệu>;
Câu 11: Để khai báo biến A, B có kiểu kí tự, biến C, D có kiểu số thực, biến E có kiểu số nguyên ta chọn
khai báo:
A. Var A, B: Char; E: Integer; C, D: Byte;
B. Var A; B: Char, E: Integer, C; D: Real;
C. Var A, B: Char; E: Integer; C, D: Real;
D. Var A, B: Char; E: Integer; C, D: int;
Câu 12: Cho biết giá trị và kiểu dữ liệu của biểu thức sau: (15 mod 4) <= sqrt(16) * 2/3
A. giá trị là False, kiểu Boolean;
B. giá trị là 3, kiểu Real;
C. giá trị là 3, kiểu Integer;
D. giá trị là True, kiểu Boolean;
Câu 13: Trường hợp nào sau đây cần phải khai báo biến kiểu số thực là hợp lý nhất?
A. Số học sinh trong trường
B. Số học sinh trong lớp
C. Diện tích hình tròn
D. Điểm kiểm tra là điểm miệng
Câu 14: Cho biến m, n là kiểu Integer, biến x, y kiểu Real. Lệnh gán nào sau đây là sai?
A. m:=-4;
B. x:=6;
C. n:=3.5;
D. y:=+10.5;
Câu 15: Trường hợp nào sau đây không phải là lệnh gán trong Pascal?
A. a+b:=100;
B. a:=100;
C. a:=a*2;
D. cd:=50;
Câu 16: Câu lệnh Writeln(‘Chuc mung ban’) khi thực hiện xong sẽ đặt con trỏ màn hình tại:
A. Đầu dòng kế tiếp.
B. Cuối dòng hiện hành.
C. Cuối nội dung được in ra.
D. Đầu dòng hiện hành.
Câu 17: Để viết câu lệnh xuất giá trị của biến LUONG kiểu số thực có độ rộng 10 ký số trong đó có 2 chữ
số thập phân ra màn hình, ta chọn:
A. Write(LUONG:10:2);
B. Write(‘LUONG:10:2’);
C. Write(“LUONG:10:2”);
D. Write(LUONG:12);
3
Câu 18: Cho x là biến kiểu Real. Sau khi thực hiện 2 câu lệnh sau thì kết quả sẽ xuất hiện dạng nào?
x:=10; writeln(x:0:2);
A. 10
B. 10.00
C. 1.000000000000000E+0001
D. 10,00
Câu 19: Xem đoạn chương trình sau và hãy chọn câu đúng trong các câu trả lời sau:
Var i, j, k: integer; {1}
Begin
i:=10;. {2}
j:=5;. {3}
k:=i/j;. {4}
End.
A. Chương trình sai ở dòng 1;
B. Chương trình sai ở dòng 4;
C. Kết thúc chương trình k=2;
D. Chương trình sai ở dòng 2 và 3;
Câu 20: Đoạn chương trình sau in ra kết quả gì?
a:=3; b:=4; a:=sqrt(sqr(a) + sqr(b));
writeln(a);
A. 25
B. 4
C. 5
D. 3
Câu 21: Var a, b, c: Integer;
Begin
a:=100; b:= a Div 10; c:= b Mod 5; a:= c Div 5; Writeln(a, b, c);
End.
Sau khi thực hiện chương trình, a, b, c có giá trị lần lượt là:
A. 0 10 0
B. 100 10 0
C. 10 0 0
D. 100 10 10
Câu 22: Để hoán đổi giá trị hai phần tử mảng một chiều A tại vị trí thứ i và i+1, ta viết dãy lệnh sau:
A. A[i]:=k; A[i]:=A[i+1]; A[i+1]:=k;
B. k:=A[i]; A[i]:=A[i+1]; A[i+1]:=k;
C. k:=A[i]; A[i+1]:=A[i]; A[i+1]:=k;
D. k:=A[i]; A[i]:=A[i+1]; k:=A[i+1];
Câu 23: Chọn kết quả hiển thị khi thực hiện xong đoạn chương trình sau :
Var x, y, z: Integer;
Begin
x:= 6000; y:= 10; z:= x*y; Wrietln(z);
End.
A. 60000
B. 6000
C. 0
D. Kết quả khác.
4
Câu 24: Trong câu lệnh IF <điều kiện> THEN <câu lệnh>; Câu lệnh đứng sau THEN được thực hiện khi:
A. Điều kiện được tính toán xong và cho giá trị đúng
B. Điều kiện được tính toán xong
C. Điều kiện không tính được
D. Điều kiện được tính toán xong và cho giá trị sai
Câu 25: Khi dùng biến X lưu giá trị nhỏ nhất của 2 biến A, B. Lệnh nào sau đây là sai với gợi ý trên
A. If A<=B then X:=A else X:=B;
B. If A>B then X:=A;
C. X:=B; If A<B then X:=A;
D. X:=A; If A>B then X:=B ;
Câu 26: Cho biết chữ THPT được xuất ra màn hình bao nhiêu lần khi thực hiện đoạn lệnh sau :
For i:=1 to 5 do
For j:= i to 5 do Writeln (‘THPT’);
A. 10
B. 17
C. 15
D. 25
Câu 27: Xét đoạn chương trình sau và cho biết T có giá trị bao nhiêu ?
T:=0;
For i:=1 to 10 do
If (i div 3 = 0) then T:=T+i;
A. 18
B. 3
C. 0
D. 9
Câu 28: Cú pháp lệnh lặp:
While <biểu thức điều kiện> Do
Begin
<Các lệnh thực thực thi>
end;
Lệnh lặp nầy thực thi các lệnh sau Do khi:
A. Không cần kiểm tra <biểu thức điều kiện>.
B. Kiểm tra <biểu thức điều kiện> và phải trả về giá trị True.
C. Kiểm tra <biểu thức điều kiện> và phải trả về giá trị False.
D. Có kiểm tra <biểu thức điều kiện> nhưng không xét kết quả trả về.
Câu 29: Xét đoạn chương trình sau và cho biết chương trình in ra màn hình là:
k:=10;
While (K<=8) do
Begin
Writeln(‘Giá trị k của k là:’,k);
k:=k+1;
end;
A. Không in ra gì cả.
B. Không in gì cả và có báo lỗi.
C. 3 dòng kết quả giá trị của k.
D. 1 dòng kết quả của k là 10.
Câu 30: Xét đoạn chương trình sau và cho biết chương trình in ra màn hình là:
k:=10;
5
While (K>=8) and (K<12) do
Begin
Write(k,’ ‘);
k:=k+1;
end;
A. Không in ra gì cả.
B. Không in gì cả và có báo lỗi.
C. 10 11.
D. 10 11 12.
Câu 31: Để khai báo số phần tử của mảng một chiều trong Pascal, người lập trình cần:
A. Khai báo chỉ số đầu và kết thúc của mảng.
B. Khai báo chỉ số kết thúc của mảng.
C. Không cần khai báo gì hệ thống sẽ tự xác định.
D. Khai báo một hằng số là số phần tử mảng.
Câu 32: Phát biểu nào dưới đây về mảng một chiều là không chính xác
A. Độ dài tối đa của mảng là 255.
B. Chỉ số mảng là có thứ tự .
C. Giá trị các phần tử cùng kiểu dữ liệu.
D. Có thể xây dựng mảng 1chiều có 5 phần tử.
Câu 33: Mảng A dưới đây có bao nhiêu phần tử?
Const C=3; Var A:array[1 C+1] of real;
A. 3
B. 4
C. Không có phần tử nào
D. 1
Câu 34: Phương án nào dưới đây là khai báo mảng hợp lệ?
A. mang:Array(1 10) of Byte;
B. mang:Array[1 10] of Byte;
C. mang:array[1 10] :byte;
D. mang:Array[1 10] of Byte;
Câu 35: Phát biểu nào dưới đây nói về ý nghĩa chỉ số mảng là đúng nhất ?
A. Dùng quản lý độ lớn mảng.
B. Dùng để truy cập đến bất kỳ phần tử nào trong mảng đó.
C. Là giá trị của từng phần tử mảng.
D. Dùng quản lý các ô nhớ cần thiết lưu trữ mảng đó.
Câu 36: Số phần tử của mảng một chiều là:
A. Vô hạn
B. Có giới hạn do người lập trình khai báo
C. Có 10 phần tử
D. Có 500 phần tử
Câu 37: Trong Pascal, các khai báo mảng 1 chiều dưới đây khai báo nào đúng?
A. Var A: array[1 9] of Integer;
B. Var A= array[1 9] of Real;
C. Var A: =array[1 9] of Longint;
D. Var A: array[1 9] of Longint;
Câu 38: Hàm chuẩn random(n) cho giá trị là số nguyên ngẫu nhiên trong đoạn từ:
6
A. 1 đến n+1;
B. 1 đến n-1;
C. 0 đến n+1;
D. 0 đến n-1;
Câu 39: Đoạn chương trình dưới đây làm gì?
For i:=1 to 5 do write(A[i],’ ‘);
A. Xuất 5 giá trị phần tử của mảng A ra màn hình;
B. Nhập giá trị cho các phần tử của mảng A;
C. Đếm số phần tử của mảng A;
D. Hiển thị các chỉ số phần tử của mảng A;
Câu 40: cho đoạn chương trình sau:
T1:=0;
For i:=1 To n do
If A[i] mod 3 = 0 then T1:=T1+1 ;
Biết rằng T1 là biến số nguyên và A là mảng các số nguyên, đoạn chương trình sau dùng để ?
A. Đếm các phần tử có chỉ số lẻ;
B. Tính tổng các phần tử có giá trị chia hết cho 3;
C. Đếm số phần tử có giá trị chia hết cho 3;
D. Tính số các số dương và số các số âm;
Câu 41: Cho khai báo mảng : Var A:array[1 10] of integer;
Câu lệnh nào sau đây in ra màn hình tất cả các giá trị phần tử mảng trên?
A. for k:=1 to 10 do write(A[k],' ');
B. for k:=1 downto 10 do write(A[k],' ');
C. for k:=10 to 1 do write(A[i],' ');
D. for k:=10 downto 1 do write(“A[i]”);
Câu 42: Cho mảng A:array[1 50] of real; Đoạn chương trình sau thực hiện công việc gì :
K:=1;
for i:= 2 to 50 do if A[i] >A[k] then k:=i;
A. Tìm chỉ số của phần tử có giá trị nhỏ nhất trong mảng
B. Tìm giá trị phần tử lớn nhất trong mảng
C. Tìm giá trị phần tử nhỏ nhất trong mảng
D. Tìm chỉ số của phần tử có giá trị lớn nhất trong mảng.
Câu 43: Cho khai báo mảng: Var A:array[1 10] of integer; Phương án nào sau đây chỉ ra được giá trị của
phần tử thứ 5 trong mảng?
A. A(5)
B. A[5]
C. A{5}
D. A[’5’]