[Cánh diều] Trắc nghiệm Tin học 11 KHMT bài 11 Thực hành thiết kế và lập trình theo modun

[Cánh diều] Trắc nghiệm Tin học 11 KHMT bài 11 Thực hành thiết kế và lập trình theo modun

1. Khi một module A gọi một hàm trong module B, và module B lại gọi một hàm trong module A, mối quan hệ này được gọi là gì?
2. Trong một dự án lớn, việc phân công công việc cho các nhóm lập trình viên khác nhau dựa trên các module là một ứng dụng của nguyên tắc nào?
3. Trong quá trình thiết kế và lập trình theo module, khi nào chúng ta nên xem xét việc tạo ra một module mới?
4. Nếu một module có low cohesion, điều này có nghĩa là gì?
5. Yếu tố nào sau đây KHÔNG phải là lợi ích của việc lập trình theo module?
6. Module nào sau đây có khả năng cao nhất là một module được thiết kế kém về cohesion?
7. Nếu module A cần gọi một hàm từ module B, và hàm đó yêu cầu một đối số là một cấu trúc dữ liệu phức tạp do module B định nghĩa, điều này có thể dẫn đến tăng coupling ở mức độ nào?
8. Theo quan điểm của lập trình theo module, tại sao việc sử dụng các tham số (parameters) cho hàm trong một module lại quan trọng?
9. Trong lập trình hướng đối tượng, một class (lớp) có thể được xem như một dạng của module. Nguyên tắc encapsulation (đóng gói) trong lớp áp dụng cho điều gì?
10. Khi thiết kế một module xử lý dữ liệu, việc tách biệt hoàn toàn logic xử lý dữ liệu với logic hiển thị (ví dụ: hiển thị ra màn hình) là một ví dụ của việc áp dụng nguyên tắc nào?
11. Một module được thiết kế tốt với high cohesion và low coupling sẽ có đặc điểm nào sau đây?
12. Quan hệ sử dụng (uses) giữa hai module A và B có nghĩa là gì?
13. Việc sử dụng lại một module đã được phát triển cho dự án này trong một dự án khác có thể thực hiện được nếu module đó?
14. Trong quá trình thiết kế module, việc xác định interface (giao diện) của module là để làm gì?
15. Một module có high cohesion sẽ có lợi ích gì trong quá trình phát triển phần mềm?
16. Khi thực hành lập trình theo module, việc kiểm thử (testing) các module riêng lẻ trước khi tích hợp chúng vào chương trình lớn hơn được gọi là gì?
17. Khi thiết kế một module, yếu tố nào sau đây là quan trọng nhất để đảm bảo tính độc lập và khả năng tái sử dụng?
18. Để giảm thiểu coupling giữa các module, lập trình viên nên ưu tiên hình thức giao tiếp nào?
19. Trong quá trình thiết kế module, nếu một module có quá nhiều trách nhiệm khác nhau, nó có thể vi phạm nguyên tắc nào?
20. Nguyên tắc coupling (kết nối) trong thiết kế module đề cập đến điều gì?
21. Trong lập trình theo module, mục đích chính của việc chia một chương trình lớn thành các module nhỏ hơn là gì?
22. Theo nguyên tắc cohesion (gắn kết) trong thiết kế module, một module nên tập trung vào việc thực hiện bao nhiêu chức năng?
23. Để một module có thể tái sử dụng một cách hiệu quả, nó nên có ít phụ thuộc với môi trường bên ngoài, trừ những gì được định nghĩa trong?
24. Khi một module cần truy cập thông tin từ một module khác, cách tiếp cận nào sau đây tạo ra sự phụ thuộc lỏng lẻo (loose coupling)?
25. Giả sử bạn có một module XuLyChuoi chứa các hàm như cat_chuoi, tim_kiem_chuoi, thay_the_chuoi. Module này có cohesion ở mức độ nào?