Đề thi giữa HK2 môn Tin học 11 năm 2021-2022
Trường THPT Ngô Gia Tự
-
Câu 1:
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 2:
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 3:
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 4:
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 5:
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 6:
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 7:
Hãy chọn phương án ghép đúng. Tệp truy cập trực tiếp
A. cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ đầu tệp và đi qua lần lượt tất cả các dữ liệu trước nó.
B. Cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí của dữ liệu đó.
C. là tệp mà các phần tử của nó được tổ chức theo một cấu trúc nhất định.
D. là tệp mà dữ liệu được ghi dưới dạng các ký tự theo mã ASCII.
-
Câu 8:
Dữ liệu kiểu tệp
A. sẽ bị mất hết khi tắt máy.
B. sẽ bị mất hết khi tắt điện đột ngột.
C. không bị mất khi tắt máy hoặc mất điện.
D. cả A. B. C đều sai.
-
Câu 9:
Phát biểu nào dưới đây là đúng?
A. Các kiểu dữ liệu đều được lưu trữ ở bộ nhớ trong (RAM).
B. Dữ liệu kiểu tệp được lưu trữ ở bộ nhớ trong.
C. Dữ liệu kiểu tệp được lưu trữ ở bộ nhờ ngoài (đĩa mềm, đĩa cứng, CD. thiết bị nhớ Flash).
D. Các dữ liệu trong máy tính đều bị mất đi khi tắt nguồn điện.
-
Câu 10:
Phát biểu nào sau đây là sai?
A. Tệp có cấu trúc là tệp mà các thành phần của nó được tổ chức theo một cấu trúc nhất định.
B. Tệp chứa dữ liệu được tổ chức theo một cách thức nhất định gọi là tệp có cấu trúc.
C. Tệp văn bản không thuộc loại tệp có cấu trúc.
D. Tệp văn bản gồm các kí tự theo mã ASCII được phân chia thành một hay nhiều dòng.
-
Câu 11:
Phát biểu nào sau đây là sai?
A. Có thể truy cập trực tiếp tệp văn bản.
B. Tệp có cấu trúc có thể truy cập trực tiếp.
C. Tệp có cấu trúc có thể truy cập tuần tự.
D. Truy cập trực tiếp là cách truy cập cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí (thường là số hiệu) của dữ liệu đó.
-
Câu 12:
Phát biểu nào sau đây là đúng?
A. Số lượng phần tử của tệp là cố định.
B. Kích thước tệp có thể rất lớn.
C. Dữ liệu một tệp được lưu trữ trên đĩa thành một vùng dữ liệu liên tục.
D. Tệp lưu trữ lâu dài trên đĩa, không thể xóa tệp trên đĩa.
-
Câu 13:
Phát biểu nào sau đây là sai?
A. Tệp nhị phân thuộc loại tệp có cấu trúc.
B. Các dòng trong tệp văn bản có độ dài bằng nhau.
C. Có thể hiểu nội dung các tệp văn bản khi hiển thị nó trên màn hình trong phần mềm soạn thảo văn bản.
D. Không thể hiểu nội dung các tệp có cấu trúc khi hiển thị nó trên màn hình trong phần mềm soạn thảo văn bản.
-
Câu 14:
Hàm eoln() trả về giá trị TRUE khi nào?
A. Khi con trỏ tệp đang chỉ tới cuối tệp
B. Khi con trỏ tệp đang chỉ tới cuối dòng
C. Khi con trỏ tệp đang chỉ tới đầu tệp
D. Khi con trỏ tệp đang chỉ tới đầu dòng
-
Câu 15:
Trong NNLT Pascal, sau khi làm việc với tệp cần phải đóng tệp. Cú pháp để đóng tệp là:
A. close( < tên tệp > );
B. close( < biến tệp > );
C. close;
D. close all;
-
Câu 16:
Trong một chương trình Pascal, sau khi đã đóng tệp bằng thủ tục đóng tệp thì có thể mở lại tệp đó hay không?
A. Không được phép mở lại
B. Được phép mở lại vô số lần tùy ý
C. Được phép mở lại 1 lần duy nhất
D. Cần phải gắn lại tên tệp cho biến tệp trước khi mở
-
Câu 17:
Phát biểu nào sau đây là đúng với chương trình Vi_Du ?
Program Vi_Du ;
Uses crt ;
Var f : text ; ch : char ; tenfile : string[30] ;
Begin
Write(‘ Nhap ten file : ’) ; readln(tenfile) ;
Assign(f, ‘tenfile’) ; Reset(f) ;
Whilenot eof(f) do
Begin
Read(f, ch) ;
Write(ch) ;
End ;
Close(f) ;
End.
A. Chương trình dùng để mở đọc một tệp đã có và hiện nội dung trong tệp này lên màn hình.
B. Chương trình dùng để tạo một tệp mới và ghi nội dung nhập từ bàn phím vào trong tệp.
C. Chương trình dùng để mở đọc một tệp đã có và cho phép nhìn thấy toàn bộ kí tự có trong tệp này lên màn hình.
D. Cả 3 khẳng định trên đều sai.
-
Câu 18:
Cho trước tệp văn bản BT_TD gồm hai dòng như sau :
TRAN MINH HAI 9 8 7
NGUYEN QUANG VINH 10 5 9
ProgramThi_Du ;
Uses crt ;
Const fi = ‘BT_TD’ ;
Var f : text ; s : string ; t, l, h : integer ;
Begin
Assign(f, ‘fi’) ; Reset(f) ;
While not eof(f) do
Begin
Readln(f, s, t, l, h) ;
Writeln(s, ‘ ’, t, ‘ ’, l, ‘ ’, h) ;
End ;
Close(f) ;
Readln
End.
Khi thực hiện chương trình Thi_Du sẽ cho kết quả nào trong các kết quả sau đây?
A. TRAN MINH HAI 9 8 7 NGUYEN QUANG VINH 10 5 9
B. TRAN MINH HAI 9 8 7 0 0 0 NGUYEN QUANG VINH 10 5 9 0 0 0
C. Thông báo chương trình bị ngắt thực hiện vì gặp lỗi 106
D. Cả 3 kết quả A_, B_, C_ đều sai
-
Câu 19:
Trong PASCAL, để khai báo hai biến tệp văn bản f1, f2 ta viết
A. Var f1 f2 : Text;
B. Var f1 ; f2 : Text;
C. Var f1 , f2 : Text;
D. Var f1 : f2 : Text;
-
Câu 20:
CSDL phân tán là một tập hợp dữ liệu có liên quan (về …I… ) được dùng chung và phân tán về mặt …II… trên một mạng máy tính. Hãy chọn từ thích hợp điền vào hai chỗ trống.
A. I là lí thuyết; II là vật lí
B. I là logic; II là hình thức
C. I là tổ chức; II là cài đặt
D. I là logic; II là vật lí
-
Câu 21:
Một hệ QT CSDL phân tán là một hệ thống …I… cho phép quản trị …II… và làm cho người dùng không nhận thấy sự phân tán. Hãy chọn từ phù hợp cho chổ trống.
A. I là hệ CSDL; II là CSDL
B. I là phần mềm; II là CSDL phân tán
C. I là chương trình; II là hệ CSDL
D. I là CSDL; II là CSDL phân tán
-
Câu 22:
Khi dữ liệu tập trung tại một trạm, những người dùng trên các trạm khác có thể truy cập được dữ liệu này, ta nói đó là hệ CSDL gì?
A. Hệ CSDL cá nhân
B. Hệ CSDL phân tán xử lí tập trung
C. Hệ CSDL tập trung xử lí phân tán
D. Hệ QTCSDL phân tán
-
Câu 23:
Em hãy cho biết ý kiến nào là đúng. Trong giờ ôn tập về hệ CSDL, các bạn trong lớp thảo luận rất hăng hái. Đề cập đến vai trò của máy khách trong hệ CSDL khách-chủ, có rất nhiều bạn phát biểu:
A. Có thể được dùng để lưu trữ một phần CSDL
B. Có nhiệm vụ kiểm tra quyền được truy cập vào CSDL
C. Không được phép cài đặt thêm bất kì một CSDL cá nhân nào
D. Tất cả đều sai
-
Câu 24:
Hệ CSDL có một người dùng được gọi là gì?
A. Hệ CSDL phân tán
B. Hệ CSDL trung tâm
C. Hệ CSDL cá nhân
D. Hệ CSDL khách chủ
-
Câu 25:
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 26:
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 27:
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 < 108 do
C. While S < 1.0E8 do
D. While S >= E8 do
-
Câu 28:
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 29:
Đ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 30:
Cú pháp lệnh lặp For – do dạng lùi:
A. for < biến đếm> = < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;
B. for < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;
C. for < biến đếm> = < Giá trị cuối >down < Giá trị đầu > do < câu lệnh >;
D. for < biến đếm> := < Giá trị đầu >downto < Giá trị cuối > do < câu lệnh>;
-
Câu 31:
Cú pháp lệnh lặp For – do dạng tiến:
A. for < biến đếm> = < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;
B. for < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;
C. for < biến đếm> = < Giá trị cuối >down < Giá trị đầu > do < câu lệnh >;
D. for < biến đếm> := < Giá trị đầu > to < Giá trị cuối > do < câu lệnh>;
-
Câu 32:
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 33:
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 34:
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 35:
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> . Đ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;
-
Câu 36:
Hãy chọn phương án ghép đúng . Với cấu trúc rẽ nhá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;
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:
Hãy chọn phương án ghép đúng . Với cấu trúc rẽ nhánh IF <điều kiện> THEN <câu lệnh 1> ELSE <câu lệnh 2>, câu lệnh 2 được thực hiện khi
A. biểu thức điều kiện đúng và câu lệnh 1 thực hiện xong;
B. câu lệnh 1 được thực hiện;
C. biểu thức điều kiện sai;
D. biểu thức điều kiện đúng;
-
Câu 38:
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 then X := A else X := B;
B. if A < B then X := A;
C. X := B; if A < B then X := A;
D. if A < B then X := A else X := B;
-
Câu 39:
Phát biểu nào sau đây có thể lấy làm biểu thức điều kiện trong cấu trúc rẽ nhánh ?
A. A + B
B. A > B
C. N mod 100
D. “A nho hon B”
-
Câu 40:
Trong ngôn ngữ lập trình Pascal, phát biểu nào sau đây là đúng với câu lệnh rẽ nhánh if…then…else…?
A. Nếu sau else muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa hai cặp dấu ngoặc nhọn;
B. Nếu sau else muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa hai dấu ngoặc đơn;
C. Nếu sau else muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa Begin và End;
D. Nếu sau else muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa Begin và End