Câu hỏi trắc nghiệm (40 câu):
-
Câu 1: Mã câu hỏi: 333071
Hãy chọn phương án đúng. Biểu thức: 25 mod 3 + 5 / 2 * 3 có giá trị là gì?
- A. 8.0;
- B. 15.5;
- C. 15.0;
- D. 8.5;
-
Câu 2: Mã câu hỏi: 333075
Biểu diễn biểu thức \((a+b)+\frac{\sqrt{a^{2}+2bc}}{c-\frac{a}{a+b}}\) trong NNLT Pascal là
- A. (a+b) + sqrt(a*a+2*b*c) / ( c – a / (a+b) )
- B. (a+b) + sqr(a*a+2*b*c) / c – a / (a+b)
- C. (a+b) + sqrt( sqr(a) + 2*b*c / c – a / (a+b)
- D. (a+b) + sqr( sqrt(a) + 2*b*c) / (c – a / (a+b) )
-
Câu 3: Mã câu hỏi: 333077
Trong ngôn ngữ lập trình Pascal, biểu thức số học nào sau đây là hợp lệ ?
- A. 5a + 7b + 8c;
- B. 5*a + 7*b + 8*c;
- C. {a + b}*c;
- D. X*y(x+y);
-
Câu 4: Mã câu hỏi: 333079
Hàm cho giá trị bằng bình phương của x là gì?
- A. Sqrt(x);
- B. Sqr(x);
- C. Abs(x);
- D. Exp(x);
-
Câu 5: Mã câu hỏi: 333082
Để thực hiện gán giá trị 10 cho biến X. Phép gán nào sau đây là đúng ?
- A. X = 10;
- B. X := 10;
- C. X =: 10;
- D. X := 10;
-
Câu 6: Mã câu hỏi: 333086
Trong Pascal, phép toán MOD với số nguyên có tác dụng gì ?
- A. Chia lấy phần nguyên
- B. Chia lấy phần dư
- C. Làm tròn số
- D. Thực hiện phép chia
-
Câu 7: Mã câu hỏi: 333087
Cho đoạn chương trình:
Begin
a := 100;
b := 30;
x := a div b;
Write(x);
End.
Cho biết kết quả sau khi thực hiện lệnh:
- A. 10
- B. 33
- C. 3
- D. 1
-
Câu 8: Mã câu hỏi: 333089
Cho biểu thức sau: (a mod 3 = 0) and (a mod 4 = 0). Số a nhận giá trị nào sau đây để biểu thức cho kết quả là TRUE?
- A. 24
- B. 16
- C. 20
- D. 15
-
Câu 9: Mã câu hỏi: 333090
Biểu thức nào sau kiểm tra: n là một số nguyên dương chẵn?
- A. (n>0) and (n mod 2 = 0)
- B. (n>0) and (n div 2 = 0)
- C. (n>0) and (n mod 2 0)
- D. (n>0) and (n mod 2 0)
-
Câu 10: Mã câu hỏi: 333092
Để in giá trị lưu trong 2 biến a và b ra màn hình ta dùng lệnh:
- A. Write(a,b);
- B. Real(a,b);
- C. Readln(a,b);
- D. Read(‘a,b’);
-
Câu 11: Mã câu hỏi: 333096
Trong ngôn ngữ lập trình Pascal, với câu lệnh như sau (a là một biến kiểu số thực):
a :=2345 ;
Writeln('a = ', a:8:3);
Sẽ ghi ra màn hình?
- A. a = 2.34
- B. a = 2.345E+01
- C. Không đưa ra gì cả
- D. a = 2345.000
-
Câu 12: Mã câu hỏi: 333100
Để nhập giá trị cho 2 biến a và b ta dùng lệnh nào sau đây?
- A. Write(a,b);
- B. Real(a,b);
- C. Readln(a,b);
- D. Read(‘a,b’);
-
Câu 13: Mã câu hỏi: 333102
Để đưa ra màn hình giá trị của biến a kiểu nguyên và biến b kiểu thực ta dùng lệnh nào sau đây?
- A. Write(a:8:3, b:8);
- B. Readln(a,b);
- C. Writeln(a:8, b:8:3);
- D. Writeln(a:8:3, b:8:3);
-
Câu 14: Mã câu hỏi: 333105
Cho S là biến có kiểu xâu (String) và y là biến kiểu thực. Trong các cách sau đây, khi thực hiện câu lệnh readln(S,y) nhập giá trị cho S = ‘ Tran Van Thong’ và y = 7.5 từ bàn phím, cách nhập nào đúng ?
- A. Gõ “Tran Van Thong 7.5” sau đó nhấn Enter;
- B. Gõ “Tran Van Thong” sau đó nhấn phím Enter rồi gõ “7.5” sau đó nhấn phím Enter;
- C. Gõ “Tran Van Thong 7,5” sau đó nhấn phím Enter;
- D. Gõ “Tran Van Thong ” rồi gõ dấu phẩy rồi gõ “7.5” sau đó nhấn phím Enter;
-
Câu 15: Mã câu hỏi: 333109
Trong Turbo Pascal, để đóng cửa sổ chương trình:
- A. Nhấn tổ hợp phím Alt + F5
- B. Nhấn tổ hợp phím Alt + F3
- C. Nhấn phím F3
- D. Nhấn phím F5
-
Câu 16: Mã câu hỏi: 333110
Trong Turbo Pascal, để lưu một chương trình ta thực hiện thao tác nào?
- A. Nhấn tổ hợp phím Alt + F5
- B. Nhấn tổ hợp phím Alt + F2
- C. Nhấn phím F2
- D. Nhấn phím F5
-
Câu 17: Mã câu hỏi: 333112
Trong Turbo Pascal, đang ở cửa sổ chương trình nguồn muốn xem lại màn hình Output:
- A. Nhấn tổ hợp phím Alt + F5
- B. Nhấn tổ hợp phím Alt + F7
- C. Nhấn tổ hợp phím Alt + F6
- D. Nhấn tổ hợp phím Alt + F8
-
Câu 18: Mã câu hỏi: 333114
Trong Turbo Pascal, để chạy chương trình:
- A. Nhấn tổ hợp phím Shift + F9
- B. Nhấn phím Ctrl + F9
- C. Nhấn tổ hợp phím Ctrl + F7
- D. Nhấn tổ hợp phím Alt + F9
-
Câu 19: Mã câu hỏi: 333115
Trong Turbo Pascal, để thoát khỏi phần mềm:
- A. Nhấn tổ hợp phím Alt + X
- B. Nhấn tổ hợp phím Ctrl + E
- C. Nhấn tổ hợp phím Ctrl + X
- D. Nhấn tổ hợp phím Alt + E
-
Câu 20: Mã câu hỏi: 333117
Vòng lặp While – do kết thúc khi nào
- A. Khi một điều kiện cho trước được thỏa mãn
- B. Khi đủ số vòng lặp
- C. Khi tìm được Output
- D. Tất cả các phương án
-
Câu 21: Mã câu hỏi: 333119
Mọi quá trình tính toán đều có thể mô tả và thực hiện dựa trên cấu trúc cơ bản là:
- A. Cấu trúc tuần tự
- B. Cấu trúc rẽ nhánh
- C. Cấu trúc lặp
- D. Cả ba cấu trúc
-
Câu 22: Mã câu hỏi: 333121
Tính tổng S = 1 + 2 + 3 + … + n + … cho đến khi S > 108. Điều kiện nào sau đây cho vòng lặp while – do là đúng:
- A. While S >= 108 do
- B. While S
- C. While S
- D. While S >= E8 do
-
Câu 23: Mã câu hỏi: 333123
Câu lệnh sau giải bài toán nào:
While M N do
If M > N then M:=M-N else N:=N-M;
- A. Tìm UCLN của M và N
- B. Tìm BCNN của M và N
- C. Tìm hiệu nhỏ nhất của M và N
- D. Tìm hiệu lớn nhất của M và N
-
Câu 24: Mã câu hỏi: 333125
Đoạn chương trình sau giải bài toán nào?
For I:=1 to M do
If (I mod 3 = 0) and (I mod 5 = 0) then
T := T + I;
- A. Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến M
- B. Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến M
- C. Tổng các số chia hết cho 3 trong phạm vi từ 1 đến M
- D. Tổng các số chia hết cho 5 trong phạm vi từ 1 đến M
-
Câu 25: Mã câu hỏi: 333128
Cú pháp lệnh lặp For – do dạng lùi:
- A. for = downto do ;
- B. for := downto do ;
- C. for = down do ;
- D. for := downto do ;
-
Câu 26: Mã câu hỏi: 333129
Cú pháp lệnh lặp For – do dạng tiến:
- A. for = downto do ;
- B. for := downto do ;
- C. for = down do ;
- D. for := to do ;
-
Câu 27: Mã câu hỏi: 333133
Trong vòng lặp For – do dạng tiến. Giá trị của biến đếm:
- A. Tự động giảm đi 1
- B. Tự động điều chỉnh
- C. Chỉ tăng khi có câu lệnh thay đổi giá trị
- D. Được giữ nguyên
-
Câu 28: Mã câu hỏi: 333135
Kiểu dữ liệu của biến đếm trong lệnh lặp For – do:
- A. Cùng kiểu với giá trị đầu và giá trị cuối
- B. Chỉ cần khác kiểu với giá trị đầu
- C. Cùng kiểu với các biến trong câu lệnh
- D. Không cần phải xác định kiểu dữ liệu
-
Câu 29: Mã câu hỏi: 333137
Trong lệnh lặp For – do: (chọn phương án đúng nhất)
- A. Giá trị đầu phải nhỏ hơn giá trị cuối
- B. Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối
- C. Giá trị đầu phải lớn hơn giá trị cuối
- D. Giá trị đầu phải bằng giá trị cuối
-
Câu 30: Mã câu hỏi: 333140
Mảng là kiểu dữ liệu biểu diễn một dãy các phần tử thuận tiện cho:
- A. chèn thêm phần tử
- B. truy cập đến phần tử bất kì
- C. xóa một phần tử
- D. chèn thêm phần tử và xóa phần tử
-
Câu 31: Mã câu hỏi: 333142
Khai báo mảng hai chiều nào sau đây là sai?
- A. var m : array[1..10] of array[0..9] of integer;
- B. var m : array[1..20,1..40] of real;
- C. var m : array[1..9;1..9] of integer;
- D. var m : array[0..10,0..10] of char;
-
Câu 32: Mã câu hỏi: 333145
Cho khai báo mảng như sau: Var a : array[0..10] of integer ; Phương án nào dưới đây chỉ phần tử thứ 10 của mảng?
- A. a[10];
- B. a(10);
- C. a[9];
- D. a(9);
-
Câu 33: Mã câu hỏi: 333153
Cho khai báo mảng và đoạn chương trình như sau:
Var a : array[0..50] of real ;
k
:= 0 ;
for i := 1 to 50 do
if a[i] > a[k] then k := i ;
Đoạn chương trình trên thực hiện công việc gì dưới đây?
- A. Tìm phần tử nhỏ nhất trong mảng;
- B. Tìm phần tử lớn nhất trong mảng;
- C. Tìm chỉ số của phần tử lớn nhất trong mảng
- D. Tìm chỉ số của phần tử nhỏ nhất trong mảng
-
Câu 34: Mã câu hỏi: 333156
Phương án nào dưới đây là khai báo mảng hợp lệ?
- A. Var mang : ARRAY[0..10] OF INTEGER;
- B. Var mang : ARRAY[0..10] : INTEGER;
- C. Var mang : INTEGER OF ARRAY[0..10];
- D. Var mang : ARRAY(0..10) : INTEGER;
-
Câu 35: Mã câu hỏi: 333164
Thế nào là khai báo biến mảng gián tiếp?
- A. Khai báo mảng của các bản ghi
- B. Khai báo mảng xâu kí tự
- C. Khai báo mảng hai chiều
- D. Khai báo thông qua kiểu mảng đã có
-
Câu 36: Mã câu hỏi: 333172
Trong ngôn ngữ lập trình Pascal, để khai báo kiểu bản ghi để xử lý danh sách cán bộ của một cơ quan, khai báo kiểu bản ghi nào trong các khai báo sau là đúng? (Bản ghi có cấu trúc gồm 5 trường: Họ tên, năm sinh, địa chỉ, mức lương, phụ cấp)
- A. Type CanBo = Record HoTen : String[30] ; Namsinh : Integer; Diachi : String[100] ; MucLuong : Real ; PhuCap : Real; End;
- B. Type CanBo : Record HoTen : String[30] ; Namsinh : Integer; Diachi : String[100] ; MucLuong : Real ; PhuCap : Real ; End;
- C. Type CanBo : Record HoTen : String[30] ; Namsinh : Integer; Diachi : String[100] ; MucLuong : Real ; PhuCap : Real ;
- D. Type CanBo : Record HoTen : String[30] ; Namsinh : Integer; Diachi : String[100] ; MucLuong : Real ; PhuCap : Real ; End.
-
Câu 37: Mã câu hỏi: 333174
Cho khai báo sau: Var hoten : String; Phát biểu nào dưới đây là đúng ?
- A. Câu lệnh sai vì thiếu độ dài tối đa của xâu
- B. Xâu có độ dài lớn nhất là 0
- C. Xâu có độ dài lớn nhất là 255
- D. Cần phải khai báo kích thước của xâu sau đó
-
Câu 38: Mã câu hỏi: 333176
Hãy chọn phương án ghép đúng nhất. Thủ tục chuẩn Insert(S1,S2,vt) thực hiện:
- A. Chèn xâu S1 vào S2 bắt đầu từ vị trí vt
- B. Chèn xâu S2 vào S1 bắt đầu từ vị trí vt
- C. Nối xâu S2 vào S1
- D. Sao chép vào cuối S1 một phần của S2 từ vị trí vt
-
Câu 39: Mã câu hỏi: 333178
Đoạn chương trình sau in ra kết quả nào ?
Program Welcome ;
Var a : string[10];
Begin
a := ‘tinhoc ’;
writeln(length(a));
End.
- A. 6
- B. 7
- C. 10
- D. Chương trình có lỗi
-
Câu 40: Mã câu hỏi: 333181
Cho str là một xâu kí tự, đoạn chương trình sau thực hiện công việc gì ?
for i := length(str) downto 1 do
write(str[i]) ;
- A. In xâu ra màn hình;
- B. In từng kí tự xâu ra màn hình;
- C. In từng kí tự ra màn hình theo thứ tự ngược, trừ kí tự đầu tiên;
- D. In từng kí tự ra màn hình theo thứ tự ngược;