Đề thi HK1 môn Tin học 11 năm 2021-2022
Trường THPT Nguyễn Khuyến
-
Câu 1:
Ngôn ngữ lập trình là ngôn ngữ
A. Cho phép thể hiện các dữ liệu trong bài toán mà các chương trình sẽ phải xử lí
B. Dưới dạng nhị phân để máy tính có thể thực hiện trực tiếp
C. Diễn đạt thuật toán để có thể giao cho máy tính thực hiện
D. Có tên là "ngôn ngữ thuật toán" hay còn gọi là "ngôn ngữ lập trình bậc cao" gần với ngôn ngữ toán học cho phép mô tả cách giải quyết vấn đề độc lập với máy tính
-
Câu 2:
Ngôn ngữ lập trình bậc cao là ngôn ngữ
A. Thể hiện thuật toán theo những quy ước nào đó không phụ thuộc vào các máy tính cụ thể
B. Mà máy tính không hiểu trực tiếp được, chương trình viết trên ngôn ngữ bậc cao trước khi chạy phải dịch sang ngôn ngữ máy
C. Có thể diễn đạt được mọi thuật toán
D. Sử dụng từ vựng và cú pháp của ngôn ngữ tự nhiên (tiếng Anh)
-
Câu 3:
Phát biểu nào không đúng trong các phát biểu dưới đây?
A. Chương trình dịch cho phép chuyển chương trình viết bằng một ngôn ngữ lập trình nào đó sang chương trình trên ngôn ngữ máy để máy có thể thực hiện được mà vẫn bảo toàn được ngữ nghĩa của chương trình nguồn
B. Chương trình dịch giúp người lập trình có thể lập trình trên một ngôn ngữ lập trình gần với ngôn ngữ tự nhiên hơn, do đó giảm nhẹ được nỗ lực lập trình, tăng cường hiệu suất lập trình
C. Chương trình dịch giúp tìm ra tất cả các lỗi của chương trình
D. Một ngôn ngữ lập trình có thể có cả chương trình thông dịch và chương trình biên dịch
-
Câu 4:
Phát biểu nào dưới đây là đúng nhất khi nói về biến?
A. Biến là đại lượng nhận giá trị trước khi chương trình thực hiện
B. Biến là đại lượng được đặt tên và có giá trị thay đổi trong quá trình thực hiện chương trình
C. Biến có thể lưu trữ nhiều loại giá trị khác nhau
D. Biến có thể đặt hoặc không đặt tên gọi
-
Câu 5:
Phần thân chương trình bắt đầu bằng ….và kết thúc bằng …?
A. BEGIN…END.
B. BEGIN…END
C. BEGIN…END,
D. BEGIN…END;
-
Câu 6:
Các thành phần của ngôn ngữ lập trình là
A. Chương trình thông dịch và chương trình biên dịch
B. Chương trình dịch, bảng chữ cái, cú pháp, ngữ nghĩa
C. Bảng chữ cái, cú pháp, ngữ nghĩa
D. Tên dành riêng, tên chuẩn và tên do người lập trình định nghĩa
-
Câu 7:
Xét chương trình Pascal dưới đây:
PROGRAM vi_du;
BEGIN Writeln ('Xin chao cac ban');
Writeln('Moi cac ban lam quen voi Pascal');
END.
Chọn phát biểu sai?
A. Khai báo tên chương trình là vi du
B. Khai báo tên chương trình là vi_du
C. Thân chương trình có hai câu lệnh
D. Chương trình không có khai báo hằng
-
Câu 8:
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. 24 byte
B. 22 byte
C. 18 byte
D. 11 byte
-
Câu 9:
Trong ngôn ngữ lập trình Pascal, giả sử x:= a/b; thì x phải khai báo kiểu dữ liệu nào?
A. Longint
B. integer
C. word
D. real
-
Câu 10:
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 11:
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. Char
B. LongInt
C. Integer
D. Word
-
Câu 12:
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 13:
Trong ngôn ngữ lập trình Pascal, kiểu dữ liệu nào trong các kiểu sau có miền giá trị lớn nhất?
A. Byte
B. Longint
C. Word
D. Integer
-
Câu 14:
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: integer;
B. Var M: Real; N: Word;
C. Var M, N: Longint;
D. Var M: Word; N: Real;
-
Câu 15:
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 16:
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 17:
Đ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 18:
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 19:
Trong ngôn ngữ lập trình Pascal, xâu kí tự không có kí tự nào gọi là ?
A. Xâu không;
B. Xâu rỗng;
C. Xâu trắng;
D. Không phải là xâu kí tự;
-
Câu 20:
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 21:
Để 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 22:
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 23:
Cấu trúc của chương trình được mô tả như sau :
A. [<phần khai báo>] <phần thân>
B. [<phần khai báo>] <phần thân> <phần kết luận>
C. [<phần thân>] <phần kết luận>
D. <phần khai báo> [<phần thân>]
-
Câu 24:
Câu lệnh xóa màn hình trong thư viện CRT có dạng :
A. Clear screen;
B. Clear scr;
C. Clrscr;
D. Clr scr;
-
Câu 25:
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 nào?
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 26:
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
-
Câu 27:
Trong ngôn ngữ lập trình Pascal, muốn kiểm tra đồng thời cả ba giá trị của A. B. C có cùng lớn hơn 0 hay không ta viết câu lệnh If thế nào cho đúng ?
A. If A. B. C > 0 then ……
B. If (A > 0) and (B > 0) and (C > 0) then ……
C. If A>0 and B>0 and C>0 then ……
D. If (A>0) or (B>0) or (C>0) then……
-
Câu 28:
Để khai báo số phần tử của mảng trong PASCAL, người lập trình cần:
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 29:
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 30:
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 31:
Độ dài tối đa của xâu kí tự trong PASCAL là bao nhiêu?
A. 256
B. 255
C. 65535
D. Tùy ý
-
Câu 32:
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 33:
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 34:
Trong ngôn ngữ lập trình Pascal, giả sử x:= a/b; thì x phải khai báo kiểu dữ liệu nào?
A. Longint
B. integer
C. word
D. real
-
Câu 35:
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 36:
Hãy chọn phương án đúng. Biểu thức: 25 mod 3 + 5 / 2 * 3 có giá trị là?
A. 8.0;
B. 15.5;
C. 15.0;
D. 8.5;
-
Câu 37:
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 38:
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 39:
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 40:
Lựa chọn câu phát biểu hợp lí nhất?
A. Khai báo hằng thường được sử dụng cho một giá trị tại mỗi thời điểm thực hiện chương trình
B. Biến đơn là biến chỉ nhận những giá trị không đổi và xuất hiện nhiều lần trong chương trình
C. Khai báo hằng thường được sử dụng cho những giá trị không đổi và xuất hiện nhiều lần trong chương trình
D. Trong Pascal, tất cả các biến trong chương trình đều phải có giá trị không đổi và xuất hiện nhiều lần trong chương trình