Đề 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
Ngôn ngữ lập trình là ngôn ngữ
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
Ngôn ngữ lập trình bậc cao là ngôn ngữ
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
Phát biểu nào không đúng trong các phát biểu dưới đây?
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
Phát biểu nào dưới đây là đúng nhất khi nói về biế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
Phần thân chương trình bắt đầu bằng ….và kết thúc bằng …?
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ác thành phần của ngôn ngữ lập trình là
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
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?
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
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;
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.
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?
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
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;
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
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?
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
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?
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
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?
+ 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
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?
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
Cho khai báo sau: Var hoten : String;
Phát biểu nào dưới đây là đúng ?
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
Thủ tục chuẩn Insert(S1,S2,vt) thực hiệ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
Đ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.
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
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]) ;
Đ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ự.
Trong ngôn ngữ lập trình Pascal, xâu kí tự không có kí tự nào gọi là ?
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
Trong Turbo Pascal, đang ở cửa sổ chương trình nguồn muốn xem lại màn hình Output:
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
Để 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
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
Trong Turbo Pascal, để đóng cửa sổ chương trình:
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 trúc của chương trình được mô tả như sau :
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 lệnh xóa màn hình trong thư viện CRT có dạng :
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
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?
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
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…?
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
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 ?
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
Để khai báo số phần tử của mảng trong PASCAL, người lập trình cầ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
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?
Ý 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
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?
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
Độ dài tối đa của xâu kí tự trong PASCAL là bao nhiêu?
Độ 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
Cho khai báo sau: Var hoten : String; Phát biểu nào dưới đây là đúng ?
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
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]) ;
Đ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ự.
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?
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
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;
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
Hãy chọn phương án đúng. Biểu thức: 25 mod 3 + 5 / 2 * 3 có giá trị là?
+ 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
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?
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
Trong Pascal, phép toán MOD với số nguyên có tác dụng gì ?
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
Biểu diễn biểu thức \((a + b) + \frac{{\sqrt {{a^2} + 2bc} }}{{c - \frac{a}{{a + b}}}}\) trong NNLT Pascal là
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
Lựa chọn câu phát biểu hợp lí nhất?
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