Đề thi cuối kì 2 Tin học 11 KHMT kết nối tri thức - Mẫu 7991 (Đề số 3)

Đề thi, đề kiểm tra Tin học 11 (Định hướng Khoa học máy tính) kết nối tri thức Cuối kì 2. Cấu trúc đề thi học kì 2 này được biên soạn theo CV 7991, bao gồm: trắc nghiệm nhiều phương án, TN đúng / sai, tự luận, HD chấm điểm, ma trận, đặc tả. Tài liệu tải về là file docx, thầy/cô có thể điều chỉnh được. Hi vọng đề thi này sẽ giúp ích được cho thầy cô.

=> Giáo án tin học 11 theo định hướng khoa học máy tính kết nối tri thức

SỞ GD & ĐT …………………..Chữ kí GT1: ...........................
TRƯỜNG THPT……………….Chữ kí GT2: ...........................

ĐỀ KIỂM TRA HỌC KÌ 2

MÔN: TIN HỌC 11

ĐỊNH HƯỚNG KHOA HỌC MÁY TÍNH – KẾT NỐI TRI THỨC

NĂM HỌC: 2025 – 2026

Họ và tên: ……………………………………   Lớp:  ………………..

Số báo danh: …………………………….……Phòng KT:…………..

Mã phách

Thời gian làm bài: 45 phút (Không kể thời gian phát đề)

Điểm bằng số

 

 

 

 

Điểm bằng chữChữ ký của GK1Chữ ký của GK2Mã phách

 

A. PHẦN TRẮC NGHIỆM (7,0 điểm) 

PHẦN I: TRẮC NGHIỆM NHIỀU PHƯƠNG ÁN LỰA CHỌN (3,0 điểm)

Hãy khoanh tròn vào chữ in hoa trước câu trả lời đúng:

Câu 1: Trong phân tích độ phức tạp thời gian thuật toán, "phép toán tích cực" được hiểu là gì? 

A. Là phép toán luôn được thực hiện ở dòng đầu tiên của chương trình. 

B. Là phép toán không bao giờ lặp lại trong quá trình chạy. 

C. Là phép toán cơ bản được thực hiện nhiều lần nhất và chi phối thời gian chạy của thuật toán.

D. Là lệnh khai báo tên của một biến.

Câu 2: Kí hiệu O-lớn (Ví dụ: kenhhoctap, kenhhoctap) trong tin học được sử dụng nhằm mục đích gì? 

A. Biểu diễn số lượng phần tử tối đa mà một mảng có thể chứa. 

B. Biểu diễn giới hạn tiệm cận trên của thời gian chạy khi kích thước dữ liệu đầu vào tăng lên. 

C. Đo lường mức độ tiêu thụ điện năng của thuật toán trên CPU. 

D. Xác định chính xác số giây mà thuật toán cần để chạy xong.

Câu 3: …………………………………………..

…………………………………………..

…………………………………………..
 

Câu 6: Việc "trì hoãn" viết các mã lệnh chi tiết trong những bước phân rã đầu tiên của phương pháp làm mịn dần mang lại lợi ích gì?

A. Giúp người lập trình không bị sa đà vào các tiểu tiết kĩ thuật, có thể tập trung thiết kế cấu trúc và logic tổng thể.

B. Giúp chương trình không tốn dung lượng ổ cứng để lưu trữ mã lệnh.

C. Đảm bảo chương trình chạy mượt mà ngay cả khi chưa có dữ liệu.

D. Giúp phần mềm tự động sửa lỗi cú pháp.

Câu 7: Trong ngôn ngữ lập trình Python, mô đun (module) thường được lưu trữ dưới định dạng nào?

A. Một tệp tin có phần mở rộng là .docx.

B. Một tệp tin chứa mã nguồn với phần mở rộng là .py.

C. Một hình ảnh đồ họa có đuôi .png.

D. Một tệp siêu dữ liệu .xml.

Câu 8: Ưu điểm nổi bật nhất khi phân rã một phần mềm lớn thành các mô đun độc lập là gì?

A. Làm cho số lượng dòng code của chương trình dài hơn.

B. Tăng tính bảo mật, ngăn không cho hệ điều hành đọc mã nguồn.

C. Máy tính không cần sử dụng bộ nhớ RAM khi chạy.

D. Tạo khả năng tái sử dụng mã nguồn và chia sẻ công việc cho nhiều lập trình viên dễ dàng.

Câu 9: Để đảm bảo tính độc lập cao giữa các mô đun trong chương trình, người lập trình nên giao tiếp dữ liệu theo nguyên tắc nào?

A. Truyền dữ liệu thông qua tham số (parameters) của hàm và nhận kết quả thông qua giá trị trả về (return).

B. Khai báo chung một lượng lớn các biến toàn cục (global) để mọi mô đun tự động truy cập.

C. Ghi tất cả dữ liệu ra ổ cứng để mô đun khác vào tìm đọc.

D. Không cho phép các mô đun trao đổi bất kì dữ liệu nào.

Câu 10: Câu lệnh nào sau đây dùng để nạp một thư viện có tên là my_lib vào trong một chương trình Python?

A. import my_lib

B. include my_lib

C. use my_lib

D. load my_lib

Câu 11: Trong cấu trúc Danh sách liên kết đơn (Singly Linked List), mỗi phần tử (gọi là Node) bao gồm 2 phần cơ bản nào?

A. Tên phần tử và giá trị khởi tạo.

B. Dữ liệu (Data) và Con trỏ liên kết (Next/Link) trỏ tới nút kế tiếp.

C. Chỉ số vị trí (Index) và dữ liệu.

D. Địa chỉ vùng nhớ trước và địa chỉ vùng nhớ sau.

Câu 12: Trong danh sách liên kết đơn, dấu hiệu để nhận biết một phần tử là phần tử đứng cuối cùng của danh sách là gì?

A. Dữ liệu (Data) của phần tử đó mang giá trị là 0.

B. Con trỏ liên kết (next) của phần tử đó trỏ ngược về phần tử đầu tiên.

C. Tên của phần tử đó được viết hoa toàn bộ.

D. Con trỏ liên kết (next) của phần tử đó mang giá trị là None (hoặc Null).

PHẦN II. CÂU TRẮC NGHIỆM ĐÚNG SAI (4,0 điểm)

Trong mỗi câu, học sinh chọn Đúng hoặc Sai cho từng ý a, b, c, d.

Câu 1: Cho đoạn chương trình Python với kenhhoctap là số nguyên dương nhập từ bàn phím:

kenhhoctap

a) Kích thước dữ liệu đầu vào của bài toán trên là kenhhoctap.

b) Lệnh x = x + 1 được xem là phép toán tích cực trong thuật toán này.

c) Phép toán tích cực trong đoạn mã trên được thực hiện tổng cộng kenhhoctap lần.

d) Mặc dù có hai vòng lặp lồng nhau, độ phức tạp thời gian của đoạn mã trên vẫn là kenhhoctap.

Câu 2: Áp dụng thiết kế phần mềm "Tính lương nhân viên" theo phương pháp làm mịn dần:

a) Phương pháp này sẽ ưu tiên thực hiện phân rã việc "Tính lương" thành các công việc như: "Nhập dữ liệu", "Xử lí tính toán lương", "In bảng lương".

b) Áp dụng làm mịn dần sẽ giúp tự động giảm bớt số dòng lệnh của toàn bộ chương trình một cách đáng kể.

c) Quá trình chia nhỏ các bài toán con sẽ dừng lại ngay khi chúng ta phân rã được 3 công việc ở bước đầu tiên.

d) Phương pháp này mang tính chất Top-down, nghĩa là đi từ cái chung tổng quát nhất cho đến những chi tiết mã lệnh cụ thể nhất.

Câu 3:…………………………………………..

…………………………………………..

…………………………………………..
 

Câu 4: Về đặc điểm lưu trữ và cấp phát bộ nhớ của cấu trúc dữ liệu:

a) Cấu trúc mảng/danh sách (List) mặc định trong Python quản lí các phần tử trong một khối bộ nhớ liên tục.

b) Giống như mảng (List), các phần tử của Danh sách liên kết bắt buộc phải nằm ở các ô nhớ liền kề (sát cạnh) nhau.

c) Để thêm một phần tử vào ngay vị trí đầu tiên của Danh sách liên kết đơn, ta chỉ cần thay đổi liên kết của con trỏ, không cần dịch chuyển các phần tử khác.

d) Lập trình viên có thể đóng gói các lớp đối tượng (như class Node và LinkedList) vào một tệp ds_lien_ket.py và dùng lệnh import để tái sử dụng chúng như một thư viện.

B. PHẦN TỰ LUẬN (3,0 điểm)

Câu 1 (1,0 điểm): Cho đoạn mã Python sau dùng để đếm số lượng các số lẻ có mặt trong một danh sách mảng số nguyên A (có kích thước kenhhoctap phần tử):

kenhhoctap

a) Xác định phép toán tích cực trong đoạn mã trên. 

b) Tính số lần thực hiện phép toán tích cực đó theo kenhhoctap. Từ đó, viết kí hiệu kenhhoctap-lớn biểu diễn độ phức tạp thời gian thuật toán của chương trình.

Câu 2 (1,0 điểm): Một nhóm phát triển đang xây dựng phần mềm "Quản lí Quán Cafe". Vận dụng tư duy chia để trị trong thiết kế mô đun, em hãy thiết kế và đặt tên cho ít nhất 3 mô đun (hàm) độc lập cần thiết cho phần mềm này, kèm theo phần mô tả ngắn gọn chức năng mà mỗi mô đun đó sẽ đảm nhận. (Không yêu cầu viết code chi tiết).

Câu 3 (1,0 điểm): …………………………………………..

…………………………………………..

…………………………………………..
 

BÀI LÀM

…………………………………………..

…………………………………………..

…………………………………………..

 

TRƯỜNG THPT ........

HƯỚNG DẪN CHẤM KIỂM TRA HỌC KÌ 2 (2025 – 2026)

MÔN: TIN HỌC 11 – ĐỊNH HƯỚNG KHOA HỌC MÁY TÍNH – KẾT NỐI TRI THỨC

…………………………………………..

…………………………………………..

…………………………………………..
 

TRƯỜNG THPT.........

MA TRẬN ĐỀ KIỂM TRA HỌC KÌ 2 (2025 – 2026)

MÔN: TIN HỌC 11 – ĐỊNH HƯỚNG KHOA HỌC MÁY TÍNH – KẾT NỐI TRI THỨC

…………………………………………..

…………………………………………..

…………………………………………..
 

TRƯỜNG THPT.........

BẢNG ĐẶC TẢ ĐỀ KIỂM TRA HỌC KÌ 2 (2025 – 2026)

MÔN: TIN HỌC 11 – ĐỊNH HƯỚNG KHOA HỌC MÁY TÍNH – KẾT NỐI TRI THỨC

TTChủ đềNội dung/ Đơn vị kiến thứcYêu cầu cần đạtSố câu hỏi ở các mức độ đánh giá 
TNKQTự luận
Nhiều lựa chọnĐúng - Sai 
BiếtHiểuVận dụngBiếtHiểuVận dụngBiếtHiểuVận dụng
1Chủ đề 6Đánh giá độ phức tạp thời gian thuật toán. Thực hành xác định độ phức tạp thời gian thuật toán

Biết: 

- Khái niệm phép toán tích cực; Nhận biết kí hiệu O-lớn.

Hiểu: 

- Đánh giá được độ phức tạp của một vòng lặp đơn giản.

- Phân tích đoạn mã vòng lặp lồng nhau, xác định phép toán tích cực và độ phức tạp.

Vận dụng: 

- Cho một đoạn mã hoàn chỉnh, yêu cầu học sinh chỉ ra phép toán tích cực, đếm số lần lặp và biểu diễn bằng kí hiệu O-lớn.

C1

C2

C3 

C1a

C1b

C1c

C1d

   C1
2Phương pháp làm mịn dần trong thiết kế chương trình. Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Biết: 

- Nhận biết khái niệm thiết kế từ trên xuống (Top-down); Nguyên tắc của phương pháp làm mịn dần.

Hiểu: 

- Nhận ra lợi ích của phương pháp này trong việc che giấu chi tiết.

- Phân tích các bước tiến hành làm mịn dần cho một bài toán và nhận định tính đúng/sai của quy trình.

C4

C5

C6 

C2a

C2b

C2c

C2d

    
3Thiết kế chương trình theo mô đun. Thực hành thiết kế chương trình theo mô đun

Biết: 

- Nêu khái niệm mô đun trong lập trình; Lợi ích của thiết kế mô đun.

Hiểu: 

- Xác định tính độc lập của các mô đun trong chương trình.

- Đánh giá đặc tính, ưu điểm và cách tương tác giữa các mô đun.

Vận dụng: 

- Áp dụng tư duy thiết kế mô đun phân rã một bài toán quản lí thực tế thành các hàm/mô đun hợp lí.

C7

C8

C9 

C3a

C3b

C3c

C3d

   C2
4Thiết lập thư viện cho chương trình. Thực hành thiết lập thư viện chương trình

Biết: 

- Khái niệm thư viện tự tạo; Các thành phần của một Node trong danh sách liên kết.

Hiểu: 

- Cú pháp sử dụng thư viện (import); Cách con trỏ hoạt động trong DS liên kết đơn.

- Phân tích sự khác biệt giữa DS liên kết và danh sách (list) thông thường, nguyên lí của thư viện.

Vận dụng: 

- Viết mã lệnh Python định nghĩa cấu trúc Nút (Node) của danh sách liên kết đơn.

C10

C11

C12 

C4a

C4b

C4c

C4d

   C3

Thông tin tải tài liệu:

Phía trên chỉ là 1 phần, tài liệu khi tải sẽ có đầy đủ. Xem và tải: Đề thi tin học 11 định hướng khoa học máy tính kết nối tri thức - Tại đây

Tài liệu khác

Tài liệu của bạn

Tài liệu mới cập nhật

Tài liệu môn khác

Chat hỗ trợ
Chat ngay