Bài tập trắc nghiệm Tin học 11 Khoa học máy tính Kết nối tri thức – Bài 28 giúp học sinh hiểu cách chia chương trình thành các mô đun có chức năng rõ ràng và tương tác thông qua giao diện xác định. Bài 28: Thiết kế chương trình theo mô đun thuộc sách Kết nối tri thức trình bày mô đun như một thành phần tương đối độc lập, đảm nhiệm một nhóm công việc và có thể được phát triển, kiểm thử riêng. Học sinh sẽ tìm hiểu nguyên tắc kết dính cao, ghép nối thấp, cách xác định dữ liệu vào, kết quả ra và trách nhiệm của từng mô đun. Nội dung Tin học 11 Kết nối tri thức còn hướng dẫn tổ chức hàm, tái sử dụng mã, che giấu chi tiết cài đặt và phối hợp các thành phần để tạo chương trình hoàn chỉnh. Qua việc phân tích một bài toán lớn, người học biết xây dựng sơ đồ mô đun, phân chia nhiệm vụ hợp lí và giảm sự phụ thuộc không cần thiết. Phương pháp này giúp chương trình dễ đọc, dễ bảo trì, thuận lợi khi kiểm thử và hỗ trợ làm việc nhóm hiệu quả.
Tại dethitracnghiem, Bài tập trắc nghiệm Tin học 11 Khoa học máy tính Kết nối tri thức – Bài 28 được cập nhật theo năm học 2026–2027 cùng hệ thống dạng đề mới nhất. Kho bài tập trắc nghiệm lớp 11 kiểm tra khái niệm mô đun, giao diện, tính kết dính, mức ghép nối, khả năng tái sử dụng và phương pháp phân chia chức năng. Các đề thi, bài tập trực tuyến giúp học sinh ôn thi dễ dàng, luyện đọc sơ đồ thiết kế, xác định trách nhiệm của từng thành phần và lựa chọn cấu trúc chương trình phù hợp. Nội dung được cập nhật thường xuyên, bám sát định hướng đánh giá năng lực thiết kế, tư duy hệ thống và giải quyết vấn đề bằng lập trình. Quy trình chấm điểm nhanh gọn, hoàn toàn miễn phí, cung cấp kết quả ngay sau mỗi lượt luyện. Đáp án kèm lời giải chi tiết phân tích mối quan hệ giữa các mô đun, giải thích ưu điểm của từng cách tổ chức và giúp người học phát hiện những thiết kế phụ thuộc quá chặt chẽ.
ĐỀ THI
Câu 1: Mô đun chương trình được hiểu là gì?
A. Thành phần đảm nhận một nhiệm vụ tương đối độc lập.
B. Một thiết bị lưu trữ mã nguồn.
C. Một bộ dữ liệu dùng để kiểm thử.
D. Một câu lệnh nhập từ bàn phím.
Câu 2: Trong Python, mô đun chức năng thường được cài đặt bằng gì?
A. Một hằng số.
B. Một hàm.
C. Một biểu thức.
D. Một chú thích.
Câu 3: Thiết kế theo mô đun nhằm mục đích nào?
A. Ghép mọi nhiệm vụ vào một khối duy nhất.
B. Loại bỏ toàn bộ lời gọi hàm.
C. Làm cho mã nguồn dài hơn.
D. Chia chương trình thành các phần có chức năng rõ.
Câu 4: Chương trình chính trong thiết kế mô đun có vai trò gì?
A. Chứa chi tiết của mọi thuật toán thành phần.
B. Lưu toàn bộ dữ liệu trong một biến.
C. Điều phối việc gọi các mô đun chức năng.
D. Thay thế mọi hàm trong chương trình.
Câu 5: Lợi ích nào của thiết kế theo mô đun?
A. Dễ đọc, kiểm thử, bảo trì và tái sử dụng.
B. Không cần xác định đầu vào và đầu ra.
C. Bảo đảm chương trình không bao giờ có lỗi.
D. Làm mọi thuật toán có độ phức tạp O(1).
Câu 6: Một mô đun tốt nên đảm nhận bao nhiêu nhóm nhiệm vụ chính?
A. Mọi nhiệm vụ của toàn chương trình.
B. Nhiều nhiệm vụ hoàn toàn không liên quan.
C. Một chức năng rõ ràng và tương đối độc lập.
D. Không cần thực hiện nhiệm vụ cụ thể.
Câu 7: Tham số của hàm được dùng để làm gì?
A. Lưu tên tệp chứa chương trình.
B. Truyền dữ liệu cần thiết vào mô đun.
C. Xác định màu của giao diện.
D. Đếm số hàm trong chương trình.
Câu 8: Giá trị trả về của hàm có vai trò nào?
A. Thay đổi tên của chương trình chính.
B. Khai báo tất cả biến toàn cục.
C. Xóa dữ liệu đầu vào sau khi xử lí.
D. Chuyển kết quả từ mô đun cho nơi gọi.
Câu 9: Vì sao nên hạn chế sử dụng quá nhiều biến toàn cục?
A. Biến toàn cục không thể chứa dữ liệu số.
B. Dễ tạo phụ thuộc và gây lỗi ngoài ý muốn.
C. Python không cho phép khai báo biến toàn cục.
D. Biến toàn cục luôn bị xóa khi gọi hàm.
Câu 10: Phạm vi của biến cục bộ thường nằm ở đâu?
A. Bên trong hàm khai báo biến đó.
B. Trong tất cả các tệp trên máy.
C. Trong toàn bộ hệ điều hành.
D. Trong mọi chương trình đang chạy.
Câu 11: Hai mô đun liên kết quá chặt có hạn chế gì?
A. Luôn làm chương trình chạy nhanh hơn.
B. Không thể nhận tham số đầu vào.
C. Không thể chứa câu lệnh điều kiện.
D. Thay đổi một mô đun dễ ảnh hưởng mô đun khác.
Câu 12: Mức liên kết lỏng giữa các mô đun có lợi ích nào?
A. Mọi mô đun phải dùng chung toàn bộ dữ liệu.
B. Không mô đun nào được trả về kết quả.
C. Dễ sửa đổi từng phần mà ít ảnh hưởng phần khác.
D. Chương trình chính không cần gọi mô đun.
Câu 13: Tính gắn kết cao của mô đun có nghĩa là gì?
A. Các công việc trong mô đun cùng phục vụ một chức năng.
B. Mô đun phụ thuộc vào nhiều biến toàn cục.
C. Mô đun thực hiện nhiều nhiệm vụ không liên quan.
D. Mô đun gọi mọi hàm khác trong chương trình.
Câu 14: Để mô đun dễ tái sử dụng, nên thiết kế thế nào?
A. Phụ thuộc chặt vào dữ liệu toàn cục.
B. Có giao diện vào-ra rõ ràng và tổng quát.
C. Chỉ sử dụng được trong chương trình hiện tại.
D. Chứa trực tiếp mọi lệnh nhập và xuất.
Câu 15: Hàm tính tổng danh sách nên nhận dữ liệu nào?
A. Tên của chương trình chính.
B. Số lượng mô đun đang hoạt động.
C. Danh sách các giá trị cần tính tổng.
D. Kết quả đã được tính từ trước.
Câu 16: Hàm kiểm tra số nguyên tố nên trả về kiểu dữ liệu nào?
A. Chuỗi chứa tên chương trình.
B. Danh sách tất cả số đã kiểm tra.
C. Tệp chứa mã nguồn của hàm.
D. Giá trị logic đúng hoặc sai.
Câu 17: Mô đun nhập dữ liệu nên chịu trách nhiệm nào?
A. Nhận và kiểm tra dữ liệu đầu vào cần thiết.
B. Thực hiện mọi phép xử lí của chương trình.
C. Cài đặt hệ điều hành cho máy tính.
D. Sửa tất cả dữ liệu đã được lưu.
Câu 18: Mô đun xử lí không nên phụ thuộc trực tiếp quá nhiều vào điều gì?
A. Tham số được truyền qua lời gọi.
B. Biến toàn cục và thao tác giao diện.
C. Giá trị trả về của chính mô đun.
D. Thuật toán được mô đun thực hiện.
Câu 19: Mô đun xuất kết quả thường nhận dữ liệu nào?
A. Dữ liệu thô chưa được xử lí.
B. Mật khẩu của người sử dụng.
C. Toàn bộ biến cục bộ của hàm khác.
D. Kết quả cần trình bày cho người dùng.
Câu 20: Khi kiểm thử một mô đun độc lập, cần chú ý điều gì?
A. Màu nền của toàn bộ chương trình.
B. Số lượng tệp trong thư mục.
C. Đầu vào, kết quả và các trường hợp biên.
D. Tên của người viết chương trình.
Câu 21: Thiết kế mô đun giúp chia việc trong nhóm như thế nào?
A. Mọi người cùng sửa một hàm duy nhất.
B. Mỗi người có thể phát triển một phần xác định.
C. Chỉ trưởng nhóm được viết mã nguồn.
D. Không cần thống nhất giao diện giữa các phần.
Câu 22: Trước khi các thành viên viết từng mô đun, nhóm cần thống nhất gì?
A. Chức năng, tham số và kết quả của mô đun.
B. Màu sắc của trình soạn thảo mã.
C. Loại bàn phím của từng thành viên.
D. Thời điểm mỗi người bật máy tính.
Câu 23: Khi ghép các mô đun đã kiểm thử riêng, cần thực hiện gì?
A. Xóa các ca kiểm thử cũ.
B. Đổi tên mọi hàm thành cùng một tên.
C. Chuyển tất cả biến thành biến toàn cục.
D. Kiểm thử tích hợp giữa các mô đun.
Câu 24: Mô đun A gọi mô đun B nhưng truyền sai kiểu dữ liệu. Đây là lỗi gì?
A. Lỗi thiết bị lưu trữ.
B. Lỗi định dạng văn bản.
C. Lỗi giao tiếp giữa các mô đun.
D. Lỗi kết nối mạng Internet.
Câu 25: Chương trình quản lí danh sách có thể chia thành các mô đun nào?
A. Nhập, xử lí, lưu và xuất dữ liệu.
B. Mở máy, tắt máy, đổi nền và in.
C. Tạo mạng, cấp IP, truyền và ngắt mạng.
D. Cài đặt, nén tệp, xóa tệp và khởi động.
Câu 26: Khi nhiều phần cùng cần sắp xếp dữ liệu, giải pháp phù hợp là gì?
A. Viết lại thuật toán trong từng phần.
B. Dùng một biến toàn cục chứa kết quả.
C. Bỏ chức năng sắp xếp ở các phần khác.
D. Tạo một mô đun sắp xếp dùng chung.
Câu 27: Hàm `def tinh_tong(A): return sum(A)` có giao diện nào?
A. Không có đầu vào và không có đầu ra.
B. Nhận danh sách A và trả về tổng.
C. Nhận tổng và trả về danh sách A.
D. Nhận chỉ số và không trả kết quả.
Câu 28: Vì sao chương trình chính nên ngắn gọn?
A. Vì không được phép chứa lời gọi hàm.
B. Vì chỉ được thực hiện một câu lệnh.
C. Để thể hiện rõ luồng xử lí tổng thể.
D. Để không cần sử dụng dữ liệu đầu vào.
Câu 29: Một hàm vừa nhập dữ liệu, sắp xếp, in báo cáo và gửi email. Cải tiến nào phù hợp?
A. Tách thành các mô đun theo từng chức năng.
B. Thêm nhiều biến toàn cục vào hàm.
C. Đổi toàn bộ tham số thành hằng số.
D. Sao chép hàm thành nhiều bản giống nhau.
Câu 30: Nhận định nào đúng về thiết kế chương trình theo mô đun?
A. Mỗi mô đun phải biết chi tiết của mọi mô đun khác.
B. Mô đun phối hợp qua giao diện đã xác định.
C. Chương trình mô đun không cần chương trình chính.
D. Chỉ chương trình rất nhỏ mới nên chia mô đun.
