Đề thi giữa HK2 môn Tin học 11 năm 2022
Trường THPT Nguyễn Thượng Hiền
-
Câu 1:
Trong câu lệnh While – do, điều kiện là:
A. Biểu thức số học
B. Biểu thức quan hệ
C. Hằng đẳng thức
D. Biểu thức logic
-
Câu 2:
Hãy chọn phương án ĐÚNG khi thực hiện thủ tục chuẩn Insert(S1,S2,vt) ?
A. Chèn xâu S1 vào vị trí vt trong xâu S2.
B. Sao chép vào cuối S1 một phần của S2 từ vị trí vt
C. Nối xâu S2 vào S1
D. Chèn xâu S2 vào vị trí vt trong xâu S1.
-
Câu 3:
Cách viết nào sau đây in ra màn hình giá trị của phần tử thứ I của mảng A?
A. Write(A{i});
B. Write(A[i]);
C. Write(A[‘i’]);
D. Write(A(i));
-
Câu 4:
Đoạn chương trình dưới đây thực hiện công việc?
d:= 0;
for i:= 1 to length(S) do
if S[i] = ‘ ’ then d:= d + 1;
A. Xóa đi các dấu cách trong xâu
B. Đếm các kí tự có trong xâu
C. Xóa các kí tự số
D. Đếm số dấu cách có trong xâu
-
Câu 5:
Cú pháp lệnh lặp For – do dạng tiến:
A. for < biến đếm> := < Giá trị đầu > downto < Giá trị cuối > do < câu lệnh>;
B. for < biến đếm> := < Giá trị đầu >to < Giá trị cuối> do < câu lệnh >;
C. for < biến đếm> = < Giá trị cuối >downto < 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 6:
Đoạn chương trình sau giải bài toán nào?
While not (1/(a+N) < 0.0001) do
Begin
N:=N+1;
S:=S+ 1.0/(a+N);
End;
A. Tính tổng
B. Tính tổng
C. Tính tổng các số nhỏ hơn 0,0001
D. Tính tổng các số lớn hơn 0,0001
-
Câu 7:
Cho khai báo mảng:
Var a: array[0..50] of real ;
và đoạn chương trình như sau:
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?
A. Tìm phần tử lớn nhất trong mảng
B. Tìm phần tử nhỏ nhất trong mảng
C. Tìm chỉ số của phần tử nhỏ nhất trong mảng
D. Tìm chỉ số của phần tử lớn nhất trong mảng
-
Câu 8:
Hãy chọn phương án ĐÚNG về mảng một chiều?
A. Chỉ là dãy các số nguyên
B. Mảng không chứa các kí tự là chữ cái
C. Là dãy hữu hạn các phần tử có cùng kiểu dữ liệu
D. không cần khai báo trước số lượng phần tử
-
Câu 9:
Kiểu dữ liệu của biến đếm trong lệnh lặp For – do:
A. Không cần phải xác định kiểu dữ liệu
B. Cùng kiểu với giá trị đầu và giá trị cuối
C. Cùng kiểu với các biến trong câu lệnh
D. Chỉ cần khác kiểu với giá trị đầu
-
Câu 10:
Kết quả của hàm Pos(‘Canh’, ‘nguyen thi canh’)
A. 0
B. 12
C. 3
D. 10
-
Câu 11:
Trong ngôn ngữ lập trình Pascal, khai báo nào dưới đây SAI về biến kiểu xâu?
A. Var St: String[0];
B. Var St: String;
C. Var St: String[10];
D. Var St: String[300];
-
Câu 12:
Trong ngôn ngữ lập trình Pascal, hàm Length(‘Tin hoc 10’) cho kết quả là:
A. 2 {2 kí tự chữ số}
B. 3 {3 từ}
C. 6 {6 kí tự chữ cái}
D. 10 {10 kí tự}
-
Câu 13:
Hãy chọn phương án ĐÚNG về biểu thức điều kiện kiểm tra một phần tử thứ I của mảng A có nằm trong khoảng (-5; 10) (trong ngôn ngữ lập trình Pascal)?
A. (A[i] > -5) and (A[i] < 10)
B. (-5 < A[i] < 10)
C. (A[i] > -5) or (A[i] < 10)
D. (A[i] < -5) and (A[i] >10)
-
Câu 14:
Trong vòng lặp For – do dạng tiến. Giá trị của biến đếm
A. Tự động điều chỉnh
B. Chỉ tăng khi có câu lệnh thay đổi giá trịChỉ tăng khi có câu lệnh thay đổi giá trịv
C. Được giữ nguyên
D. Tự động giảm đi 1
-
Câu 15:
Cách viết nào sau đây tham chiếu đúng phần tử thứ I của mảng A?v
A. A[i]
B. AI
C. Ai
D. A[‘I’]
-
Câu 16:
Phát biểu nào ĐÚNG về kiểu dữ liệu xâu?
A. Là dãy các ký tự số
B. Là dãy các ký tự dấu
C. Là dãy các ký tự chữ
D. Là dãy các ký tự trong bảng mã ASCII
-
Câu 17:
Hãy cho biết đoạn chương trình sau thực hiện công việc?
i: = 1; t:= 1;
while I < 20 do
Begin
t:= t * I;
i:= I + 1;
end;
A. Tính tích các số tự nhiên chẵn nhỏ hơn hoặc bằng 20
B. Tính tích các số tự nhiên chẵn nhỏ hơn 20
C. Tính tích các số tự nhiên nhỏ hơn hoặc bằng 20
D. Tính tích các số tự nhiên nhỏ hơn 20
-
Câu 18:
Câu lệnh nào thực hiện việc in các ký tự trong xâu S theo thứ tự đảo ngược (ví dụ: xâu ‘dcba’ là xâu đảo ngược của xâu ‘abcd’)?
A. For i:= 1 to length(S) do write(S[i]);
B. For i:= 1 to length(S) do writeln(S);
C. For i:= length(S) downto 1 do write(S);
D. For i:= length(S) downto 1 do write(S[i]);v
-
Câu 19:
Kết quả của thủ tục delete(‘Viet Nam 2021!’,5,6) là
A. 'Nam2021’
B. ‘Viet021’
C. ‘Viet2021’
D. ‘Viet Nam’
-
Câu 20:
Khai báo nào dưới đây ĐÚNG về biến kiểu mảng một chiều gồm 100 phần tử số nguyên?
A. Var A : array(1..100) of integer;
B. Var A : array[1..100] of integer;
C. Var A : array[1..100] of integer
D. Var A : array[1...100] of integer;
-
Câu 21:
Cho khai báo sau:
Var a: array[0..50] of real ; và đoạn chương trình như sau:
s:= 0;
for i:= 0 to 50 do
s:= s + a[i];
Đoạn chương trình trên thực hiện công việc?
A. Tính tích các phần tử trong mảng;
B. Tính hiệu các phần tử trong mảng;
C. Tính tổng các phần tử trong mảng;
D. Tính thương các phần tử trong mảng;
-
Câu 22:
Hãy chọn phương án ghép đúng. Tệp văn bản
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 23:
Hãy chọn phương án ghép đúng. Tệp có cấu trúc
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 24:
Hãy chọn phương án ghép đúng. Tệp truy cập tuần tự
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 25:
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 26:
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 27:
Để có thể thao tác với tệp dữ liệu trên đĩa thông qua biến tệp cho trước thì bước đầu tiên chúng ta phải làm gì?
A. Gắn tên tệp cho biến tệp
B. Mở tệp để ghi dữ liệu vào tệp
C. Mở tệp để đọc dữ liệu từ tệp
D. Đóng tệp
-
Câu 28:
Hàm eof() 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 đầu tệp
C. Khi con trỏ tệp đang chỉ tới cuối dòng
D. Khi con trỏ tệp đang chỉ tới đầu dòng
-
Câu 29:
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 30:
Đ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 31:
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 32:
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 33:
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 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:
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 36:
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 37:
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 38:
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 39:
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 40:
Hàm cho giá trị bằng bình phương của x là :
A. Sqrt(x);
B. Sqr(x);
C. Abs(x);
D. Exp(x);