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

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


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

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

1. Trong lập trình theo module, việc xác định các hàm và dữ liệu mà module sẽ cung cấp cho các module khác được gọi là gì?

A. Chi tiết cài đặt (Implementation Details).
B. Giao diện (Interface).
C. Phạm vi truy cập (Scope).
D. Đóng gói (Encapsulation).

2. Trong lập trình Python, khi bạn sử dụng `import module_name`, bạn có thể truy cập các thuộc tính của module bằng cách nào?

A. module_name.attribute
B. module_name[attribute]
C. attribute(module_name)
D. module_name->attribute

3. Điều gì xảy ra nếu một module cố gắng truy cập một biến không được khai báo bên trong nó và cũng không được import hay truyền vào dưới dạng tham số?

A. Chương trình sẽ tự động tìm biến đó ở các module khác.
B. Sẽ xảy ra lỗi, thường là lỗi "NameError" hoặc tương tự.
C. Biến đó sẽ được coi là có giá trị mặc định là 0 hoặc trống.
D. Chương trình sẽ báo lỗi cú pháp và dừng biên dịch.

4. Một module nên tập trung vào việc thực hiện một nhiệm vụ cụ thể, điều này thể hiện nguyên tắc nào trong thiết kế phần mềm?

A. Đóng gói (Encapsulation).
B. Trừu tượng hóa (Abstraction).
C. Trách nhiệm đơn lẻ (Single Responsibility Principle - SRP).
D. Đa hình (Polymorphism).

5. Nếu một module cần sử dụng chức năng từ module khác, cách tốt nhất để thực hiện là gì?

A. Sao chép mã nguồn từ module kia vào module hiện tại.
B. Gọi các hàm hoặc sử dụng các lớp được cung cấp qua giao diện của module kia.
C. Viết lại chức năng tương tự trong module hiện tại.
D. Truy cập trực tiếp vào dữ liệu nội bộ của module kia.

6. Khi một module được thiết kế với giao diện rõ ràng và ít phụ thuộc, nó có khả năng cao được sử dụng trong các dự án khác nhau như thế nào?

A. Rất thấp, vì nó chỉ được thiết kế cho một mục đích duy nhất.
B. Cao, do tính độc lập và khả năng tái sử dụng.
C. Trung bình, tùy thuộc vào sự phổ biến của dự án ban đầu.
D. Không thể, trừ khi được đóng gói lại.

7. Trong quá trình thiết kế và lập trình theo module, tại sao việc lập tài liệu (documentation) cho từng module lại quan trọng?

A. Để làm cho chương trình trông chuyên nghiệp hơn.
B. Để người dùng khác (hoặc chính bạn sau này) hiểu cách sử dụng module, giao diện và các chức năng của nó.
C. Để tăng kích thước của tệp tin module.
D. Để che giấu hoàn toàn cách hoạt động của module.

8. Khi thiết kế một module, việc đặt tên module nên tuân theo quy tắc nào?

A. Tên ngắn gọn, khó hiểu để bảo mật.
B. Tên mô tả rõ ràng chức năng hoặc mục đích của module.
C. Tên ngẫu nhiên để tránh xung đột.
D. Tên chỉ chứa ký tự số.

9. Trong Python, cú pháp `from module_name import *` có ưu điểm và nhược điểm gì?

A. Ưu điểm: nhập tất cả, nhược điểm: có thể gây xung đột tên nếu có nhiều module cùng tên thành phần.
B. Ưu điểm: chỉ nhập các hàm được sử dụng, nhược điểm: chậm hơn.
C. Ưu điểm: làm mã ngắn gọn, nhược điểm: luôn gây lỗi.
D. Ưu điểm: tăng bảo mật, nhược điểm: không thể sử dụng hàm.

10. Nếu một module chứa các hàm có thể tái sử dụng cho nhiều phần khác nhau của ứng dụng, điều này thể hiện lợi ích gì của lập trình theo module?

A. Giảm khả năng đọc hiểu.
B. Tăng tính phức tạp của chương trình.
C. Tăng khả năng tái sử dụng mã nguồn.
D. Cần nhiều tài nguyên hệ thống hơn.

11. Nếu bạn muốn sử dụng một hàm cụ thể từ một module mà không muốn import toàn bộ module đó, bạn có thể sử dụng cú pháp nào trong Python?

A. `import module_name as alias`
B. `from module_name import function_name`
C. `include module_name.function_name`
D. `require module_name.function_name`

12. Mục đích chính của việc chia nhỏ chương trình thành các module là gì?

A. Làm cho chương trình phức tạp hơn để người khác khó sao chép.
B. Tăng cường khả năng tái sử dụng mã nguồn và quản lý dự án dễ dàng hơn.
C. Giảm thiểu việc sử dụng bộ nhớ của chương trình.
D. Tăng tốc độ thực thi của chương trình một cách tối đa.

13. Khái niệm "đóng gói" (encapsulation) trong lập trình theo module ám chỉ điều gì?

A. Việc chia nhỏ chương trình thành nhiều tệp tin.
B. Việc gộp dữ liệu và các phương thức xử lý dữ liệu đó vào một đơn vị duy nhất, che giấu chi tiết bên trong.
C. Việc tạo ra các module kế thừa từ nhau.
D. Việc sử dụng lại mã nguồn từ các module có sẵn.

14. Điều gì xảy ra nếu bạn cố gắng gọi một hàm trong một module mà hàm đó chưa được định nghĩa hoặc bị xóa?

A. Chương trình sẽ tự động tìm hàm tương tự.
B. Sẽ xảy ra lỗi, thường là "AttributeError" hoặc "NameError".
C. Hàm đó sẽ được coi là trả về giá trị mặc định.
D. Chương trình sẽ báo lỗi cú pháp và dừng lại.

15. Trong trường hợp hai module cần trao đổi dữ liệu, phương pháp nào sau đây là an toàn và được khuyến khích nhất?

A. Module A ghi trực tiếp vào bộ nhớ của Module B.
B. Module A gọi hàm của Module B và truyền dữ liệu qua tham số hoặc giá trị trả về.
C. Module A đọc trực tiếp các biến nội bộ của Module B.
D. Trao đổi dữ liệu thông qua một tệp tạm thời không được quản lý.

16. Đâu là lợi ích của việc phân tách logic nghiệp vụ (business logic) vào các module riêng biệt?

A. Làm cho logic nghiệp vụ khó hiểu hơn.
B. Tăng khả năng thử nghiệm, bảo trì và tái sử dụng logic nghiệp vụ.
C. Buộc người dùng phải hiểu toàn bộ mã nguồn.
D. Giảm khả năng mở rộng của ứng dụng.

17. Trong Python, khi bạn import một module, bạn có thể truy cập các thành phần của module đó bằng cách nào?

A. Sử dụng tên module theo sau là dấu chấm và tên thành phần (ví dụ: `module_name.function_name`).
B. Sử dụng trực tiếp tên thành phần mà không cần tiền tố module.
C. Sử dụng từ khóa `use` trước tên thành phần.
D. Chỉ có thể truy cập trực tiếp vào các biến toàn cục của module.

18. Khi thiết kế một module, yếu tố nào sau đây cần được ưu tiên để đảm bảo tính độc lập và khả năng sử dụng lại?

A. Giao diện (interface) càng phức tạp càng tốt.
B. Mức độ phụ thuộc (dependency) vào các module khác càng thấp càng tốt.
C. Chi tiết cài đặt (implementation details) phải được công khai.
D. Mỗi module chỉ nên thực hiện một chức năng rất nhỏ.

19. Tại sao việc ẩn đi chi tiết cài đặt (implementation details) của một module lại quan trọng?

A. Để làm cho mã nguồn khó đọc và khó hiểu.
B. Để cho phép thay đổi chi tiết bên trong mà không ảnh hưởng đến các module sử dụng nó.
C. Để tăng cường sự phụ thuộc giữa các module.
D. Để giảm số lượng các hàm trong module.

20. Trong ngữ cảnh lập trình theo module, "kết dính lỏng lẻo" (loose coupling) được xem là một đặc điểm mong muốn vì lý do gì?

A. Giúp các module dễ dàng thay thế hoặc cập nhật mà không ảnh hưởng lớn đến hệ thống.
B. Làm cho chương trình chạy nhanh hơn.
C. Giảm số lượng các hàm trong mỗi module.
D. Tăng cường sự phụ thuộc lẫn nhau giữa các module.

21. Nếu một module thực hiện nhiều chức năng không liên quan đến nhau, nó được coi là có độ kết dính như thế nào?

A. Kết dính cao (High cohesion).
B. Kết dính lỏng lẻo (Loose cohesion).
C. Kết dính hỗn hợp (Mixed cohesion).
D. Kết dính thấp (Low cohesion).

22. Khi sử dụng một module từ thư viện chuẩn của Python (ví dụ: module `math`), bạn thường cần thực hiện hành động nào trước tiên?

A. Viết lại tất cả các hàm của module đó.
B. Thực hiện lệnh `import` để nạp module vào chương trình.
C. Biên dịch module thành mã máy.
D. Kiểm tra lỗi cú pháp trong module.

23. Trong lập trình theo module, khi một module có nhiều hàm cùng tên nhưng khác tham số đầu vào, đó là hiện tượng gì?

A. Đóng gói (Encapsulation)
B. Trừu tượng hóa (Abstraction)
C. Đa hình (Polymorphism)
D. Kế thừa (Inheritance)

24. Khi một module được thiết kế tốt, việc thay đổi chi tiết cài đặt bên trong nó (ví dụ: cách một hàm tính toán) có nên ảnh hưởng đến các module khác hay không?

A. Có, vì các module khác thường phụ thuộc vào cách tính toán đó.
B. Không, miễn là giao diện của module không thay đổi.
C. Chỉ khi các module khác cũng được sửa đổi đồng thời.
D. Có, đó là cách để cập nhật chức năng.

25. Một module có độ kết dính (cohesion) cao nghĩa là gì?

A. Các thành phần bên trong module không liên quan gì đến nhau.
B. Các thành phần bên trong module có liên quan chặt chẽ và cùng thực hiện một mục đích chung.
C. Module phụ thuộc nhiều vào các module khác.
D. Module có nhiều giao diện khác nhau.

1 / 25

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

Tags: Bộ đề 1

1. Trong lập trình theo module, việc xác định các hàm và dữ liệu mà module sẽ cung cấp cho các module khác được gọi là gì?

2 / 25

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

Tags: Bộ đề 1

2. Trong lập trình Python, khi bạn sử dụng `import module_name`, bạn có thể truy cập các thuộc tính của module bằng cách nào?

3 / 25

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

Tags: Bộ đề 1

3. Điều gì xảy ra nếu một module cố gắng truy cập một biến không được khai báo bên trong nó và cũng không được import hay truyền vào dưới dạng tham số?

4 / 25

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

Tags: Bộ đề 1

4. Một module nên tập trung vào việc thực hiện một nhiệm vụ cụ thể, điều này thể hiện nguyên tắc nào trong thiết kế phần mềm?

5 / 25

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

Tags: Bộ đề 1

5. Nếu một module cần sử dụng chức năng từ module khác, cách tốt nhất để thực hiện là gì?

6 / 25

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

Tags: Bộ đề 1

6. Khi một module được thiết kế với giao diện rõ ràng và ít phụ thuộc, nó có khả năng cao được sử dụng trong các dự án khác nhau như thế nào?

7 / 25

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

Tags: Bộ đề 1

7. Trong quá trình thiết kế và lập trình theo module, tại sao việc lập tài liệu (documentation) cho từng module lại quan trọng?

8 / 25

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

Tags: Bộ đề 1

8. Khi thiết kế một module, việc đặt tên module nên tuân theo quy tắc nào?

9 / 25

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

Tags: Bộ đề 1

9. Trong Python, cú pháp `from module_name import *` có ưu điểm và nhược điểm gì?

10 / 25

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

Tags: Bộ đề 1

10. Nếu một module chứa các hàm có thể tái sử dụng cho nhiều phần khác nhau của ứng dụng, điều này thể hiện lợi ích gì của lập trình theo module?

11 / 25

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

Tags: Bộ đề 1

11. Nếu bạn muốn sử dụng một hàm cụ thể từ một module mà không muốn import toàn bộ module đó, bạn có thể sử dụng cú pháp nào trong Python?

12 / 25

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

Tags: Bộ đề 1

12. Mục đích chính của việc chia nhỏ chương trình thành các module là gì?

13 / 25

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

Tags: Bộ đề 1

13. Khái niệm đóng gói (encapsulation) trong lập trình theo module ám chỉ điều gì?

14 / 25

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

Tags: Bộ đề 1

14. Điều gì xảy ra nếu bạn cố gắng gọi một hàm trong một module mà hàm đó chưa được định nghĩa hoặc bị xóa?

15 / 25

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

Tags: Bộ đề 1

15. Trong trường hợp hai module cần trao đổi dữ liệu, phương pháp nào sau đây là an toàn và được khuyến khích nhất?

16 / 25

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

Tags: Bộ đề 1

16. Đâu là lợi ích của việc phân tách logic nghiệp vụ (business logic) vào các module riêng biệt?

17 / 25

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

Tags: Bộ đề 1

17. Trong Python, khi bạn import một module, bạn có thể truy cập các thành phần của module đó bằng cách nào?

18 / 25

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

Tags: Bộ đề 1

18. Khi thiết kế một module, yếu tố nào sau đây cần được ưu tiên để đảm bảo tính độc lập và khả năng sử dụng lại?

19 / 25

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

Tags: Bộ đề 1

19. Tại sao việc ẩn đi chi tiết cài đặt (implementation details) của một module lại quan trọng?

20 / 25

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

Tags: Bộ đề 1

20. Trong ngữ cảnh lập trình theo module, kết dính lỏng lẻo (loose coupling) được xem là một đặc điểm mong muốn vì lý do gì?

21 / 25

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

Tags: Bộ đề 1

21. Nếu một module thực hiện nhiều chức năng không liên quan đến nhau, nó được coi là có độ kết dính như thế nào?

22 / 25

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

Tags: Bộ đề 1

22. Khi sử dụng một module từ thư viện chuẩn của Python (ví dụ: module `math`), bạn thường cần thực hiện hành động nào trước tiên?

23 / 25

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

Tags: Bộ đề 1

23. Trong lập trình theo module, khi một module có nhiều hàm cùng tên nhưng khác tham số đầu vào, đó là hiện tượng gì?

24 / 25

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

Tags: Bộ đề 1

24. Khi một module được thiết kế tốt, việc thay đổi chi tiết cài đặt bên trong nó (ví dụ: cách một hàm tính toán) có nên ảnh hưởng đến các module khác hay không?

25 / 25

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

Tags: Bộ đề 1

25. Một module có độ kết dính (cohesion) cao nghĩa là gì?

Xem kết quả