Đề thi HK1 môn Tin học 11 năm 2021-2022
Trường THPT Thanh Đa
-
Câu 1:
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:
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:
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:
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:
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:
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:
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:
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ả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:
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:
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:
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:
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:
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:
Để 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:
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:
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:
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:
Đ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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
Để 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:
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:
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:
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:
Đ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:
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ọ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:
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;