Câu hỏi trắc nghiệm (40 câu):
-
Câu 1: Mã câu hỏi: 329938
Phát biểu nào sau đây về chức năng của kiểu bản ghi là phù hợp nhất?
- A. Để mô tả đối tượng chứa nhiều loại thông tin khác nhau
- B. Để mô tả nhiều dữ liệu
- C. Để mô tả dữ liệu gồm cả số và xâu kí tự
- D. Để tạo mảng nhiều chiều
-
Câu 2: Mã câu hỏi: 329941
Phát biểu nào sau đây về bản ghi là không phù hợp?
- A. Bản ghi là dữ liệu có cấu trúc
- B. Bản ghi thường có nhiều trường dữ liệu
- C. Trường dữ liệu của bản ghi có thể là một kiểu bản ghi khác
- D. Bản ghi thường được dùng để thay thế mảng
-
Câu 3: Mã câu hỏi: 329946
Cho biến bản ghi sinh_vien gồm các trường ho_ten, ngay_sinh. Biểu thức nào truy cập đến trường ho_ten của bản ghi này?
- A. ho_ten;
- B. sinh_vien → ho_ten;
- C. sinh_vien.(ho_ten,ngay_sinh);
- D. sinh_vien.ho_ten;
-
Câu 4: Mã câu hỏi: 329949
Phát biểu nào dưới đây là đúng khi nói về kiểu bản ghi?
- A. Kiểu bản ghi là một kiểu dữ liệu có cấu trúc
- B. Mỗi bản ghi mô tả một đối tượng, mỗi bản ghi có thể gồm một số thành phần gọi là trường, mỗi trường mô tả một thuộc tính của đối tượng. Giống như kiểu mảng, các thành phần tạo thành một bản ghi phải thuộc cùng một kiểu dữ liệu.
- C. Có thể so sánh các bản ghi bất kì với nhau bằng các quan hệ , =,
- D. Trên các biến bản ghi, ta có thể sử dụng các phép toán số học +, – , *, /
-
Câu 5: Mã câu hỏi: 329952
Trong ngôn ngữ lập trình Pascal, có thể gán giá trị cho bản ghi bằng cách?
- A. Gán giá trị cho từng trường;
- B. Gán giá trị cho bảng ghi;
- C. Nhập giá trị từ bàn phím;
- D. Cả 3 cách trên;
-
Câu 6: Mã câu hỏi: 329957
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 7: Mã câu hỏi: 329960
Câu lệnh nào trong các câu lệnh sau không dùng để gán giá trị cho trường của bản ghi A? (với bản ghi A có 3 trường là Ten, Lop, Diem)
- A. Ten := ‘Nguyen Van A’ ;
- B. Lop := ‘11A7’ ;
- C. Readln(A.Diem) ;
- D. S := A.Diem ;
-
Câu 8: Mã câu hỏi: 329963
Trong kiểu dữ liệu bản ghi, mỗi bản ghi thường được dùng để?
- A. Mô tả hay lưu trữ thông tin về nhiều đối tượng cần quản lý ;
- B. Mô tả hay lưu trữ thông tin về một thuộc tính cần quản lý ;
- C. Mô tả hay lưu trữ thông tin về một đối tượng cần quản lý ;
- D. Mô tả hay lưu trữ thông tin về nhiều thuộc tính cần quản lý ;
-
Câu 9: Mã câu hỏi: 329965
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 10: Mã câu hỏi: 329966
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 11: Mã câu hỏi: 329969
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 12: Mã câu hỏi: 329973
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 13: Mã câu hỏi: 330003
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 14: Mã câu hỏi: 330006
Phát biểu nào sau đây về mảng là không chính xác?
- A. Chỉ số của mảng không nhất thiết bắt đầu từ 1
- B. Có thể xây dựng mảng nhiều chiều
- C. Xâu kí tự cũng có thể xem như là một loại mảng
- D. Độ dài tối đa của mảng là 255
-
Câu 15: Mã câu hỏi: 330010
Để khai báo số phần tử của mảng trong Pascal, người lập trình cần gì?
- A. khai báo một hằng số là số phần tử của mảng
- B. khai báo chỉ số bắt đầu và kết thúc của mảng
- C. khai báo chỉ số kết thúc của mảng
- D. không cần khai báo gì, hệ thống sẽ tự xác định
-
Câu 16: Mã câu hỏi: 330014
Phát biểu nào dưới đây về kiểu mảng một chiều là phù hợp?
- A. Là một tập hợp các số nguyên
- B. Độ dài tối đa của mảng là 255
- C. Là một dãy hữu hạn các phần tử cùng kiểu
- D. Mảng không thể chứa kí tự
-
Câu 17: Mã câu hỏi: 330019
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 18: Mã câu hỏi: 330023
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 19: Mã câu hỏi: 330027
Đ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 20: Mã câu hỏi: 330030
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;
-
Câu 21: Mã câu hỏi: 330032
Trong ngôn ngữ lập trình Pascal, khai báo nào trong các khai báo sau là sai khi khai báo xâu kí tự ?
- A. Var S : string;
- B. Var X1 : string[100];
- C. Var S : string[256];
- D. Var X1 : string[1];
-
Câu 22: Mã câu hỏi: 330039
Trong ngôn ngữ lập trình Pascal, sau khi chương trình thực hiện xong đoạn chương trình sau, giá trị của biến S là ?
S := ‘Ha Noi Mua thu’;
Delete(S,7,8);
Insert(‘Mua thu’, S, 1);
- A. Ha Noi Mua thu
- B. Mua thu Ha Noi mua thu;
- C. Mua thu Ha Noi;
- D. Ha Noi;
-
Câu 23: Mã câu hỏi: 330047
Chương trình dịch Pascal sẽ cấp phát bao nhiêu byte bộ nhớ cho các biến trong khai báo sau?
VAR
M, N, P : Integer;
A, B: Real;
C: Longint;
- A. 20 byte
- B. 24 byte
- C. 22 byte
- D. 18 byte
-
Câu 24: Mã câu hỏi: 330049
Biến x nhận giá trị nguyên trong đoạn [-300 ; 300], kiểu dữ liệu nào sau đây là phù hợp nhất để khai báo biến x?
- A. Byte
- B. Integer
- C. Word
- D. Real
-
Câu 25: Mã câu hỏi: 330052
Biến X nhận giá trị là 0.7. Khai báo nào sau đây là đúng?
- A. var X: integer;
- B. var X: real;
- C. var X: char;
- D. A và B đúng
-
Câu 26: Mã câu hỏi: 330057
Biến X có thể nhận các giá trị 1; 100; 150; 200 và biến Y có thể nhận các giá trị 1; 0.2; 0.3; 10.99. Khai báo nào trong các khai báo sau là đúng nhất?
- A. Var X, Y: byte;
- B. Var X, Y: real;
- C. Var X: real; Y: byte;
- D. Var X: byte; Y: real;
-
Câu 27: Mã câu hỏi: 330060
Biến x có thể nhận các giá trị -5, 100, 15, 20. Hãy chọn kiểu dữ liệu phù hợp với biến x?
- A. Real
- B. LongInt
- C. Integer
- D. Word
-
Câu 28: Mã câu hỏi: 330062
Bộ nhớ sẽ cấp phát cho các biến dưới đây tổng cộng bao nhiêu byte?
Var
x,y:integer;
c:char;
ok:boolean;
z: real;
- A. 12
- B. 14
- C. 11
- D. 13
-
Câu 29: Mã câu hỏi: 330069
Trong 1 chương trình, biến M có thể nhận các giá trị: 10, 15, 20, 30, 40, và biến N có thể nhận các giá trị: 1.0 , 1.5, 2.0, 2.5 , 3.0. Khai báo nào trong các khai báo sau là đúng?
- A. Var M,N :Byte;
- B. Var M: Real; N: Word;
- C. Var M, N: Longint;
- D. Var M: Word; N: Real;
-
Câu 30: Mã câu hỏi: 330073
Danh sách các biến là một hoặc nhiều tên biến, các tên biến được viết cách nhau bởi:
- A. Dấu chấm phẩy (;)
- B. Dấu phẩy (,)
- C. Dấu chấm (.)
- D. Dấu hai chấm (:)
-
Câu 31: Mã câu hỏi: 330077
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 32: Mã câu hỏi: 330081
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 33: Mã câu hỏi: 330084
Để tính diện tích S của hình vuông có cạnh A với giá trị nguyên nằm trong phạm vi từ 10 đến 100, cách khai báo S nào dưới đây là đúng và tốn ít bộ nhớ nhất.
- A. Var S: integer;
- B. Var S: real;
- C. Var S: longint;
- D. Var S: word;
-
Câu 34: Mã câu hỏi: 330086
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 35: Mã câu hỏi: 330089
Hãy chọn cách dùng sai.
Muốn dùng biến X lưu giá trị nhỏ nhất trong các giá trị của hai biến A, B có thể dùng cấu trúc rẽ nhánh như sau:
- A. if A
- B. if A
- C. X := B; if A
- D. if A
-
Câu 36: Mã câu hỏi: 330092
Hãy chọn phương án ghép đúng.
Với cấu trúc rẽ nhánh IF THEN , câu lệnh đứng sau THEN được thực hiện khi:
- A. điều kiện được tính toán xong;
- B. điều kiện được tính toán và cho giá trị đúng;
- C. điều kiện không tính được;
- D. điều kiện được tính toán và cho giá trị sai;
-
Câu 37: Mã câu hỏi: 330095
Đ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 38: Mã câu hỏi: 330098
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 do
- D. While S >= E8 do
-
Câu 39: Mã câu hỏi: 330102
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 40: Mã câu hỏi: 330105
Hãy chọn phương án ghép đúng nhất . Để mô tả cấu trúc rẽ nhánh trong thuật toán, nhiều ngôn ngữ lập trình bậc cao dùng câu lệnh IF – THEN, sau IF là . Điều kiện là
- A. biểu thức lôgic;
- B. biểu thức số học;
- C. biểu thức quan hệ;
- D. một câu lệnh;