Đề thi cuối kì 2 Tin học 11 KHMT kết nối tri thức - Mẫu 7991 (Đề số 5)
Đề 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 GK1 | Chữ ký của GK2 | Mã 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: Mục đích chính của việc đánh giá độ phức tạp thời gian thuật toán là gì?
A. Để biết chương trình chiếm bao nhiêu dung lượng ổ cứng.
B. Để ước lượng thời gian chạy của thuật toán khi kích thước dữ liệu đầu vào tăng lên.
C. Để tìm và sửa lỗi cú pháp trong mã nguồn.
D. Để làm cho mã nguồn chương trình ngắn gọn hơn.
Câu 2: Trong phân tích thuật toán, kí hiệu
-lớn (Ví dụ:
,
) dùng để thể hiện điều gì?
A. Giới hạn tiệm cận trên của thời gian thực thi (trường hợp xấu nhất).
B. Số lượng dòng code tối đa của chương trình.
C. Tốc độ xung nhịp của CPU máy tính.
D. Số lượng hàm được sử dụng trong chương trình.
Câu 3: Một thuật toán được đánh giá có độ phức tạp thời gian là
. Điều này có ý nghĩa gì?
A. Thuật toán chỉ mất đúng 1 giây để chạy.
B. Thuật toán chỉ được sử dụng 1 biến duy nhất.
C. Thời gian thực thi của thuật toán là hằng số, không phụ thuộc vào kích thước dữ liệu đầu vào.
D. Thuật toán chỉ lặp đúng 1 lần.
Câu 4: Phương pháp thiết kế chương trình "làm mịn dần" (Stepwise refinement) tuân theo chiến lược tiếp cận nào?
A. Từ dưới lên (Bottom-up).
B. Từ trong ra ngoài.
C. Từ trên xuống (Top-down).
D. Lập trình ngẫu nhiên.
Câu 5: …………………………………………..
…………………………………………..
…………………………………………..
Câu 8: Lợi ích lớn nhất của việc chia chương trình thành nhiều mô đun là gì?
A. Giúp máy tính chạy mát hơn.
B. Dễ dàng quản lí, gỡ lỗi và có thể tái sử dụng mã nguồn cho các dự án khác.
C. Tăng dung lượng bộ nhớ RAM của máy tính.
D. Đảm bảo chương trình không bao giờ bị hacker tấn công.
Câu 9: Để đảm bảo tính độc lập và dễ tái sử dụng, các mô đun nên trao đổi dữ liệu với nhau chủ yếu thông qua cách nào?
A. Sử dụng chung rất nhiều biến toàn cục (global).
B. Truyền dữ liệu qua các tham số của hàm và nhận lại qua giá trị trả về (return).
C. Đọc và ghi chung vào một file nháp trên ổ cứng.
D. Gộp chung tất cả các hàm vào một file duy nhất.
Câu 10: Cú pháp lệnh nào sau đây dùng để nhập toàn bộ các hàm từ một thư viện/mô đun có tên là toan_hoc vào chương trình Python?
A. include toan_hoc
B. require toan_hoc
C. import toan_hoc
D. using toan_hoc
Câu 11: Trong cấu trúc của Danh sách liên kết đơn (Singly Linked List), thuộc tính next (hoặc link) của một nút (Node) dùng để làm gì?
A. Lưu trữ giá trị bằng số của nút đó.
B. Trỏ đến vị trí (địa chỉ) của nút tiếp theo trong danh sách.
C. Trỏ về nút đầu tiên của danh sách.
D. Đếm số lượng phần tử.
Câu 12: Ưu điểm vượt trội của Danh sách liên kết so với kiểu dữ liệu List (Mảng) thông thường trong Python là gì?
A. Thao tác chèn hoặc xóa phần tử ở giữa danh sách diễn ra nhanh chóng mà không cần dịch chuyển các phần tử khác.
B. Truy cập ngẫu nhiên vào một phần tử thông qua chỉ số (index) nhanh hơn.
C. Tốn ít bộ nhớ hơn vì không cần lưu trữ con trỏ.
D. Không cần sử dụng vòng lặp để duyệt qua các phần tử.
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: …………………………………………..
…………………………………………..
…………………………………………..
Câu 2: Khi thiết kế một phần mềm "Quản lí điểm thi", nhóm lập trình quyết định sử dụng phương pháp làm mịn dần:
a) Đầu tiên, bài toán được phát biểu thành một công việc lớn: "Hệ thống quản lí điểm thi".
b) Nhóm ngay lập tức lao vào viết mã lệnh cho phần kết nối cơ sở dữ liệu trước khi xác định các chức năng chính.
c) Bước tiếp theo hợp lí là phân rã công việc lớn thành 3 việc nhỏ: (1) Nhập điểm, (2) Xử lí điểm, (3) In báo cáo.
d) Phương pháp này giúp che giấu đi các chi tiết kĩ thuật phức tạp ở những bước đầu, giúp người thiết kế tập trung vào logic tổng thể của phần mềm.
Câu 3: So sánh giữa lập trình nguyên khối (viết tất cả trong một file) và lập trình theo mô đun:
a) Lập trình nguyên khối dễ quản lí hơn lập trình mô đun khi dự án phần mềm có quy mô rất lớn (hàng chục ngàn dòng code).
b) Mỗi mô đun thường đảm nhận một chức năng cụ thể và độc lập tương đối với các mô đun khác.
c) Trong làm việc nhóm, thiết kế mô đun cho phép nhiều lập trình viên có thể viết code song song cùng lúc trên các chức năng khác nhau.
d) Việc kiểm thử (test) và tìm lỗi trên một hệ thống thiết kế theo mô đun thường nhanh chóng và khoanh vùng dễ dàng hơn lập trình nguyên khối.
Câu 4: Phân tích về thư viện và cấu trúc lưu trữ dữ liệu:
a) Việc tự viết một cụm các hàm xử lí văn bản và lưu thành file text_utils.py để dùng lại ở các dự án sau chính là thao tác tạo thư viện.
b) Các phần tử (Node) của danh sách liên kết bắt buộc phải được lưu trữ ở các ô nhớ nằm liền kề nhau trên thanh RAM.
c) Trong danh sách liên kết đơn, con trỏ next của phần tử cuối cùng luôn có giá trị là None.
d) Để duyệt từ đầu đến cuối một danh sách liên kết đơn, ta dùng một biến con trỏ tạm thời nhảy lần lượt qua các thuộc tính next cho đến khi gặp None.
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ố dương có trong một danh sách M gồm
phần tử (
):

a) Chỉ ra phép toán tích cực trong đoạn mã trên.
b) Phép toán đó được thực hiện lặp lại bao nhiêu lần? Từ đó, biểu diễn độ phức tạp thời gian của thuật toán bằng kí hiệu
-lớn.
Câu 2 (1,0 điểm): …………………………………………..
…………………………………………..
…………………………………………..
Câu 3 (1,0 điểm): Em hãy viết hàm xoá node đầu tiên của danh sách không rỗng L và hàm tìm kiếm phần tử có khoá k trong danh sách L.
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
| TT | Chủ đề | Nội dung/ Đơn vị kiến thức | Mức độ đánh giá | Tổng | Tỉ lệ % điểm | ||||||||||
| TNKQ | Tự luận | ||||||||||||||
| Nhiều lựa chọn | Đúng - Sai | ||||||||||||||
| Biết | Hiểu | Vận dụng | Biết | Hiểu | Vận dụng | Biết | Hiểu | Vận dụng | Biết | Hiểu | Vận dụng | ||||
| 1 | Chủ đề 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 | 2 | 1 | 2 | 2 | 1 | 1,0 | 0,75 | 1,0 | 27,5% | ||||
| 2 | Phươ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 | 2 | 1 | 2 | 2 | 1,0 | 0,75 | 17,5% | |||||||
| 3 | Thiết kế chương trình theo mô đun. Thực hành thiết kế chương trình theo mô đun | 2 | 1 | 2 | 2 | 1 | 1,0 | 0,75 | 1,0 | 27,5% | |||||
| 4 | Thiế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 | 2 | 1 | 2 | 2 | 1 | 1,0 | 0,75 | 1,0 | 27,5% | |||||
| Tổng số câu | 8 | 4 | 0 | 8 | 8 | 0 | 0 | 0 | 3 | 16 TN | 12 TN | 3 TL | 28 TN 3 TL | ||
| Tổng số điểm | 3,0 | 4,0 | 3,0 | 4,0 | 3,0 | 3,0 | 10 | ||||||||
| Tỉ lệ % | 30% | 40% | 30% | 40% | 30% | 30% | 100% | ||||||||
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
| TT | Chủ đề | Nội dung/ Đơn vị kiến thức | Yêu cầu cần đạt | Số câu hỏi ở các mức độ đánh giá | ||||||||
| TNKQ | Tự luận | |||||||||||
| Nhiều lựa chọn | Đúng - Sai | |||||||||||
| Biết | Hiểu | Vận dụng | Biết | Hiểu | Vận dụng | Biết | Hiểu | Vận dụng | ||||
| 1 | Chủ đề 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 | ||||
| 2 | Phươ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 | ||||||
| 3 | Thiế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 | |||||
| 4 | Thiế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 | |||||