Đề thi HK1 môn Tin học 11 năm 2021-2022 - Trường THPT Nguyễn Khuyến

Đề thi HK1 môn Tin học 11 năm 2021-2022 - Trường THPT Nguyễn Khuyến

  • Hocon247

  • 40 câu hỏi

  • 60 phút

  • 40 lượt thi

  • Trung bình

Tham gia [ Hs Hocon247.com ] - Cộng Đồng Luyện Thi Trực Tuyến để được học tập những kiến thức bổ ích từ HocOn247.com

Câu 1: Trắc nghiệm ID: 276130

Ngôn ngữ lập trình là ngôn ngữ

Xem đáp án

Ngôn ngữ lập trình là ngôn ngữ để viết chương trình, diễn đạt thuật toán giúp  máy tính hiểu và thực hiện.

Đáp án: C

Câu 2: Trắc nghiệm ID: 276131

Ngôn ngữ lập trình bậc cao là ngôn ngữ

Xem đáp án

Ngôn ngữ lập trình bậc cao là ngôn ngữ gần với ngôn ngữ tự nhiên ( một số từ viết tắt của tiếng Anh), có tính độc lập cao và ít phụ thuộc vào loại máy cụ thể. Chương trình viết bằng ngôn ngữ bậc cao phải được dịch bằng chương trình dịch sang ngôn ngữ máy, máy mới hiểu và thực hiện được. Một số ngôn ngữ lập trình bậc cao: FORTRAN, COBOL, PASCAL, C…

Đáp án: D

Câu 3: Trắc nghiệm ID: 276132

Phát biểu nào không đúng trong các phát biểu dưới đây?

Xem đáp án

Mỗi chương trình viết bằng ngôn ngữ khác muốn máy tính thực hiện trên máy tính đều phải được dịch ra ngôn ngữ máy nhờ chương trình dịch. 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ó hai chương trình dịch: thông dịch và biên dịch.

Đáp án: A

Câu 4: Trắc nghiệm ID: 276133

Phát biểu nào dưới đây là đúng nhất khi nói về biến?

Xem đáp án

Biến là đại lượng được đặt tên, dùng để lưu trữ giá trị và có giá trị thay đổi trong quá trình thực hiện chương trình.

Đáp án: B

Câu 5: Trắc nghiệm ID: 276134

Phần thân chương trình bắt đầu bằng ….và kết thúc bằng …?

Xem đáp án

Phân thân chương trình là dãy lệnh trong phạm vi được xác  định bởi cặp dấu hiệu mở đầu và kết thúc tạo thành thân chương trình. Ví dụ thân chương trình trong Pascal là cặp từ khóa “ BEGIN…END.” .

Đáp án: A

Câu 6: Trắc nghiệm ID: 276135

Các thành phần của ngôn ngữ lập trình là

Xem đáp án

Các thành phần của ngôn ngữ lập trình là:

+ Bảng chữ cái là tập các kí tự được dùng để viết chương trình.

+ Cú pháp là bộ quy tắc để viết chương trình.

+ Ngữ nghĩa xác định ý nghĩa thao tác cần phải thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh của nó.

Đáp án: C

Câu 7: Trắc nghiệm ID: 276136

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?

Xem đáp án

Khai báo tên chương trình là vi_du. Có hai câu lệnh để đưa ra màn hình hai câu:

‘ Xin chao cac ban

'Moi cac ban lam quen voi Pascal ’

Chương không có khai báo hằng, biến, thư viện…

Đáp án: A

Câu 8: Trắc nghiệm ID: 276137

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;

Xem đáp án

Kiểu Interger bộ nhớ lưu trữ một giá tri là 2 byte → 3 biến M, N, P cần 3 x 2= 6 byte

Kiểu Real  bộ nhớ lưu trữ một giá tri là 6 byte → 2 biến A. B cần 2 x 6 = 12 byte

Kiểu Longint  bộ nhớ lưu trữ một giá tri là 4 byte → 1 biến C cần 1 x 4 = 4 byte

→ Vậy cần cấp 6+ 12+ 4 = 22 byte bộ nhớ cho các biến.

Câu 9: Trắc nghiệm ID: 276138

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?

Xem đáp án

X:=a/b; thì x phải khai báo kiểu số thực Real vì a có thể chia hết hoặc không chia hết cho b. Còn các kiểu Longint, word, integer là kiểu số nguyên nên  không được.

Đáp án: D

Câu 10: Trắc nghiệm ID: 276139

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;

Xem đáp án

Kiểu Interger bộ nhớ lưu trữ một giá tri là 2 byte → 2 biến x, y cần 2 x 2= 4 byte

Kiểu Real  bộ nhớ lưu trữ một giá tri là 6 byte → 1 biến z cần 1 x 6 = 6 byte

Kiểu char bộ nhớ lưu trữ một giá tri là 1 byte → 1 biến C cần 1 x 1 = 1 byte

Kiểu boolean bộ nhớ lưu trữ một giá tri là 1 byte → 1 biến ok cần 1 x 1 = 1 byte

Vậy cần cấp 6 + 4 + 1 + 1 = 12 byte bộ nhớ cho các biến.

Đáp án: A

Câu 11: Trắc nghiệm ID: 276140

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?

Xem đáp án

Các số -5, 100, 15, 20 là các số nguyên → kiểu dữ liệu của x là kiểu nguyên. Trong x có giá trị -5 → chỉ có thể là kiểu integer, longint (vì chứa giá trị âm). Vì các giá trị này có giá trị nhỏ nên kiểu dữ liệu phù hợp với biến x là integer (longint sẽ chiếm bộ nhớ lớn).

Đáp án: C

Câu 12: Trắc nghiệm ID: 276141

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?

Xem đáp án

Các giá trị 1; 100; 150; 200 là các số nguyên→ kiểu dữ liệu của X là byte,

Các giá trị 1; 0.2; 0.3; 10.99 là các số thực → kiểu dữ liệu của Y là real.

Đáp án: D

Câu 13: Trắc nghiệm ID: 276142

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?

Xem đáp án

+ Byte có miền giá trị từ 0 đến 255.

+ Integer có miền giá trị từ -32768 đến 32767

+ Word có miền giá trị từ 0 đến 65535

+ Longint có miền giá trị từ -2147483648 đến 2147483647

Đáp án: B

Câu 14: Trắc nghiệm ID: 276143

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?

Xem đáp án

Trong 1 chương trình, biến M có thể nhận các giá trị: 10, 15, 20, 30, 40⇒ Biến M kiểu nguyên và biến N có thể nhận các giá trị: 1.0 , 1.5, 2.0, 2.5 , 3.0 ⇒ Biến N kiểu thực.

Đáp án: D

Câu 15: Trắc nghiệm ID: 276144

Cho khai báo sau: Var hoten : String;

Phát biểu nào dưới đây là đúng ?

Xem đáp án

Trong mô tả xâu có thể bỏ qua phần khai báo độ dài, khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm định là 255.

Đáp án: C

Câu 16: Trắc nghiệm ID: 276145

Thủ tục chuẩn Insert(S1,S2,vt) thực hiện:

Xem đáp án

Thủ tục chuẩn Insert(S1,S2,vt) thực hiện chèn xâu S1 vào S2 bắt đầu từ vị trí vt. 

Đáp án: A

Câu 17: Trắc nghiệm ID: 276146

Đ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.

Xem đáp án

Hàm Length(s) là hàm cho biết độ dài của xâu s (số kí tự có trong xâu bao gồm cả dấu cách, dấu -, các dấu đặc biệt).

+ Xâu ‘tinhoc ’ có 7 kí tự nên kết quả chương trình là 7.

Đáp án: B

Câu 18: Trắc nghiệm ID: 276147

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]) ;

Xem đáp án

Đoạn chương trình trên dùng để in từng kí tự ra màn hình theo thứ tự ngược, sử dụng vòng lặp chạy từ kí tự cuối về kí tự đầu. Mỗi lần chạy in ra một kí tự.

Câu 19: Trắc nghiệm ID: 276148

Trong ngôn ngữ lập trình Pascal, xâu kí tự không có kí tự nào gọi là ?

Xem đáp án

Trong ngôn ngữ lập trình Pascal, xâu kí tự không có kí tự nào gọi là xâu rỗng

Đáp án: B

Câu 20: Trắc nghiệm ID: 276149

Trong Turbo Pascal, đang ở cửa sổ chương trình nguồn muốn xem lại màn hình Output:

Xem đáp án

Trong Turbo Pascal, đang ở cửa sổ chương trình nguồn muốn xem lại màn hình Output ta nhấn tổ hợp phím Alt + F5.

Đáp án: A

Câu 21: Trắc nghiệm ID: 276150

Để 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

Xem đáp án

Hình vuông có cạnh A với giá trị nguyên→ kiểu nguyên (integer, longint, byte, word). Vì nằm trong phạm vi từ 10 đến 100 nên để tốn ít bộ nhớ nhất ta chọn kiểu word (0 đến 65535).

Đáp án: D

Câu 22: Trắc nghiệm ID: 276151

Trong Turbo Pascal, để đóng cửa sổ chương trình:

Xem đáp án

Trong Turbo Pascal, để đóng cửa sổ chương trình nhấn tổ hợp phím Alt + F3. Để thoát khỏi phần mềm ta nhấn tổ hợp Alt + X.

Đáp án: B

Câu 23: Trắc nghiệm ID: 276152

Cấu trúc của chương trình được mô tả như sau :

Xem đáp án

Cấu trúc của chương trình như sau :

    [<phần khai báo>]

          <phần thân>                 

Trong đó:

+ Phần khai báo có thể có hoặc không.

+ Phân thân bắt buộc phải có và được bao bởi cặp Begin và End.

Đáp án: A

Câu 24: Trắc nghiệm ID: 276153

Câu lệnh xóa màn hình trong thư viện CRT có dạng :

Xem đáp án

Trong pascal, sau khi khai báo thư viện CRT, ta dùng lệnh Clrscr; để xóa màn hình.

Đáp án: C

Câu 25: Trắc nghiệm ID: 276154

 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?

Xem đáp án

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 1 được thực hiện khi điều kiện là đúng, câu lệnh 2 được thực hiện khi biểu thức điều kiện sai.

Đáp án: C

Câu 26: Trắc nghiệm ID: 276155

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…?

Xem đáp án

Câu lệnh rẽ nhánh if…then…else…Nếu sau else muốn thực hiện nhiều câu lệnh (câu lệnh ghép) thì các câu lệnh phải đặt giữa Begin  và  End;

Đáp án: C

Câu 27: Trắc nghiệm ID: 276156

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 ?

Xem đáp án

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 như sau:

If (A > 0) and (B > 0) and (C > 0) then ……

Đáp án: B

Câu 28: Trắc nghiệm ID: 276157

Để khai báo số phần tử của mảng trong PASCAL, người lập trình cần:

Xem đáp án

Để khai báo số phần tử của mảng trong PASCAL ( kiểu chỉ số), người lập trình cần khai báo chỉ số bắt đầu và kết thúc của mảng. Kiểu chỉ số thường là một đoạn số nguyên liên tục có dạng n1..n2 với n1, n2 là các hằng hoặc biểu thức nguyên xác định chỉ số đầu và cuối (n1 ≤ n2).

Đáp án:  B 

Câu 29: Trắc nghiệm ID: 276158

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?

Xem đáp án

Ý nghĩa của câu lệnh

Var a : array[0..50] of real ; {khai báo mảng a}

k := 0 ; {gán chỉ số 0 cho k}

for i := 1 to 50 do { vòng lặp chạy từ 1 đến 50}

if a[i] > a[k] then k := i ; { kiểm tra từ phần tử thứ 2 đến phần tử 50 so sánh với phần tử đầu và đưa ra chỉ số lớn nhât}

Đáp án:C

Câu 30: Trắc nghiệm ID: 276159

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?

Xem đáp án

Tham chiếu (truy cập) đến một phần tử bất kì trong mảng.

Cú pháp: Tên mảng[chỉ số];

Đáp án: A

Câu 31: Trắc nghiệm ID: 276160

Độ dài tối đa của xâu kí tự trong PASCAL là bao nhiêu?

Xem đáp án

Độ dài tối đa của xâu kí tự trong Pascal là 255 kí tự. Trong mô tả xâu có thể bỏ qua phần khai báo độ dài, khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm định là 255.

Đáp án: B

Câu 32: Trắc nghiệm ID: 276161

Cho khai báo sau: Var hoten : String;  Phát biểu nào dưới đây là đúng ?

Xem đáp án

Trong mô tả xâu có thể bỏ qua phần khai báo độ dài, khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm định là 255.

Đáp án: C

Câu 33: Trắc nghiệm ID: 276162

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]) ;

Xem đáp án

Đoạn chương trình trên dùng để in từng kí tự ra màn hình theo thứ tự ngược, sử dụng vòng lặp chạy từ kí tự cuối về kí tự đầu. Mỗi lần chạy in ra một kí tự.

Câu 34: Trắc nghiệm ID: 276163

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?

Xem đáp án

X:=a/b; thì x phải khai báo kiểu số thực Real vì a có thể chia hết hoặc không chia hết cho b. Còn các kiểu Longint, word, integer là kiểu số nguyên nên  không được.

Đáp án: D

Câu 35: Trắc nghiệm ID: 276164

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;

Xem đáp án

Kiểu Interger bộ nhớ lưu trữ một giá tri là 2 byte → 2 biến x, y cần 2 x 2= 4 byte

Kiểu Real  bộ nhớ lưu trữ một giá tri là 6 byte → 1 biến z cần 1 x 6 = 6 byte

Kiểu char bộ nhớ lưu trữ một giá tri là 1 byte → 1 biến C cần 1 x 1 = 1 byte

Kiểu boolean bộ nhớ lưu trữ một giá tri là 1 byte → 1 biến ok cần 1 x 1 = 1 byte

Vậy cần cấp 6 + 4 + 1 + 1 = 12 byte bộ nhớ cho các biến.

Đáp án: A

Câu 36: Trắc nghiệm ID: 276165

Hãy chọn phương án đúng. Biểu thức: 25 mod 3 + 5 / 2 * 3 có giá trị là?

Xem đáp án

 + Trong Pascal phép Mod là phép chia lấy phần dư, phép (/) là phép chia, (*) là phép nhân trong toán học.

+ Thứ tự thực hiện: Trong ngoặc trước, nếu không có ngoặc thực hiện nhân, chia, lấy phần nguyên (div), lấy phần dư  (mod) thực hiện trước và cộng, trừ thực hiện sau.

Vậy giá trị của biểu thức là :

25 mod 3 + 5 / 2 * 3 = 1 + 2.5 x 3= 1+ 7.5 = 8.5

Đáp án: D

Câu 37: Trắc nghiệm ID: 276166

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?

Xem đáp án

Ta có : a mod 3 = 0→ phần dư bằng 0 → a chia hết cho 3

           a mod 4 = 0 → Phần dư bằng 0 → a chia hết cho 4

⇒ a chia hết cho 12

Đáp án: A

Câu 38: Trắc nghiệm ID: 276167

Trong Pascal, phép toán MOD với số nguyên có tác dụng gì ?

Xem đáp án

Trong Pascal, phép toán MOD với số nguyên có tác dụng chia lấy phần dư còn phép toán DIV với số nguyên có tác dụng chia lấy phần nguyên.

Đáp án: B

Câu 39: Trắc nghiệm ID: 276168

Biểu diễn biểu thức \((a + b) + \frac{{\sqrt {{a^2} + 2bc} }}{{c - \frac{a}{{a + b}}}}\) trong NNLT Pascal là

Xem đáp án

Thứ tự thực hiện phép toán:

+ Thực hiện trong ngoặc trước;

+ Trong dãy các phép toán không chứa ngoặc thì thực hiện từ trái sang phải, theo thứ tự nhân, chia, chia nguyên, lấy phần dư thực hiện trước và các phép cộng, trừ thực hiện sau.

Đáp án: A

Câu 40: Trắc nghiệm ID: 276169

Lựa chọn câu phát biểu hợp lí nhất?

Xem đáp án

Khai báo hằng thường được sử dụng cho những giá trị xuất hiện nhiều lần trong chương trình và có giá trị không đổi trong chương trình.

Đáp án: C

Bắt đầu thi để xem toàn bộ câu hỏi trong đề

📝 Đề thi liên quan

Xem thêm »
Xem thêm »

❓ Câu hỏi mới nhất

Xem thêm »
Xem thêm »