Đề thi HK1 môn Tin học 11 năm 2021-2022
Trường THPT Ngô Quyền
-
Câu 1:
Hãy chọn phương án ghép đúng. 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:
Hãy chọn phương án ghép sai. 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:
Chọn phát biểu đúng trong các phát biểu dưới đây:
A. Ngoài bảng chữ cái, cú pháp, ngữ nghĩa, một ngôn ngữ lập trình còn có các quy tắc để khai báo biến, hằng,…
B. Ngoài bảng chữ cái, có thể dùng các kí tự thông dụng trong toán học để viết chương trình
C. Chương trình có lỗi cú pháp có thể được dịch ra ngôn ngữ máy nhưng không thực hiện được
D. Cú pháp là bộ quy tắc dùng để viết chương trình
-
Câu 4:
Phát biểu nào dưới đây là hợp lí nhất khi nói về hằng?
A. Hằng là đại lượng nhận giá trị trước khi chương trình thực hiện
B. Hằng 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. Hằng có thể lưu trữ nhiều loại giá trị khác nhau
D. Hằng được chương trình dịch bỏ qua
-
Câu 5:
Trong tin học, hằng là đại lượng
A. Có giá trị thay đổi trong quá trình thực hiện chương trình
B. Có giá trị không thay đổi trong quá trình thực hiện chương trình
C. Được đặt tên
D. Có thể thay đổi giá trị hoặc không thay đổi giá trị tùy thuộc vào bài toán
-
Câu 6:
Các thành phần của ngôn ngữ lập trình là gì?
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:
Khái niệm nào sau đây là đúng về tên dành riêng?
A. Tên dành riêng là tên do người lập trình đặt
B. Tên dành riêng là tên đã được ngôn ngữ lập trình qui định dùng với ý nghĩa riêng xác định, không được sử dụng với ý nghĩa khác
C. Tên dành riêng là tên đã được ngôn ngữ lập trình qui định đúng với ý nghĩa riêng xác định, có thể được định nghĩa lại
D. Tên dành riêng là các hằng hay biến
-
Câu 8:
Từ khóa USES dùng để:
A. Khai báo tên chương trình
B. Khai báo hằng
C. Khai báo biến
D. Khai báo thư viện
-
Câu 9:
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 10:
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 11:
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. Khai báo hằng còn xác định cả đặt tên và khai báo cho chương trình dịch biết để lưu trữ và xử lí
C. Trong Pascal, tất cả các biến trong chương trình đều phải có một giá trị tại mỗi thời điểm thực hiện chương trình
D. Khai báo hằng còn xác định cả kiểu của hằng
-
Câu 12:
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. 23 byte
C. 22 byte
D. 18 byte
-
Câu 13:
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. Longint
B. Integer
C. Word
D. Real
-
Câu 14:
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 15:
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 16:
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 17:
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 18:
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 19:
Trong ngôn ngữ lập trình Pascal, hằng và biến khác nhau cơ bản như thế nào?
A. Hằng và biến là hai đại lượng mà giá trị đều có thể thay đổi được trong quá trình thực hiện chương trình
B. Hằng không cần khai báo còn biến phải khai báo
C. Hằng là đại lượng có giá trị không thay đổi trong quá trình thực hiện chương trình, biến là đại lượng có giá trị có thể thay đổi trong quá trình thực hiện chương trình
D. Hằng và biến bắt buộc phải khai báo
-
Câu 20:
Trong ngôn ngữ lập trình Pascal, từ khoá CONST dùng để:
A. Khai báo tên chương trình
B. Khai báo hằng
C. Khai báo biến
D. Khai báo thư viện.
-
Câu 21:
Biến là …
A. Là đại lượng có giá trị không thay đổi trong suốt quá trình thực hiện chương trình
B. Là đại lượng có giá trị có thể được thay đổi trong quá trình thực hiện chương trình
C. Tên không cần theo nguyên tắc đặt tên
D. Không cần khai báo trước khi sử dụng
-
Câu 22:
Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là khai báo hằng?
A. Const max = 50;
B. Const max := 50;
C. Const integer max = 50;
D. Const max 50;
-
Câu 23:
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 24:
Những biểu thức nào sau đây có giá trị TRUE ?
A. ( 20 > 19 ) and ( ‘B’ < ‘A’ );
B. ( 4 > 2 ) and not( 4 + 2 < 5 ) or ( 2 >= 4 div 2 );
C. ( 3 < 5 ) or ( 4 + 2 < 5 ) and ( 2 < 4 div 2 );
D. 4 + 2 * ( 3 + 5 ) < 18 div 4 * 4 ;
-
Câu 25:
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 26:
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 27:
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 28:
Đoạn chương trình sau sẽ hiển thị kết quả:
Begin
Writeln ('Day la lop TIN HOC');
End.
A. 'Day la lop TIN HOC'
B. Không chạy được vì có lỗi
C. Day la lop TIN HOC
D. "Day la lop TINHOC"
-
Câu 29:
Cho x là biến thực đã được gán giá trị 12.41235. Để thực hiện lên màn hình nội dung “x=12.41” cần chọn câu lệnh nào sau đây ?
A. Writeln(x);
B. Writeln(x:5);
C. Writeln(x:5:2);
D. Writeln(‘x=’ ,x:5:2);
-
Câu 30:
Cho x, y, z là ba biến nguyên. Cách nhập giá trị nào sau đây là sai khi muốn nhập giá trị 3, 4, 5 cho ba biến này từ bàn phím bằng câu lệnh readln(x,y,z); ?
A. Gõ 3, 4, 5 sau đó nhấn phím Enter (giữa hai số liên tiếp gõ dấu phẩy);
B. Gõ 3, 4, 5 sau đó nhấn phím Enter (giữa hai số liên tiếp gõ một dấu cách);
C. Gõ 3 sau đó nhấn phím Enter rồi gõ 4 sau đó nhấn phím Enter rồi gõ 5 sau đó nhấn phím Enter;
D. Gõ 3 sau đó nhấn phím Tab rồi gõ 4 sau đó nhấn phím Tab rồi gõ 5 sau đó nhấn phím Enter;
-
Câu 31:
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 32:
Để đư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
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 33:
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.345
B. a = 2.345E+01
C. Không đưa ra gì cả
D. a = 2345.000
-
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:
Trong Turbo Pascal, muốn biên dịch chương trình ta dùng tổ hợp phím:
A. Alt + F9
B. Ctrl + F9
C. Alt + F6
D. Alt + F8
-
Câu 36:
Để 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 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>, 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 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:
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 40:
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>;