Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

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 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

1. Khi thiết kế một mô-đun xử lý dữ liệu người dùng, thông tin nào sau đây là quan trọng nhất để mô-đun đó có thể hoạt động hiệu quả và an toàn?

A. Tên của tất cả các tệp trong thư mục chứa chương trình.
B. Định dạng dữ liệu đầu vào mong đợi, các quy tắc kiểm tra dữ liệu và cách xử lý lỗi dữ liệu không hợp lệ.
C. Phiên bản hệ điều hành đang chạy trên máy tính.
D. Tất cả các thư viện phụ thuộc được cài đặt trong môi trường phát triển.

2. Trong lập trình theo mô-đun, nếu một mô-đun A gọi một mô-đun B để thực hiện một tác vụ, thì A được gọi là gì đối với B?

A. Mô-đun con.
B. Mô-đun cha hoặc mô-đun gọi.
C. Mô-đun độc lập.
D. Mô-đun phụ thuộc.

3. Theo sách giáo khoa Tin học 11 Kết nối tri thức, khi thiết kế chương trình theo mô-đun, bước nào sau đây thường được thực hiện để đảm bảo tính tái sử dụng và dễ bảo trì của các mô-đun?

A. Viết toàn bộ mã nguồn vào một tệp duy nhất để dễ dàng quản lý.
B. Chia nhỏ chương trình thành các mô-đun có chức năng độc lập, rõ ràng và có giao diện tương tác được định nghĩa tốt.
C. Sử dụng các biến toàn cục cho mọi dữ liệu để các mô-đun có thể truy cập dễ dàng.
D. Tập trung vào việc tối ưu hóa hiệu năng trước khi quan tâm đến cấu trúc mô-đun.

4. Trong ngữ cảnh thiết kế mô-đun, thuật ngữ "giao diện trừu tượng" (abstract interface) thường ám chỉ điều gì?

A. Mã nguồn đầy đủ của mô-đun.
B. Một bản mô tả các hoạt động mà một mô-đun cung cấp mà không tiết lộ cách thức thực hiện chúng.
C. Cấu trúc dữ liệu nội bộ của mô-đun.
D. Tệp cấu hình của mô-đun.

5. Trong Python, cú pháp `import module_name` được sử dụng để làm gì?

A. Định nghĩa một mô-đun mới.
B. Thực thi một chương trình độc lập.
C. Đưa các chức năng và biến từ mô-đun `module_name` vào chương trình hiện tại để sử dụng.
D. Kiểm tra lỗi cú pháp trong mô-đun `module_name`.

6. Trong một chương trình được thiết kế theo mô-đun, nếu bạn cần cập nhật một chức năng cụ thể, việc nào sau đây là hiệu quả nhất?

A. Viết lại toàn bộ chương trình từ đầu.
B. Chỉ cần sửa đổi mô-đun chịu trách nhiệm cho chức năng đó, miễn là giao diện của nó không thay đổi.
C. Xóa bỏ toàn bộ chương trình và bắt đầu lại với một ngôn ngữ lập trình khác.
D. Yêu cầu tất cả các mô-đun khác cũng được viết lại theo.

7. Khi một mô-đun có nhiều trách nhiệm khác nhau (ví dụ: vừa xử lý dữ liệu, vừa hiển thị giao diện, vừa quản lý tệp), điều này thường chỉ ra điều gì về chất lượng thiết kế của mô-đun đó?

A. Độ bao đóng cao và sự ràng buộc thấp.
B. Độ bao đóng thấp và sự ràng buộc cao.
C. Tính tái sử dụng cao.
D. Thiết kế rất hiệu quả.

8. Khi một mô-đun chỉ thực hiện một nhiệm vụ duy nhất và rõ ràng, điều này thể hiện nguyên tắc nào trong thiết kế theo mô-đun?

A. Sự ràng buộc cao.
B. Độ bao đóng cao.
C. Sự phức tạp cao.
D. Sự phụ thuộc cao.

9. Trong thiết kế theo mô-đun, một mô-đun được coi là "tự chứa" (self-contained) khi nào?

A. Khi nó có thể chạy độc lập mà không cần bất kỳ dữ liệu đầu vào nào.
B. Khi tất cả các chức năng cần thiết để thực hiện nhiệm vụ của nó đều nằm trong mô-đun đó và nó ít phụ thuộc vào các mô-đun khác.
C. Khi nó có thể truy cập trực tiếp vào cơ sở dữ liệu của chương trình.
D. Khi mã nguồn của nó rất ngắn.

10. Nguyên tắc "che giấu thông tin" (information hiding) trong thiết kế mô-đun nhằm mục đích gì?

A. Làm cho mã nguồn khó đọc hơn để bảo vệ ý tưởng.
B. Giảm sự phụ thuộc của các phần khác của chương trình vào chi tiết triển khai bên trong của mô-đun, giúp dễ dàng thay đổi nội bộ mà không ảnh hưởng bên ngoài.
C. Ngăn chặn người dùng truy cập vào dữ liệu của mô-đun.
D. Đảm bảo tất cả các mô-đun đều có cùng một cấu trúc dữ liệu.

11. Nếu một mô-đun được thiết kế để xử lý các phép toán trên danh sách (list), việc nó có thể thực hiện các phép toán trên chuỗi (string) hay không phụ thuộc vào điều gì?

A. Phụ thuộc vào phiên bản Python.
B. Phụ thuộc vào việc nhà thiết kế mô-đun có bao gồm chức năng đó hay không, liên quan đến độ bao đóng và phạm vi của mô-đun.
C. Phụ thuộc vào kích thước của danh sách.
D. Phụ thuộc vào việc mô-đun có sử dụng biến toàn cục hay không.

12. Giả sử bạn có một mô-đun `math_operations` chứa các hàm tính toán như cộng, trừ, nhân, chia. Nếu bạn muốn sử dụng hàm `add` từ mô-đun này trong một tệp Python khác, bạn sẽ sử dụng cú pháp nào?

A. `from math_operations import add`
B. `import math_operations.add`
C. `use math_operations.add`
D. `call math_operations.add()`

13. Khi thiết kế các mô-đun cho một ứng dụng quản lý thư viện, mô-đun nào sau đây có khả năng cần tương tác chặt chẽ nhất với mô-đun quản lý mượn trả sách?

A. Mô-đun hiển thị thông tin về các ngày lễ.
B. Mô-đun quản lý danh mục sách (thêm, sửa, xóa sách).
C. Mô-đun thống kê thời tiết.
D. Mô-đun quản lý cấu hình hệ thống.

14. Trong Python, khi bạn sử dụng `from module_name import *`, bạn đang thực hiện hành động gì?

A. Nhập tất cả các hàm và biến từ mô-đun `module_name` vào không gian tên hiện tại.
B. Nhập chỉ riêng hàm `*` từ mô-đun `module_name`.
C. Tạo một bản sao của toàn bộ mô-đun `module_name`.
D. Chỉ định rằng mô-đun `module_name` sẽ được sử dụng sau này.

15. Khái niệm "sự ràng buộc" (coupling) giữa các mô-đun trong thiết kế phần mềm theo mô-đun đề cập đến điều gì?

A. Mức độ mà các chức năng bên trong một mô-đun liên kết với nhau.
B. Mức độ mà một mô-đun phụ thuộc hoặc tương tác với các mô-đun khác.
C. Khả năng một mô-đun hoạt động độc lập mà không cần bất kỳ sự hỗ trợ nào.
D. Độ dài của mã nguồn trong một mô-đun.

16. Nếu một mô-đun có quá nhiều tham số đầu vào, điều này có thể là dấu hiệu của vấn đề gì trong thiết kế?

A. Độ bao đóng cao.
B. Sự ràng buộc thấp.
C. Độ bao đóng thấp hoặc trách nhiệm của mô-đun quá rộng.
D. Hiệu năng xử lý tốt.

17. Khi thiết kế một mô-đun xử lý yêu cầu mạng, yếu tố nào sau đây là quan trọng nhất cần xem xét để đảm bảo tính ổn định?

A. Sử dụng tên biến càng dài càng tốt.
B. Xử lý các trường hợp ngoại lệ và lỗi mạng có thể xảy ra một cách có hệ thống (ví dụ: mất kết nối, phản hồi chậm).
C. Chỉ cho phép mô-đun kết nối đến một địa chỉ IP duy nhất.
D. Giảm thiểu số lượng hàm trong mô-đun.

18. Tại sao việc giảm thiểu sự ràng buộc giữa các mô-đun là một nguyên tắc quan trọng trong thiết kế chương trình theo mô-đun?

A. Để làm cho chương trình trở nên phức tạp hơn và khó hiểu hơn.
B. Để tăng sự phụ thuộc lẫn nhau, giúp dễ dàng sửa lỗi ở một nơi.
C. Để giảm thiểu ảnh hưởng của thay đổi ở một mô-đun đến các mô-đun khác, giúp dễ bảo trì và tái sử dụng.
D. Để đảm bảo tất cả các mô-đun đều có kích thước bằng nhau.

19. Trong lập trình theo mô-đun, khái niệm "độ bao đóng" (cohesion) của một mô-đun đề cập đến điều gì?

A. Mức độ một mô-đun phụ thuộc vào các mô-đun khác.
B. Mức độ liên quan chặt chẽ và tập trung của các hoạt động bên trong một mô-đun.
C. Khả năng mô-đun đó có thể được sử dụng trong nhiều ngữ cảnh khác nhau.
D. Độ phức tạp của các thuật toán được triển khai trong mô-đun.

20. Trong ngôn ngữ lập trình Python, khi định nghĩa một hàm (function), việc sử dụng "docstring" có mục đích chính là gì?

A. Tăng tốc độ thực thi của hàm.
B. Cung cấp tài liệu mô tả chức năng, tham số và cách sử dụng của hàm, giúp người khác (hoặc chính mình sau này) hiểu rõ hàm.
C. Bắt buộc phải có để hàm có thể chạy được.
D. Giảm dung lượng bộ nhớ mà hàm sử dụng.

21. Tại sao việc chia một chương trình lớn thành các mô-đun nhỏ hơn lại quan trọng trong giai đoạn phát triển phần mềm?

A. Để làm cho chương trình khó quản lý hơn.
B. Để mỗi lập trình viên có thể làm việc trên một phần nhỏ của hệ thống một cách độc lập, giúp tăng tốc độ phát triển và dễ dàng kiểm thử.
C. Để chương trình sử dụng nhiều bộ nhớ hơn.
D. Để đảm bảo tất cả các mô-đun phải giống hệt nhau.

22. Khi sử dụng lại một mô-đun đã được viết trước đó, điều quan trọng nhất cần xem xét là gì để đảm bảo nó hoạt động đúng trong ngữ cảnh mới?

A. Màu sắc của mã nguồn trong mô-đun đó.
B. Các yêu cầu về dữ liệu đầu vào, đầu ra và các phụ thuộc (các mô-đun hoặc thư viện khác mà nó cần).
C. Tên của lập trình viên đã viết mô-đun đó.
D. Số dòng mã trong mô-đun đó.

23. Khi thiết kế mô-đun xử lý tệp tin, nguyên tắc "ít đặc quyền nhất" (principle of least privilege) nên được áp dụng như thế nào?

A. Cho phép mô-đun có quyền truy cập và sửa đổi tất cả các tệp trong hệ thống.
B. Chỉ cấp cho mô-đun những quyền truy cập tệp tin tối thiểu cần thiết để thực hiện chức năng của nó.
C. Yêu cầu người dùng nhập mật khẩu quản trị mỗi khi mô-đun truy cập tệp.
D. Cho phép mô-đun đọc tất cả các tệp nhưng không được phép ghi.

24. Khi một mô-đun được thiết kế để có thể dễ dàng thay thế bằng một mô-đun khác có cùng giao diện mà không ảnh hưởng đến hoạt động của chương trình, điều đó thể hiện nguyên tắc nào?

A. Độ bao đóng thấp.
B. Sự ràng buộc cao.
C. Tính thay thế (Substitutability) hoặc tính đóng gói (Encapsulation) tốt.
D. Sự phụ thuộc lẫn nhau.

25. Trong quá trình thiết kế chương trình theo mô-đun, việc sử dụng một giao diện (interface) cho mô-đun giúp ích gì?

A. Che giấu hoàn toàn cách thức hoạt động bên trong của mô-đun khỏi các mô-đun khác.
B. Định nghĩa cách thức mà các mô-đun khác có thể tương tác với mô-đun đó mà không cần biết chi tiết triển khai bên trong.
C. Đảm bảo rằng mô-đun chỉ có thể được sử dụng bởi một mô-đun khác duy nhất.
D. Tăng cường sự phụ thuộc giữa các mô-đun để dễ dàng thay đổi toàn bộ hệ thống.

1 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

1. Khi thiết kế một mô-đun xử lý dữ liệu người dùng, thông tin nào sau đây là quan trọng nhất để mô-đun đó có thể hoạt động hiệu quả và an toàn?

2 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

2. Trong lập trình theo mô-đun, nếu một mô-đun A gọi một mô-đun B để thực hiện một tác vụ, thì A được gọi là gì đối với B?

3 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

3. Theo sách giáo khoa Tin học 11 Kết nối tri thức, khi thiết kế chương trình theo mô-đun, bước nào sau đây thường được thực hiện để đảm bảo tính tái sử dụng và dễ bảo trì của các mô-đun?

4 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

4. Trong ngữ cảnh thiết kế mô-đun, thuật ngữ giao diện trừu tượng (abstract interface) thường ám chỉ điều gì?

5 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

5. Trong Python, cú pháp `import module_name` được sử dụng để làm gì?

6 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

6. Trong một chương trình được thiết kế theo mô-đun, nếu bạn cần cập nhật một chức năng cụ thể, việc nào sau đây là hiệu quả nhất?

7 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

7. Khi một mô-đun có nhiều trách nhiệm khác nhau (ví dụ: vừa xử lý dữ liệu, vừa hiển thị giao diện, vừa quản lý tệp), điều này thường chỉ ra điều gì về chất lượng thiết kế của mô-đun đó?

8 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

8. Khi một mô-đun chỉ thực hiện một nhiệm vụ duy nhất và rõ ràng, điều này thể hiện nguyên tắc nào trong thiết kế theo mô-đun?

9 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

9. Trong thiết kế theo mô-đun, một mô-đun được coi là tự chứa (self-contained) khi nào?

10 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

10. Nguyên tắc che giấu thông tin (information hiding) trong thiết kế mô-đun nhằm mục đích gì?

11 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

11. Nếu một mô-đun được thiết kế để xử lý các phép toán trên danh sách (list), việc nó có thể thực hiện các phép toán trên chuỗi (string) hay không phụ thuộc vào điều gì?

12 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

12. Giả sử bạn có một mô-đun `math_operations` chứa các hàm tính toán như cộng, trừ, nhân, chia. Nếu bạn muốn sử dụng hàm `add` từ mô-đun này trong một tệp Python khác, bạn sẽ sử dụng cú pháp nào?

13 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

13. Khi thiết kế các mô-đun cho một ứng dụng quản lý thư viện, mô-đun nào sau đây có khả năng cần tương tác chặt chẽ nhất với mô-đun quản lý mượn trả sách?

14 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

14. Trong Python, khi bạn sử dụng `from module_name import *`, bạn đang thực hiện hành động gì?

15 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

15. Khái niệm sự ràng buộc (coupling) giữa các mô-đun trong thiết kế phần mềm theo mô-đun đề cập đến điều gì?

16 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

16. Nếu một mô-đun có quá nhiều tham số đầu vào, điều này có thể là dấu hiệu của vấn đề gì trong thiết kế?

17 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

17. Khi thiết kế một mô-đun xử lý yêu cầu mạng, yếu tố nào sau đây là quan trọng nhất cần xem xét để đảm bảo tính ổn định?

18 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

18. Tại sao việc giảm thiểu sự ràng buộc giữa các mô-đun là một nguyên tắc quan trọng trong thiết kế chương trình theo mô-đun?

19 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

19. Trong lập trình theo mô-đun, khái niệm độ bao đóng (cohesion) của một mô-đun đề cập đến điều gì?

20 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

20. Trong ngôn ngữ lập trình Python, khi định nghĩa một hàm (function), việc sử dụng docstring có mục đích chính là gì?

21 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

21. Tại sao việc chia một chương trình lớn thành các mô-đun nhỏ hơn lại quan trọng trong giai đoạn phát triển phần mềm?

22 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

22. Khi sử dụng lại một mô-đun đã được viết trước đó, điều quan trọng nhất cần xem xét là gì để đảm bảo nó hoạt động đúng trong ngữ cảnh mới?

23 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

23. Khi thiết kế mô-đun xử lý tệp tin, nguyên tắc ít đặc quyền nhất (principle of least privilege) nên được áp dụng như thế nào?

24 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

24. Khi một mô-đun được thiết kế để có thể dễ dàng thay thế bằng một mô-đun khác có cùng giao diện mà không ảnh hưởng đến hoạt động của chương trình, điều đó thể hiện nguyên tắc nào?

25 / 25

Category: Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Tags: Bộ đề 1

25. Trong quá trình thiết kế chương trình theo mô-đun, việc sử dụng một giao diện (interface) cho mô-đun giúp ích gì?