12+ Đề Trắc Nghiệm Tin Học 11 (Kết Nối Tri Thức) Bài 29: Thực Hành Thiết Kế Chương Trình Theo Mô Đun

Đề 01

Đề 02

Đề 03

Đề 04

Đề 05

Đề 06

Đề 07

Đề 08

Đề 09

Đề 10

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 Bài 29: Thực hành thiết kế chương trình theo mô đun

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 01

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 01 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Khi thiết kế chương trình tính điểm vận động viên theo mô đun, việc tách chức năng đọc dữ liệu từ tệp thành một mô đun riêng (ví dụ: `nhapDL`) mang lại lợi ích chính nào sau đây?

  • A. Tăng tốc độ thực thi chương trình.
  • B. Giảm dung lượng bộ nhớ cần thiết.
  • C. Giúp chương trình dễ dàng thích ứng khi nguồn dữ liệu đầu vào thay đổi.
  • D. Đảm bảo dữ liệu luôn chính xác tuyệt đối.

Câu 2: Giả sử bạn đang phát triển một chương trình quản lý thư viện. Bạn cần một mô đun để tìm kiếm sách theo tiêu đề, tác giả hoặc ISBN. Mô đun này nên nhận đầu vào (tham số) là gì và trả về (giá trị trả về) là gì để hiệu quả nhất?

  • A. Nhận vào tên tệp dữ liệu sách, trả về số lượng sách tìm thấy.
  • B. Nhận vào từ khóa tìm kiếm và loại tìm kiếm (tiêu đề/tác giả/ISBN), trả về danh sách các sách thỏa mãn.
  • C. Nhận vào toàn bộ cơ sở dữ liệu sách, trả về True/False.
  • D. Không cần nhận tham số nào, chỉ cần trả về tên sách đầu tiên tìm thấy.

Câu 3: Trong thiết kế mô đun, nguyên tắc "mỗi mô đun chỉ nên thực hiện một chức năng duy nhất và rõ ràng" được gọi là gì?

  • A. Tính gắn kết (Cohesion).
  • B. Tính phụ thuộc (Dependency).
  • C. Tính đóng gói (Encapsulation).
  • D. Tính kế thừa (Inheritance).

Câu 4: Bạn có một chương trình xử lý ảnh. Các tác vụ bao gồm: đọc ảnh, áp dụng bộ lọc xám, áp dụng bộ lọc làm mờ, lưu ảnh. Nếu bạn muốn thiết kế chương trình này theo mô đun, mô đun "áp dụng bộ lọc làm mờ" nên phụ thuộc (import hoặc gọi) vào mô đun nào?

  • A. Mô đun đọc ảnh.
  • B. Mô đun áp dụng bộ lọc xám.
  • C. Mô đun lưu ảnh.
  • D. Không nhất thiết phải phụ thuộc trực tiếp vào các mô đun khác đã nêu, chỉ cần nhận dữ liệu ảnh đầu vào.

Câu 5: Đâu là một trong những thách thức tiềm ẩn khi chia một chương trình quá nhỏ thành quá nhiều mô đun?

  • A. Giảm khả năng tái sử dụng mã.
  • B. Mỗi mô đun sẽ trở nên quá phức tạp.
  • C. Tăng chi phí quản lý và giao tiếp giữa các mô đun, làm giảm hiệu quả tổng thể.
  • D. Chương trình sẽ chỉ chạy được trên một hệ điều hành duy nhất.

Câu 6: Trong bài toán tính điểm Sea Games (như đã thảo luận trong bài học), nếu ban tổ chức quyết định thêm một vòng chấm điểm phụ và điểm này cũng cần được tính vào điểm tổng hợp, bạn sẽ cần sửa đổi mô đun nào là chủ yếu?

  • A. Mô đun nhập dữ liệu (để đọc điểm mới).
  • B. Mô đun tính điểm tổng hợp (để kết hợp điểm mới vào công thức).
  • C. Mô đun ghi kết quả (để in thêm điểm mới).
  • D. Không cần sửa đổi mô đun nào, chỉ cần thêm dữ liệu vào tệp đầu vào.

Câu 7: Việc thiết kế chương trình theo mô đun giúp ích gì cho quá trình kiểm thử (testing) và gỡ lỗi (debugging)?

  • A. Làm cho chương trình phát sinh ít lỗi hơn từ đầu.
  • B. Tự động sửa lỗi ngay khi phát hiện.
  • C. Cho phép kiểm thử toàn bộ chương trình cùng lúc dễ dàng hơn.
  • D. Giúp cô lập lỗi vào từng mô đun, làm cho việc kiểm thử và gỡ lỗi dễ dàng hơn.

Câu 8: Trong Python, một "mô đun" thường tương ứng với khái niệm nào?

  • A. Một tệp mã nguồn (.py) chứa các hàm, lớp, biến có liên quan.
  • B. Một hàm hoặc thủ tục riêng lẻ.
  • C. Toàn bộ chương trình.
  • D. Một dòng lệnh duy nhất.

Câu 9: Khi thiết kế mô đun, việc xác định rõ ràng "giao diện" của mô đun (tức là nó nhận vào gì và trả về gì) là rất quan trọng vì:

  • A. Giúp giảm số lượng dòng mã trong mô đun.
  • B. Chỉ áp dụng cho các mô đun tính toán số học.
  • C. Giúp các mô đun khác sử dụng nó một cách chính xác mà không cần biết chi tiết cài đặt bên trong.
  • D. Làm cho mô đun chạy nhanh hơn.

Câu 10: Bạn được yêu cầu viết một chương trình để xử lý hóa đơn bán hàng. Các bước xử lý bao gồm: 1. Nhập thông tin sản phẩm và số lượng. 2. Tính tổng tiền cho từng mặt hàng. 3. Tính tổng tiền hóa đơn (có thuế/chiết khấu). 4. In hóa đơn ra màn hình hoặc tệp. Đâu là cách phân chia mô đun hợp lý nhất cho bài toán này?

  • A. Mô đun NhapLieu, mô đun TinhToan, mô đun InHoaDon.
  • B. Mô đun XuLyBước1, mô đun XuLyBước2, mô đun XuLyBước3, mô đun XuLyBước4.
  • C. Tất cả code viết trong một mô đun duy nhất vì bài toán đơn giản.
  • D. Chia theo loại dữ liệu: mô đunSanPham, mô đunKhachHang, mô đunHoaDon.

Câu 11: Lợi ích "Tái sử dụng mã nguồn" trong thiết kế mô đun có nghĩa là gì?

  • A. Chương trình có thể chạy trên nhiều hệ điều hành khác nhau.
  • B. Các mô đun đã được xây dựng có thể được sử dụng lại trong các chương trình hoặc dự án khác.
  • C. Mã nguồn của chương trình tự động cập nhật khi có phiên bản mới.
  • D. Người lập trình có thể sao chép và dán mã dễ dàng hơn.

Câu 12: Khi một mô đun A gọi một hàm từ mô đun B, mối quan hệ giữa A và B được gọi là gì?

  • A. Phụ thuộc (Dependency).
  • B. Kế thừa (Inheritance).
  • C. Đa hình (Polymorphism).
  • D. Gắn kết (Cohesion).

Câu 13: Điều gì xảy ra nếu bạn thay đổi giao diện của một mô đun (ví dụ: thay đổi tên hàm hoặc số lượng/loại tham số) mà không thông báo cho các mô đun khác sử dụng nó?

  • A. Chương trình sẽ tự động điều chỉnh để thích nghi.
  • B. Hiệu suất của chương trình sẽ tăng lên.
  • C. Các mô đun khác sẽ không bị ảnh hưởng.
  • D. Các mô đun khác gọi đến mô đun bị thay đổi giao diện sẽ gặp lỗi.

Câu 14: Bạn đang xây dựng một ứng dụng di động. Các chức năng bao gồm: xử lý đăng nhập người dùng, hiển thị danh sách sản phẩm, xử lý thanh toán. Đâu là cách tốt nhất để phân chia các chức năng này thành các mô đun?

  • A. Tất cả trong một mô đun duy nhất.
  • B. Mô đun ĐăngNhập, mô đun SảnPhẩm, mô đun ThanhToán.
  • C. Mô đun GiaoDiện, mô đun Logic.
  • D. Chia theo loại dữ liệu: mô đunNguoiDung, mô đunDuLieuSanPham, mô đunDuLieuThanhToan.

Câu 15: Giả sử bạn có một mô đun tính thuế thu nhập cá nhân. Mô đun này nhận vào thu nhập chịu thuế và trả về số tiền thuế phải nộp. Để kiểm thử mô đun này một cách hiệu quả, bạn cần làm gì?

  • A. Chạy toàn bộ chương trình có sử dụng mô đun này.
  • B. Chỉ cần đọc lại mã nguồn của mô đun để tìm lỗi.
  • C. Cung cấp các giá trị thu nhập chịu thuế mẫu và kiểm tra giá trị thuế trả về có đúng không.
  • D. Hỏi ý kiến người dùng xem kết quả có hợp lý không.

Câu 16: Trong bối cảnh lập trình, thuật ngữ "coupling" (tính kết nối/phụ thuộc) giữa các mô đun đề cập đến điều gì?

  • A. Mức độ phụ thuộc lẫn nhau giữa các mô đun.
  • B. Số lượng chức năng trong một mô đun.
  • C. Khả năng chạy trên nhiều nền tảng khác nhau.
  • D. Tốc độ xử lý dữ liệu của mô đun.

Câu 17: Tại sao việc đặt tên cho các mô đun, hàm và biến một cách rõ ràng, dễ hiểu lại quan trọng trong thiết kế mô đun?

  • A. Giúp trình biên dịch hiểu mã nguồn nhanh hơn.
  • B. Là yêu cầu bắt buộc của mọi ngôn ngữ lập trình.
  • C. Chỉ quan trọng khi làm việc theo nhóm.
  • D. Tăng tính dễ đọc và dễ hiểu của mã nguồn, hỗ trợ bảo trì và cộng tác.

Câu 18: Bạn cần viết một chương trình mô phỏng tung xúc xắc. Các chức năng bao gồm: tạo số ngẫu nhiên từ 1 đến 6, hiển thị kết quả tung xúc xắc. Mô đun "tạo số ngẫu nhiên" nên được thiết kế như thế nào?

  • A. Không nhận tham số, trả về một số nguyên ngẫu nhiên từ 1 đến 6.
  • B. Nhận vào số lần tung, trả về danh sách các kết quả.
  • C. Nhận vào kết quả mong muốn, trả về True/False.
  • D. Nhận vào tên người chơi, không trả về gì cả.

Câu 19: Khi nào thì việc sử dụng thiết kế mô đun trở nên đặc biệt quan trọng và mang lại nhiều lợi ích nhất?

  • A. Khi chương trình chỉ có vài chục dòng mã.
  • B. Khi xây dựng các chương trình lớn, phức tạp và có khả năng mở rộng trong tương lai.
  • C. Khi chỉ có một người duy nhất phát triển chương trình.
  • D. Khi chương trình không cần giao tiếp với người dùng.

Câu 20: Trong quá trình thiết kế mô đun, sau khi đã xác định các chức năng chính và phân chia chúng thành các mô đun tiềm năng, bước tiếp theo quan trọng là gì?

  • A. Viết ngay toàn bộ mã nguồn cho tất cả mô đun.
  • B. Chỉ cần đặt tên cho các mô đun.
  • C. Bỏ qua bước này và chuyển sang kiểm thử.
  • D. Xác định rõ giao diện (input/output) và mối quan hệ giữa các mô đun.

Câu 21: Một chương trình xử lý văn bản có các chức năng như: mở tệp, lưu tệp, định dạng văn bản (in đậm, nghiêng), kiểm tra chính tả. Nếu thiết kế theo mô đun, mô đun "định dạng văn bản" nên nhận dữ liệu gì và trả về dữ liệu gì?

  • A. Nhận tên tệp, trả về True/False.
  • B. Nhận nội dung văn bản và thông tin định dạng, trả về văn bản đã định dạng.
  • C. Không nhận gì cả, chỉ hiển thị kết quả ra màn hình.
  • D. Nhận toàn bộ chương trình, trả về mã lỗi.

Câu 22: Lợi ích nào của thiết kế mô đun giúp nhiều lập trình viên có thể làm việc trên cùng một chương trình một cách hiệu quả?

  • A. Mã nguồn ngắn gọn hơn.
  • B. Chương trình chạy nhanh hơn.
  • C. Cho phép nhiều người làm việc song song trên các phần khác nhau của chương trình.
  • D. Tự động phát hiện và sửa lỗi chính tả trong mã nguồn.

Câu 23: Trong thiết kế mô đun tính điểm Sea Games, giả sử bạn muốn bổ sung chức năng tính điểm trung bình của tất cả vận động viên. Chức năng này nên được đặt ở mô đun nào để tận dụng cấu trúc hiện có?

  • A. Mô đun nhập dữ liệu (`nhapDL`).
  • B. Mô đun xử lý chính (`Xuly`).
  • C. Mô đun tính điểm cho từng vận động viên (`diem_gk`).
  • D. Mô đun ghi kết quả (`ghiDL`).

Câu 24: Khi một mô đun hoàn thành nhiệm vụ của mình và cần gửi kết quả cho mô đun khác, phương thức phổ biến nhất để làm điều này trong lập trình theo mô đun là gì?

  • A. Sử dụng giá trị trả về của hàm.
  • B. In kết quả ra màn hình.
  • C. Lưu kết quả vào tệp tạm thời.
  • D. Gửi email chứa kết quả đến mô đun khác.

Câu 25: Bạn đang xây dựng một hệ thống đặt vé xem phim trực tuyến. Các chức năng bao gồm: tìm kiếm phim, chọn ghế, xử lý thanh toán, gửi vé điện tử. Mô đun "xử lý thanh toán" có thể phụ thuộc vào (nhận dữ liệu từ) mô đun nào?

  • A. Mô đun tìm kiếm phim.
  • B. Mô đun gửi vé điện tử.
  • C. Mô đun xử lý chọn ghế (để biết tổng tiền).
  • D. Mô đun quản lý tài khoản người dùng.

Câu 26: Điều gì là khó khăn chính khi muốn tái sử dụng một phần mã nguồn từ một chương trình được viết theo kiểu "nguyên khối" (monolithic - tất cả code trong một khối duy nhất) so với chương trình thiết kế theo mô đun?

  • A. Mã nguồn thường gắn kết chặt chẽ với các phần khác, khó tách riêng để sử dụng lại.
  • B. Mã nguồn quá ngắn nên không có gì để tái sử dụng.
  • C. Mã nguồn quá dài, không thể sao chép hết.
  • D. Chương trình nguyên khối không bao giờ có lỗi.

Câu 27: Khi thiết kế một mô đun, việc ẩn đi chi tiết cài đặt bên trong và chỉ công bố giao diện (các hàm có thể gọi từ bên ngoài) được gọi là gì?

  • A. Tính kế thừa (Inheritance).
  • B. Tính đóng gói (Encapsulation).
  • C. Tính đa hình (Polymorphism).
  • D. Tính trừu tượng (Abstraction).

Câu 28: Bạn có một mô đun xử lý dữ liệu khách hàng. Mô đun này chứa các hàm để thêm khách hàng mới, tìm kiếm khách hàng, cập nhật thông tin khách hàng, xóa khách hàng. Đây là một ví dụ về mô đun có tính gắn kết (cohesion) như thế nào?

  • A. Gắn kết cao (High cohesion), vì tất cả các hàm đều xử lý cùng một loại dữ liệu (khách hàng).
  • B. Gắn kết thấp (Low cohesion), vì các hàm thực hiện các thao tác khác nhau (thêm, xóa, sửa, tìm).
  • C. Không có tính gắn kết, chỉ là tập hợp các hàm ngẫu nhiên.
  • D. Tính gắn kết chỉ áp dụng cho dữ liệu, không áp dụng cho hàm.

Câu 29: Khi nào thì việc chia một chương trình thành các mô đun có thể làm tăng nhẹ thời gian thực thi so với chương trình nguyên khối?

  • A. Luôn luôn, mô đun làm chương trình chạy chậm hơn.
  • B. Chỉ khi các mô đun được viết bằng các ngôn ngữ khác nhau.
  • C. Khi chương trình không có lỗi.
  • D. Do chi phí nhỏ cho việc gọi hàm và truyền dữ liệu giữa các mô đun.

Câu 30: Bạn đang thiết kế một chương trình xử lý đơn hàng trực tuyến. Một mô đun có tên "XuLyGiamGia" được tạo ra để áp dụng các quy tắc giảm giá. Mô đun này nên nhận đầu vào là gì và trả về gì?

  • A. Nhận vào tên khách hàng, trả về mã giảm giá.
  • B. Không nhận gì cả, chỉ in thông báo giảm giá.
  • C. Nhận vào thông tin đơn hàng (danh sách sản phẩm, số lượng, giá), trả về số tiền giảm giá hoặc đơn hàng sau giảm giá.
  • D. Nhận vào mã giảm giá, trả về True/False.

1 / 30

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

Tags: Bộ đề 01

Câu 1: Khi thiết kế chương trình tính điểm vận động viên theo mô đun, việc tách chức năng đọc dữ liệu từ tệp thành một mô đun riêng (ví dụ: `nhapDL`) mang lại lợi ích chính nào sau đây?

2 / 30

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

Tags: Bộ đề 01

Câu 2: Giả sử bạn đang phát triển một chương trình quản lý thư viện. Bạn cần một mô đun để tìm kiếm sách theo tiêu đề, tác giả hoặc ISBN. Mô đun này nên nhận đầu vào (tham số) là gì và trả về (giá trị trả về) là gì để hiệu quả nhất?

3 / 30

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

Tags: Bộ đề 01

Câu 3: Trong thiết kế mô đun, nguyên tắc 'mỗi mô đun chỉ nên thực hiện một chức năng duy nhất và rõ ràng' được gọi là gì?

4 / 30

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

Tags: Bộ đề 01

Câu 4: Bạn có một chương trình xử lý ảnh. Các tác vụ bao gồm: đọc ảnh, áp dụng bộ lọc xám, áp dụng bộ lọc làm mờ, lưu ảnh. Nếu bạn muốn thiết kế chương trình này theo mô đun, mô đun 'áp dụng bộ lọc làm mờ' nên phụ thuộc (import hoặc gọi) vào mô đun nào?

5 / 30

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

Tags: Bộ đề 01

Câu 5: Đâu là một trong những thách thức tiềm ẩn khi chia một chương trình quá nhỏ thành quá nhiều mô đun?

6 / 30

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

Tags: Bộ đề 01

Câu 6: Trong bài toán tính điểm Sea Games (như đã thảo luận trong bài học), nếu ban tổ chức quyết định thêm một vòng chấm điểm phụ và điểm này cũng cần được tính vào điểm tổng hợp, bạn sẽ cần sửa đổi mô đun nào là chủ yếu?

7 / 30

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

Tags: Bộ đề 01

Câu 7: Việc thiết kế chương trình theo mô đun giúp ích gì cho quá trình kiểm thử (testing) và gỡ lỗi (debugging)?

8 / 30

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

Tags: Bộ đề 01

Câu 8: Trong Python, một 'mô đun' thường tương ứng với khái niệm nào?

9 / 30

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

Tags: Bộ đề 01

Câu 9: Khi thiết kế mô đun, việc xác định rõ ràng 'giao diện' của mô đun (tức là nó nhận vào gì và trả về gì) là rất quan trọng vì:

10 / 30

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

Tags: Bộ đề 01

Câu 10: Bạn được yêu cầu viết một chương trình để xử lý hóa đơn bán hàng. Các bước xử lý bao gồm: 1. Nhập thông tin sản phẩm và số lượng. 2. Tính tổng tiền cho từng mặt hàng. 3. Tính tổng tiền hóa đơn (có thuế/chiết khấu). 4. In hóa đơn ra màn hình hoặc tệp. Đâu là cách phân chia mô đun hợp lý nhất cho bài toán này?

11 / 30

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

Tags: Bộ đề 01

Câu 11: Lợi ích 'Tái sử dụng mã nguồn' trong thiết kế mô đun có nghĩa là gì?

12 / 30

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

Tags: Bộ đề 01

Câu 12: Khi một mô đun A gọi một hàm từ mô đun B, mối quan hệ giữa A và B được gọi là gì?

13 / 30

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

Tags: Bộ đề 01

Câu 13: Điều gì xảy ra nếu bạn thay đổi giao diện của một mô đun (ví dụ: thay đổi tên hàm hoặc số lượng/loại tham số) mà không thông báo cho các mô đun khác sử dụng nó?

14 / 30

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

Tags: Bộ đề 01

Câu 14: Bạn đang xây dựng một ứng dụng di động. Các chức năng bao gồm: xử lý đăng nhập người dùng, hiển thị danh sách sản phẩm, xử lý thanh toán. Đâu là cách tốt nhất để phân chia các chức năng này thành các mô đun?

15 / 30

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

Tags: Bộ đề 01

Câu 15: Giả sử bạn có một mô đun tính thuế thu nhập cá nhân. Mô đun này nhận vào thu nhập chịu thuế và trả về số tiền thuế phải nộp. Để kiểm thử mô đun này một cách hiệu quả, bạn cần làm gì?

16 / 30

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

Tags: Bộ đề 01

Câu 16: Trong bối cảnh lập trình, thuật ngữ 'coupling' (tính kết nối/phụ thuộc) giữa các mô đun đề cập đến điều gì?

17 / 30

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

Tags: Bộ đề 01

Câu 17: Tại sao việc đặt tên cho các mô đun, hàm và biến một cách rõ ràng, dễ hiểu lại quan trọng trong thiết kế mô đun?

18 / 30

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

Tags: Bộ đề 01

Câu 18: Bạn cần viết một chương trình mô phỏng tung xúc xắc. Các chức năng bao gồm: tạo số ngẫu nhiên từ 1 đến 6, hiển thị kết quả tung xúc xắc. Mô đun 'tạo số ngẫu nhiên' nên được thiết kế như thế nào?

19 / 30

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

Tags: Bộ đề 01

Câu 19: Khi nào thì việc sử dụng thiết kế mô đun trở nên đặc biệt quan trọng và mang lại nhiều lợi ích nhất?

20 / 30

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

Tags: Bộ đề 01

Câu 20: Trong quá trình thiết kế mô đun, sau khi đã xác định các chức năng chính và phân chia chúng thành các mô đun tiềm năng, bước tiếp theo quan trọng là gì?

21 / 30

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

Tags: Bộ đề 01

Câu 21: Một chương trình xử lý văn bản có các chức năng như: mở tệp, lưu tệp, định dạng văn bản (in đậm, nghiêng), kiểm tra chính tả. Nếu thiết kế theo mô đun, mô đun 'định dạng văn bản' nên nhận dữ liệu gì và trả về dữ liệu gì?

22 / 30

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

Tags: Bộ đề 01

Câu 22: Lợi ích nào của thiết kế mô đun giúp nhiều lập trình viên có thể làm việc trên cùng một chương trình một cách hiệu quả?

23 / 30

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

Tags: Bộ đề 01

Câu 23: Trong thiết kế mô đun tính điểm Sea Games, giả sử bạn muốn bổ sung chức năng tính điểm trung bình của tất cả vận động viên. Chức năng này nên được đặt ở mô đun nào để tận dụng cấu trúc hiện có?

24 / 30

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

Tags: Bộ đề 01

Câu 24: Khi một mô đun hoàn thành nhiệm vụ của mình và cần gửi kết quả cho mô đun khác, phương thức phổ biến nhất để làm điều này trong lập trình theo mô đun là gì?

25 / 30

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

Tags: Bộ đề 01

Câu 25: Bạn đang xây dựng một hệ thống đặt vé xem phim trực tuyến. Các chức năng bao gồm: tìm kiếm phim, chọn ghế, xử lý thanh toán, gửi vé điện tử. Mô đun 'xử lý thanh toán' có thể phụ thuộc vào (nhận dữ liệu từ) mô đun nào?

26 / 30

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

Tags: Bộ đề 01

Câu 26: Điều gì là khó khăn chính khi muốn tái sử dụng một phần mã nguồn từ một chương trình được viết theo kiểu 'nguyên khối' (monolithic - tất cả code trong một khối duy nhất) so với chương trình thiết kế theo mô đun?

27 / 30

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

Tags: Bộ đề 01

Câu 27: Khi thiết kế một mô đun, việc ẩn đi chi tiết cài đặt bên trong và chỉ công bố giao diện (các hàm có thể gọi từ bên ngoài) được gọi là gì?

28 / 30

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

Tags: Bộ đề 01

Câu 28: Bạn có một mô đun xử lý dữ liệu khách hàng. Mô đun này chứa các hàm để thêm khách hàng mới, tìm kiếm khách hàng, cập nhật thông tin khách hàng, xóa khách hàng. Đây là một ví dụ về mô đun có tính gắn kết (cohesion) như thế nào?

29 / 30

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

Tags: Bộ đề 01

Câu 29: Khi nào thì việc chia một chương trình thành các mô đun có thể làm tăng nhẹ thời gian thực thi so với chương trình nguyên khối?

30 / 30

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

Tags: Bộ đề 01

Câu 30: Bạn đang thiết kế một chương trình xử lý đơn hàng trực tuyến. Một mô đun có tên 'XuLyGiamGia' được tạo ra để áp dụng các quy tắc giảm giá. Mô đun này nên nhận đầu vào là gì và trả về gì?

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 Bài 29: Thực hành thiết kế chương trình theo mô đun

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 02

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 02 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Trong bối cảnh thiết kế chương trình theo mô đun cho bài toán tính điểm vận động viên Sea Games, việc chia chương trình thành các mô đun nhỏ (như nhập dữ liệu, xử lý điểm, ghi kết quả) mang lại lợi ích quan trọng nhất nào?

  • A. Giúp chương trình chạy nhanh hơn.
  • B. Làm giảm dung lượng bộ nhớ cần thiết.
  • C. Đảm bảo chương trình không có lỗi.
  • D. Giúp chương trình dễ bảo trì, nâng cấp và tái sử dụng.

Câu 2: Giả sử bạn đang phát triển một mô đun `tinh_diem_tong_hop` nhận vào danh sách điểm chi tiết của một vận động viên và trả về điểm tổng hợp cuối cùng. Mô đun này cần truy cập và xử lý dữ liệu điểm. Đây là ví dụ về nguyên tắc nào trong thiết kế mô đun?

  • A. Tính cố kết (Cohesion) cao.
  • B. Tính ghép nối (Coupling) cao.
  • C. Tính trừu tượng hóa (Abstraction) thấp.
  • D. Tính đóng gói (Encapsulation) kém.

Câu 3: Trong bài toán Sea Games, mô đun `nhapDL()` đọc dữ liệu từ tệp và trả về hai danh sách (mã số vận động viên và danh sách điểm chi tiết). Mô đun `Xuly()` nhận các danh sách này làm đầu vào để xử lý. Mối quan hệ giữa `nhapDL()` và `Xuly()` trong trường hợp này thể hiện khía cạnh nào của tính ghép nối (Coupling)?

  • A. Ghép nối nội dung (Content coupling) - mức độ cao nhất.
  • B. Ghép nối dữ liệu (Data coupling) - mức độ thấp.
  • C. Ghép nối điều khiển (Control coupling) - truyền cờ điều khiển.
  • D. Ghép nối chung (Common coupling) - sử dụng biến toàn cục.

Câu 4: Nếu ban tổ chức Sea Games quyết định bổ sung thêm một giám khảo thứ 6 và thay đổi công thức tính điểm tổng hợp (bao gồm điểm của giám khảo mới với hệ số khác), mô đun nào trong thiết kế ban đầu (nhập, xử lý, ghi) chắc chắn sẽ cần được chỉnh sửa?

  • A. Chỉ mô đun nhập dữ liệu (`nhapDL`).
  • B. Chỉ mô đun ghi kết quả (`ghiDL`).
  • C. Mô đun nhập dữ liệu (`nhapDL`) và mô đun xử lý dữ liệu (`Xuly`).
  • D. Tất cả các mô đun (`nhapDL`, `Xuly`, `ghiDL`).

Câu 5: Khi thiết kế mô đun `ghiDL()` để ghi kết quả ra tệp, thông tin nào cần thiết được truyền làm tham số cho mô đun này từ mô đun xử lý (`Xuly`)?

  • A. Chỉ danh sách điểm chi tiết từ các giám khảo.
  • B. Chỉ đường dẫn đến tệp đầu vào.
  • C. Chỉ tên tệp đầu ra.
  • D. Danh sách mã số vận động viên và danh sách điểm tổng hợp.

Câu 6: Giả sử bạn muốn bổ sung chức năng kiểm tra tính hợp lệ của dữ liệu đầu vào (ví dụ: điểm số phải nằm trong khoảng 1-10). Chức năng kiểm tra này nên được đặt ở đâu để tuân thủ nguyên tắc thiết kế mô đun và giảm thiểu sự phụ thuộc?

  • A. Trong hoặc ngay sau mô đun `nhapDL()`.
  • B. Trong mô đun `Xuly()`.
  • C. Trong mô đun `diem_gk()`.
  • D. Trong mô đun `ghiDL()`.

Câu 7: Khi kiểm thử (test) chương trình Sea Games đã chia mô đun, lợi ích của việc kiểm thử từng mô đun độc lập (unit testing) trước khi kiểm thử toàn bộ chương trình là gì?

  • A. Giảm thời gian chạy chương trình.
  • B. Đảm bảo giao diện người dùng hoạt động đúng.
  • C. Dễ dàng xác định và sửa lỗi trong từng phần nhỏ.
  • D. Tự động sửa các lỗi cú pháp.

Câu 8: Trong cấu trúc chương trình chính gọi các mô đun `nhapDL`, `Xuly`, `ghiDL`, luồng dữ liệu thông thường diễn ra như thế nào?

  • A. `Xuly` -> `nhapDL` -> `ghiDL`
  • B. `nhapDL` -> `Xuly` -> `ghiDL`
  • C. `ghiDL` -> `nhapDL` -> `Xuly`
  • D. Các mô đun hoạt động song song độc lập.

Câu 9: Giả sử bạn muốn tái sử dụng mô đun `diem_gk()` (tính điểm tổng hợp cho một vận động viên) trong một chương trình khác có cấu trúc dữ liệu điểm khác (ví dụ: danh sách điểm là list các số thực thay vì list các chuỗi cần chuyển đổi). Để làm được điều này một cách hiệu quả, mô đun `diem_gk()` nên được thiết kế như thế nào?

  • A. Nên nhận dữ liệu điểm thô (đã được làm sạch/chuyển đổi sang kiểu số) làm tham số và trả về điểm tổng hợp.
  • B. Nên tự đọc dữ liệu từ tệp đầu vào.
  • C. Nên tự ghi kết quả điểm tổng hợp ra tệp.
  • D. Nên sử dụng biến toàn cục để truy cập dữ liệu điểm.

Câu 10: Trong mô đun `nhapDL()`, việc đọc từng dòng dữ liệu từ tệp, tách các giá trị (mã số, điểm số), và chuyển đổi điểm số từ chuỗi sang số (ví dụ: số thực) là các bước xử lý dữ liệu đầu vào. Nếu tệp đầu vào chứa một dòng bị lỗi định dạng (ví dụ: thiếu một điểm số), mô đun `nhapDL()` nên xử lý tình huống này như thế nào theo nguyên tắc thiết kế tốt?

  • A. Dừng chương trình ngay lập tức và báo lỗi.
  • B. Thông báo lỗi cho dòng dữ liệu đó và bỏ qua dòng đó, hoặc trả về tín hiệu lỗi.
  • C. Tự động sửa lỗi định dạng.
  • D. Truyền dòng dữ liệu lỗi nguyên văn sang mô đun `Xuly()`.

Câu 11: Mô đun `Xuly()` gọi hàm `diem_gk()` để tính điểm cho từng vận động viên. Đây là ví dụ về mối quan hệ nào giữa các mô đun?

  • A. Mô đun `Xuly()` sử dụng mô đun `diem_gk()`.
  • B. Mô đun `diem_gk()` sử dụng mô đun `Xuly()`.
  • C. Hai mô đun là hoàn toàn độc lập.
  • D. Đây là mối quan hệ kế thừa.

Câu 12: Giả sử bạn muốn bổ sung chức năng sắp xếp danh sách vận động viên theo điểm tổng hợp giảm dần trước khi ghi ra tệp. Chức năng sắp xếp này nên được thêm vào mô đun nào để phù hợp với luồng xử lý đã có (`nhapDL` -> `Xuly` -> `ghiDL`) và giữ tính cố kết cao?

  • A. Mô đun `nhapDL()`.
  • B. Mô đun `Xuly()`.
  • C. Mô đun `ghiDL()`.
  • D. Tạo một mô đun mới hoàn toàn độc lập.

Câu 13: Khi thiết kế một mô đun, việc xác định rõ ràng "giao diện" của mô đun đó (tức là các tham số đầu vào nó nhận và giá trị/kết quả nó trả về) là rất quan trọng vì lý do nào sau đây?

  • A. Để mô đun đó có thể tự chạy mà không cần chương trình chính.
  • B. Để làm cho mã nguồn bên trong mô đun ngắn gọn hơn.
  • C. Để ngăn chặn việc tái sử dụng mô đun ở nơi khác.
  • D. Để các mô đun khác có thể tương tác với nó mà không cần biết chi tiết cài đặt bên trong.

Câu 14: Trong bài toán tính điểm Sea Games, nếu yêu cầu thay đổi là chỉ tính điểm trung bình cộng đơn giản (không có hệ số cho giám khảo đầu/cuối), mô đun `diem_gk()` sẽ cần được chỉnh sửa. Sự thay đổi này không ảnh hưởng đến mô đun `nhapDL()` và `ghiDL()`. Điều này thể hiện lợi ích nào của thiết kế mô đun?

  • A. Tính đóng gói và giảm thiểu sự phụ thuộc giữa các mô đun.
  • B. Tăng tốc độ xử lý dữ liệu.
  • C. Giảm số lượng dòng mã trong chương trình.
  • D. Tự động hóa hoàn toàn quy trình.

Câu 15: Bạn được giao nhiệm vụ thiết kế một mô đun để tìm vận động viên có điểm cao nhất. Mô đun này sẽ nhận vào danh sách các cặp (mã số, điểm tổng hợp). Kết quả trả về là mã số của vận động viên đó. Mô đun này có tính cố kết (cohesion) như thế nào?

  • A. Tính cố kết cao, vì nó thực hiện một chức năng đơn lẻ, rõ ràng.
  • B. Tính cố kết thấp, vì nó cần dữ liệu từ mô đun khác.
  • C. Tính cố kết ngẫu nhiên, vì chức năng không liên quan đến dữ liệu.
  • D. Không thể xác định tính cố kết chỉ từ mô tả này.

Câu 16: Khi thiết kế chương trình theo mô đun, việc sử dụng biến toàn cục (global variables) để chia sẻ dữ liệu giữa các mô đun thường được xem là không tốt vì lý do gì?

  • A. Làm cho chương trình chạy chậm hơn.
  • B. Tốn nhiều bộ nhớ hơn.
  • C. Làm cho mã nguồn dễ đọc hơn.
  • D. Làm tăng tính ghép nối (coupling) giữa các mô đun và khó kiểm soát luồng dữ liệu.

Câu 17: Trong bài toán Sea Games, giả sử bạn cần hiển thị kết quả trực tiếp lên màn hình thay vì ghi ra tệp. Bạn sẽ cần tạo một mô đun mới hoặc chỉnh sửa mô đun nào trong thiết kế ban đầu (`nhapDL`, `Xuly`, `ghiDL`)?

  • A. Mô đun `nhapDL()`.
  • B. Mô đun `Xuly()`.
  • C. Mô đun `ghiDL()`.
  • D. Mô đun `diem_gk()`.

Câu 18: Một mô đun được gọi là có tính cố kết (cohesion) cao nếu:

  • A. Nó phụ thuộc vào nhiều mô đun khác.
  • B. Các chức năng bên trong nó đều phục vụ một mục đích duy nhất, rõ ràng.
  • C. Nó có thể được sử dụng lại trong nhiều chương trình khác nhau.
  • D. Nó không sử dụng bất kỳ biến toàn cục nào.

Câu 19: Tính ghép nối (coupling) giữa các mô đun nên như thế nào trong một thiết kế tốt?

  • A. Nên thấp, để giảm sự phụ thuộc giữa các mô đun.
  • B. Nên cao, để các mô đun dễ dàng chia sẻ dữ liệu.
  • C. Nên bằng không, các mô đun hoàn toàn độc lập.
  • D. Không quan trọng đối với chất lượng thiết kế.

Câu 20: Mô đun `diem_gk()` nhận một danh sách điểm của một vận động viên và trả về một số duy nhất (điểm tổng hợp). Kiểu trả về (return type) của mô đun này là gì?

  • A. Một danh sách (list) các điểm.
  • B. Một giá trị số (integer hoặc float).
  • C. Một chuỗi (string).
  • D. Không trả về giá trị nào (void).

Câu 21: Giả sử bạn muốn thêm chức năng phân tích thống kê đơn giản vào chương trình, ví dụ: tính điểm trung bình của tất cả các vận động viên. Chức năng này nên được đặt ở mô đun nào hoặc tạo mô đun mới như thế nào?

  • A. Trong mô đun `nhapDL()`.
  • B. Trong mô đun `ghiDL()`.
  • C. Trong mô đun `Xuly()` hoặc một mô đun phân tích mới.
  • D. Trong mô đun `diem_gk()`.

Câu 22: Việc đặt tên cho các mô đun và hàm theo cách mô tả rõ ràng chức năng của chúng (ví dụ: `nhapDL`, `tinh_diem_tong_hop`, `ghi_ket_qua`) có lợi ích gì trong thiết kế mô đun?

  • A. Tăng khả năng đọc hiểu và bảo trì mã nguồn.
  • B. Giảm thời gian chạy chương trình.
  • C. Tự động sửa lỗi cú pháp.
  • D. Giảm số lượng tham số cần truyền.

Câu 23: Khi thiết kế mô đun `nhapDL()`, nếu tệp đầu vào không tồn tại, chương trình sẽ gặp lỗi. Cách xử lý lỗi này theo hướng thiết kế tốt là gì?

  • A. Tự động tạo tệp trống nếu không tìm thấy.
  • B. Tiếp tục chạy chương trình và xử lý dữ liệu rỗng.
  • C. Dừng chương trình mà không báo lỗi.
  • D. Kiểm tra sự tồn tại của tệp, thông báo lỗi nếu không tìm thấy và kết thúc chương trình một cách có kiểm soát hoặc trả về giá trị báo hiệu lỗi.

Câu 24: Giả sử mô đun `Xuly()` trả về một danh sách các cặp (mã số, điểm tổng hợp). Mô đun `ghiDL()` nhận danh sách này làm đầu vào. Nếu `Xuly()` trả về danh sách rỗng (ví dụ: do tệp đầu vào rỗng hoặc lỗi nhập dữ liệu), mô đun `ghiDL()` nên xử lý tình huống này như thế nào?

  • A. Kiểm tra xem danh sách có rỗng không và ghi thông báo thích hợp hoặc không ghi gì nếu rỗng.
  • B. Cố gắng ghi dữ liệu như bình thường, sẽ gây lỗi.
  • C. Tự động tạo dữ liệu giả để ghi vào tệp.
  • D. Thông báo lỗi và yêu cầu người dùng nhập lại dữ liệu.

Câu 25: Mục tiêu chính của bài thực hành thiết kế chương trình theo mô đun là gì?

  • A. Học cách sử dụng các thư viện có sẵn trong Python.
  • B. Thực hành tính toán điểm số cho vận động viên.
  • C. Rèn luyện kỹ năng phân tích bài toán và thiết kế chương trình thành các mô đun độc lập.
  • D. Học cách làm việc nhóm trong dự án phần mềm.

Câu 26: Trong quá trình phát triển chương trình theo mô đun, việc thay đổi nội dung bên trong một mô đun (ví dụ: tối ưu hóa thuật toán tính điểm trong `diem_gk`) không nên ảnh hưởng đến các mô đun khác, miễn là:

  • A. Kích thước của mô đun không thay đổi.
  • B. Giao diện (tham số đầu vào và giá trị trả về) của mô đun đó không thay đổi.
  • C. Tốc độ chạy của mô đun không thay đổi.
  • D. Mã nguồn bên trong mô đun không quá 100 dòng.

Câu 27: Giả sử bạn cần thêm một chức năng mới: lưu trữ kết quả vào cơ sở dữ liệu thay vì tệp. Để làm điều này theo nguyên tắc thiết kế mô đun, bạn nên làm gì?

  • A. Chỉnh sửa mô đun `nhapDL()` để kết nối cơ sở dữ liệu.
  • B. Chỉnh sửa mô đun `Xuly()` để lưu vào cơ sở dữ liệu.
  • C. Tạo một mô đun mới (`ghiDL_CSDL`) chuyên xử lý việc ghi vào cơ sở dữ liệu.
  • D. Thêm mã kết nối cơ sở dữ liệu vào chương trình chính.

Câu 28: Trong thiết kế mô đun, việc truyền dữ liệu từ mô đun này sang mô đun khác thông qua tham số (parameter passing) là một hình thức ghép nối. Đây là loại ghép nối nào và tại sao nó được ưa chuộng hơn các loại khác?

  • A. Ghép nối dữ liệu (Data coupling) - được ưa chuộng vì là mức ghép nối thấp nhất.
  • B. Ghép nối điều khiển (Control coupling) - được ưa chuộng vì cho phép điều khiển luồng chương trình.
  • C. Ghép nối chung (Common coupling) - được ưa chuộng vì dễ dàng chia sẻ dữ liệu.
  • D. Ghép nối nội dung (Content coupling) - được ưa chuộng vì truy cập trực tiếp bộ nhớ.

Câu 29: Khi một mô đun thực hiện nhiều chức năng không liên quan đến nhau (ví dụ: một mô đun vừa đọc tệp, vừa tính điểm, vừa ghi kết quả), mô đun đó có tính cố kết như thế nào?

  • A. Tính cố kết cao.
  • B. Tính cố kết thấp.
  • C. Tính cố kết ngẫu nhiên.
  • D. Tính cố kết theo thời gian.

Câu 30: Trong thiết kế chương trình theo mô đun, "chương trình chính" (main program) đóng vai trò gì?

  • A. Chứa toàn bộ logic xử lý của bài toán.
  • B. Chỉ làm nhiệm vụ nhập dữ liệu.
  • C. Chỉ làm nhiệm vụ ghi kết quả.
  • D. Điều phối việc gọi các mô đun khác để thực hiện các bước giải quyết bài toán.

1 / 30

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

Tags: Bộ đề 02

Câu 1: Trong bối cảnh thiết kế chương trình theo mô đun cho bài toán tính điểm vận động viên Sea Games, việc chia chương trình thành các mô đun nhỏ (như nhập dữ liệu, xử lý điểm, ghi kết quả) mang lại lợi ích *quan trọng nhất* nào?

2 / 30

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

Tags: Bộ đề 02

Câu 2: Giả sử bạn đang phát triển một mô đun `tinh_diem_tong_hop` nhận vào danh sách điểm chi tiết của một vận động viên và trả về điểm tổng hợp cuối cùng. Mô đun này cần truy cập và xử lý dữ liệu điểm. Đây là ví dụ về nguyên tắc nào trong thiết kế mô đun?

3 / 30

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

Tags: Bộ đề 02

Câu 3: Trong bài toán Sea Games, mô đun `nhapDL()` đọc dữ liệu từ tệp và trả về hai danh sách (mã số vận động viên và danh sách điểm chi tiết). Mô đun `Xuly()` nhận các danh sách này làm đầu vào để xử lý. Mối quan hệ giữa `nhapDL()` và `Xuly()` trong trường hợp này thể hiện khía cạnh nào của tính ghép nối (Coupling)?

4 / 30

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

Tags: Bộ đề 02

Câu 4: Nếu ban tổ chức Sea Games quyết định bổ sung thêm một giám khảo thứ 6 và thay đổi công thức tính điểm tổng hợp (bao gồm điểm của giám khảo mới với hệ số khác), mô đun nào trong thiết kế ban đầu (nhập, xử lý, ghi) chắc chắn sẽ cần được chỉnh sửa?

5 / 30

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

Tags: Bộ đề 02

Câu 5: Khi thiết kế mô đun `ghiDL()` để ghi kết quả ra tệp, thông tin nào *cần thiết* được truyền làm tham số cho mô đun này từ mô đun xử lý (`Xuly`)?

6 / 30

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

Tags: Bộ đề 02

Câu 6: Giả sử bạn muốn bổ sung chức năng kiểm tra tính hợp lệ của dữ liệu đầu vào (ví dụ: điểm số phải nằm trong khoảng 1-10). Chức năng kiểm tra này nên được đặt ở đâu để tuân thủ nguyên tắc thiết kế mô đun và giảm thiểu sự phụ thuộc?

7 / 30

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

Tags: Bộ đề 02

Câu 7: Khi kiểm thử (test) chương trình Sea Games đã chia mô đun, lợi ích của việc kiểm thử từng mô đun độc lập (unit testing) trước khi kiểm thử toàn bộ chương trình là gì?

8 / 30

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

Tags: Bộ đề 02

Câu 8: Trong cấu trúc chương trình chính gọi các mô đun `nhapDL`, `Xuly`, `ghiDL`, luồng dữ liệu *thông thường* diễn ra như thế nào?

9 / 30

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

Tags: Bộ đề 02

Câu 9: Giả sử bạn muốn tái sử dụng mô đun `diem_gk()` (tính điểm tổng hợp cho một vận động viên) trong một chương trình khác có cấu trúc dữ liệu điểm khác (ví dụ: danh sách điểm là list các số thực thay vì list các chuỗi cần chuyển đổi). Để làm được điều này một cách hiệu quả, mô đun `diem_gk()` nên được thiết kế như thế nào?

10 / 30

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

Tags: Bộ đề 02

Câu 10: Trong mô đun `nhapDL()`, việc đọc từng dòng dữ liệu từ tệp, tách các giá trị (mã số, điểm số), và chuyển đổi điểm số từ chuỗi sang số (ví dụ: số thực) là các bước xử lý dữ liệu đầu vào. Nếu tệp đầu vào chứa một dòng bị lỗi định dạng (ví dụ: thiếu một điểm số), mô đun `nhapDL()` nên xử lý tình huống này như thế nào theo nguyên tắc thiết kế tốt?

11 / 30

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

Tags: Bộ đề 02

Câu 11: Mô đun `Xuly()` gọi hàm `diem_gk()` để tính điểm cho từng vận động viên. Đây là ví dụ về mối quan hệ nào giữa các mô đun?

12 / 30

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

Tags: Bộ đề 02

Câu 12: Giả sử bạn muốn bổ sung chức năng sắp xếp danh sách vận động viên theo điểm tổng hợp giảm dần trước khi ghi ra tệp. Chức năng sắp xếp này nên được thêm vào mô đun nào để phù hợp với luồng xử lý đã có (`nhapDL` -> `Xuly` -> `ghiDL`) và giữ tính cố kết cao?

13 / 30

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

Tags: Bộ đề 02

Câu 13: Khi thiết kế một mô đun, việc xác định rõ ràng 'giao diện' của mô đun đó (tức là các tham số đầu vào nó nhận và giá trị/kết quả nó trả về) là rất quan trọng vì lý do nào sau đây?

14 / 30

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

Tags: Bộ đề 02

Câu 14: Trong bài toán tính điểm Sea Games, nếu yêu cầu thay đổi là chỉ tính điểm trung bình cộng đơn giản (không có hệ số cho giám khảo đầu/cuối), mô đun `diem_gk()` sẽ cần được chỉnh sửa. Sự thay đổi này *không* ảnh hưởng đến mô đun `nhapDL()` và `ghiDL()`. Điều này thể hiện lợi ích nào của thiết kế mô đun?

15 / 30

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

Tags: Bộ đề 02

Câu 15: Bạn được giao nhiệm vụ thiết kế một mô đun để tìm vận động viên có điểm cao nhất. Mô đun này sẽ nhận vào danh sách các cặp (mã số, điểm tổng hợp). Kết quả trả về là mã số của vận động viên đó. Mô đun này có tính cố kết (cohesion) như thế nào?

16 / 30

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

Tags: Bộ đề 02

Câu 16: Khi thiết kế chương trình theo mô đun, việc sử dụng biến toàn cục (global variables) để chia sẻ dữ liệu giữa các mô đun thường được xem là không tốt vì lý do gì?

17 / 30

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

Tags: Bộ đề 02

Câu 17: Trong bài toán Sea Games, giả sử bạn cần hiển thị kết quả trực tiếp lên màn hình thay vì ghi ra tệp. Bạn sẽ cần tạo một mô đun mới hoặc chỉnh sửa mô đun nào trong thiết kế ban đầu (`nhapDL`, `Xuly`, `ghiDL`)?

18 / 30

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

Tags: Bộ đề 02

Câu 18: Một mô đun được gọi là có tính cố kết (cohesion) cao nếu:

19 / 30

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

Tags: Bộ đề 02

Câu 19: Tính ghép nối (coupling) giữa các mô đun nên như thế nào trong một thiết kế tốt?

20 / 30

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

Tags: Bộ đề 02

Câu 20: Mô đun `diem_gk()` nhận một danh sách điểm của một vận động viên và trả về một số duy nhất (điểm tổng hợp). Kiểu trả về (return type) của mô đun này là gì?

21 / 30

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

Tags: Bộ đề 02

Câu 21: Giả sử bạn muốn thêm chức năng phân tích thống kê đơn giản vào chương trình, ví dụ: tính điểm trung bình của tất cả các vận động viên. Chức năng này nên được đặt ở mô đun nào hoặc tạo mô đun mới như thế nào?

22 / 30

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

Tags: Bộ đề 02

Câu 22: Việc đặt tên cho các mô đun và hàm theo cách mô tả rõ ràng chức năng của chúng (ví dụ: `nhapDL`, `tinh_diem_tong_hop`, `ghi_ket_qua`) có lợi ích gì trong thiết kế mô đun?

23 / 30

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

Tags: Bộ đề 02

Câu 23: Khi thiết kế mô đun `nhapDL()`, nếu tệp đầu vào không tồn tại, chương trình sẽ gặp lỗi. Cách xử lý lỗi này theo hướng thiết kế tốt là gì?

24 / 30

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

Tags: Bộ đề 02

Câu 24: Giả sử mô đun `Xuly()` trả về một danh sách các cặp (mã số, điểm tổng hợp). Mô đun `ghiDL()` nhận danh sách này làm đầu vào. Nếu `Xuly()` trả về danh sách rỗng (ví dụ: do tệp đầu vào rỗng hoặc lỗi nhập dữ liệu), mô đun `ghiDL()` nên xử lý tình huống này như thế nào?

25 / 30

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

Tags: Bộ đề 02

Câu 25: Mục tiêu chính của bài thực hành thiết kế chương trình theo mô đun là gì?

26 / 30

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

Tags: Bộ đề 02

Câu 26: Trong quá trình phát triển chương trình theo mô đun, việc thay đổi nội dung bên trong một mô đun (ví dụ: tối ưu hóa thuật toán tính điểm trong `diem_gk`) *không* nên ảnh hưởng đến các mô đun khác, miễn là:

27 / 30

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

Tags: Bộ đề 02

Câu 27: Giả sử bạn cần thêm một chức năng mới: lưu trữ kết quả vào cơ sở dữ liệu thay vì tệp. Để làm điều này theo nguyên tắc thiết kế mô đun, bạn nên làm gì?

28 / 30

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

Tags: Bộ đề 02

Câu 28: Trong thiết kế mô đun, việc truyền dữ liệu từ mô đun này sang mô đun khác thông qua tham số (parameter passing) là một hình thức ghép nối. Đây là loại ghép nối nào và tại sao nó được ưa chuộng hơn các loại khác?

29 / 30

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

Tags: Bộ đề 02

Câu 29: Khi một mô đun thực hiện nhiều chức năng không liên quan đến nhau (ví dụ: một mô đun vừa đọc tệp, vừa tính điểm, vừa ghi kết quả), mô đun đó có tính cố kết như thế nào?

30 / 30

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

Tags: Bộ đề 02

Câu 30: Trong thiết kế chương trình theo mô đun, 'chương trình chính' (main program) đóng vai trò gì?

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 Bài 29: Thực hành thiết kế chương trình theo mô đun

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 03

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 03 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Trong bối cảnh thiết kế chương trình theo mô đun, mục tiêu chính của việc chia một chương trình lớn thành các mô đun nhỏ hơn là gì?

  • A. Giảm số dòng mã lệnh tổng thể của chương trình.
  • B. Giảm độ phức tạp của chương trình, giúp dễ quản lý và bảo trì.
  • C. Tăng tốc độ thực thi của chương trình.
  • D. Bắt buộc phải sử dụng các ngôn ngữ lập trình hướng đối tượng.

Câu 2: Xét bài toán tính điểm tổng hợp cho vận động viên Sea Games như trong Bài 29. Mô đun `nhapDL(finp)` có nhiệm vụ chính là gì?

  • A. Tính toán điểm tổng hợp cho từng vận động viên dựa trên công thức.
  • B. Sắp xếp danh sách vận động viên theo thứ tự điểm.
  • C. Ghi kết quả điểm tổng hợp ra một tệp mới.
  • D. Đọc dữ liệu thô từ tệp đầu vào và trả về dữ liệu đã được tổ chức (ví dụ: danh sách VĐV và điểm của họ).

Câu 3: Trong bài toán Sea Games, mô đun nào chịu trách nhiệm thực hiện công thức tính điểm tổng hợp cho từng vận động viên dựa trên dãy điểm của các giám khảo?

  • A. Mô đun xử lý dữ liệu (ví dụ: hàm tính điểm cụ thể như `diem_gk`).
  • B. Mô đun nhập dữ liệu.
  • C. Mô đun ghi kết quả.
  • D. Mô đun chính của chương trình (main program).

Câu 4: Giả sử ban tổ chức Sea Games quyết định thay đổi công thức tính điểm tổng hợp, ví dụ: không tính điểm của giám khảo đầu tiên. Khi thiết kế chương trình theo mô đun, việc thay đổi này sẽ ảnh hưởng trực tiếp đến mô đun nào?

  • A. Mô đun nhập dữ liệu.
  • B. Mô đun ghi kết quả.
  • C. Mô đun xử lý dữ liệu (chứa logic tính điểm).
  • D. Tất cả các mô đun đều cần được sửa đổi.

Câu 5: Một trong những lợi ích quan trọng nhất của thiết kế chương trình theo mô đun là khả năng tái sử dụng (reusability). Điều này có nghĩa là gì?

  • A. Các mô đun đã viết có thể được sử dụng lại trong các chương trình hoặc dự án khác mà không cần viết lại.
  • B. Chương trình có thể chạy trên nhiều hệ điều hành khác nhau.
  • C. Mã lệnh trong mô đun tự động được tối ưu hóa để chạy nhanh hơn.
  • D. Người lập trình có thể sử dụng lại kiến thức đã học từ các ngôn ngữ khác.

Câu 6: Hãy xem xét một chương trình tính toán và hiển thị kết quả. Nếu chương trình được thiết kế theo mô đun, luồng dữ liệu điển hình giữa các mô đun chính sẽ là gì?

  • A. Xử lý -> Nhập -> Xuất
  • B. Nhập -> Xử lý -> Xuất
  • C. Xuất -> Nhập -> Xử lý
  • D. Xử lý -> Xuất -> Nhập

Câu 7: Trong bài toán Sea Games, sau khi mô đun `Xuly()` đã tính toán xong điểm tổng hợp cho tất cả vận động viên, dữ liệu này (danh sách VĐV và điểm tổng hợp) sẽ được truyền tới mô đun nào tiếp theo?

  • A. Mô đun `nhapDL()` để đọc lại dữ liệu.
  • B. Mô đun `diem_gk()` để tính điểm lại.
  • C. Chương trình kết thúc ngay lập tức.
  • D. Mô đun `ghiDL()` để ghi kết quả ra tệp.

Câu 8: Giả sử bạn cần thêm chức năng sắp xếp danh sách vận động viên theo thứ tự giảm dần của điểm tổng hợp trước khi ghi ra tệp. Chức năng sắp xếp này nên được đặt ở đâu để tuân thủ nguyên tắc thiết kế mô đun?

  • A. Trong mô đun `nhapDL()`, ngay sau khi đọc dữ liệu.
  • B. Trong mô đun `Xuly()`, sau khi tính điểm tổng hợp và trước khi truyền dữ liệu cho mô đun ghi kết quả.
  • C. Trong mô đun `diem_gk()`, cùng với logic tính điểm.
  • D. Trong một mô đun hoàn toàn mới chỉ làm nhiệm vụ sắp xếp độc lập với luồng chính.

Câu 9: Điều gì xảy ra nếu các mô đun trong chương trình có sự phụ thuộc lẫn nhau quá chặt chẽ (high coupling)?

  • A. Chương trình chạy nhanh hơn do các mô đun "hiểu rõ" nhau.
  • B. Việc kiểm thử từng mô đun riêng lẻ trở nên dễ dàng hơn.
  • C. Khi sửa đổi một mô đun, có khả năng cao phải sửa đổi các mô đun khác phụ thuộc vào nó.
  • D. Khả năng tái sử dụng mô đun đó cho các chương trình khác sẽ tăng lên.

Câu 10: Khái niệm "cohesion" (sự gắn kết) trong thiết kế mô đun đề cập đến điều gì?

  • A. Mức độ các phần tử bên trong một mô đun làm việc cùng nhau để thực hiện một chức năng duy nhất.
  • B. Mức độ một mô đun phụ thuộc vào các mô đun khác.
  • C. Số lượng dòng mã lệnh trong một mô đun.
  • D. Tốc độ thực thi của mô đun.

Câu 11: Trong thiết kế mô đun hiệu quả, người ta mong muốn các mô đun có đặc điểm gì về "coupling" và "cohesion"?

  • A. Coupling cao, Cohesion cao.
  • B. Coupling thấp, Cohesion cao.
  • C. Coupling cao, Cohesion thấp.
  • D. Coupling thấp, Cohesion thấp.

Câu 12: Hãy xem xét một chương trình quản lý sách trong thư viện. Nếu thiết kế theo mô đun, mô đun nào có thể chịu trách nhiệm xử lý việc tìm kiếm sách theo tiêu đề?

  • A. Mô đun nhập dữ liệu (đọc danh sách sách từ tệp).
  • B. Mô đun xuất dữ liệu (hiển thị kết quả tìm kiếm).
  • C. Mô đun xử lý/tìm kiếm dữ liệu.
  • D. Mô đun giao diện người dùng.

Câu 13: Nếu bạn cần kiểm thử chức năng tính điểm tổng hợp (`diem_gk`) của một vận động viên trong bài toán Sea Games, lợi ích của việc nó là một mô đun (hàm) riêng biệt là gì?

  • A. Có thể kiểm thử hàm `diem_gk` một cách độc lập bằng cách cung cấp dữ liệu đầu vào mẫu mà không cần chạy toàn bộ chương trình.
  • B. Hàm `diem_gk` sẽ tự động phát hiện lỗi của chính nó.
  • C. Việc kiểm thử toàn bộ chương trình trở nên phức tạp hơn.
  • D. Chỉ cần kiểm thử hàm `diem_gk`, không cần kiểm thử các phần khác.

Câu 14: Trong lập trình, việc một mô đun "che giấu" các chi tiết cài đặt bên trong và chỉ cho phép truy cập thông qua giao diện (các tham số, giá trị trả về) được gọi là nguyên tắc gì?

  • A. Tái sử dụng (Reusability).
  • B. Độ phức tạp (Complexity).
  • C. Độ kết nối (Coupling).
  • D. Che giấu thông tin (Information Hiding).

Câu 15: Giả sử bạn đang làm việc trên một chương trình đã được thiết kế theo mô đun và phát hiện một lỗi trong mô đun xử lý dữ liệu. Lợi ích của việc chương trình được chia thành mô đun trong trường hợp này là gì?

  • A. Lỗi sẽ tự động được sửa bởi các mô đun khác.
  • B. Bạn có thể tập trung tìm và sửa lỗi trong mô đun cụ thể đó mà ít ảnh hưởng đến các phần khác của chương trình.
  • C. Việc tìm ra lỗi trở nên khó khăn hơn do mã lệnh bị phân tán.
  • D. Chương trình sẽ ngừng hoạt động hoàn toàn nếu có lỗi trong bất kỳ mô đun nào.

Câu 16: Khi thiết kế một chương trình tính toán điểm trung bình cho học sinh từ dữ liệu trong tệp, mô đun "xử lý dữ liệu" (tính điểm trung bình) cần nhận dữ liệu gì từ mô đun "nhập dữ liệu"?

  • A. Kết quả điểm trung bình cuối cùng.
  • B. Tên của tệp đầu ra.
  • C. Danh sách điểm số của từng học sinh.
  • D. Số lượng học sinh.

Câu 17: Mô đun chính (main program) trong một chương trình được thiết kế theo mô đun thường đóng vai trò gì?

  • A. Điều phối hoạt động của chương trình bằng cách gọi các mô đun khác theo đúng trình tự.
  • B. Chứa toàn bộ logic tính toán phức tạp nhất.
  • C. Chỉ dùng để khai báo biến toàn cục.
  • D. Hiển thị kết quả cuối cùng ra màn hình hoặc tệp.

Câu 18: So sánh một chương trình được viết theo kiểu "nguyên khối" (monolithic) với một chương trình được thiết kế theo mô đun. Điểm khác biệt chính nằm ở đâu?

  • A. Tốc độ thực thi.
  • B. Cách tổ chức mã nguồn và phân chia chức năng.
  • C. Ngôn ngữ lập trình được sử dụng.
  • D. Số lượng biến được sử dụng.

Câu 19: Việc đặt tên cho các mô đun và các hàm bên trong chúng một cách rõ ràng và có ý nghĩa quan trọng như thế nào trong thiết kế mô đun?

  • A. Không quan trọng, chỉ cần mã lệnh chạy đúng.
  • B. Chỉ giúp người viết chương trình ban đầu dễ nhớ.
  • C. Giúp chương trình chạy nhanh hơn.
  • D. Giúp người đọc mã nguồn (bao gồm cả người viết sau này) dễ dàng hiểu chức năng và mục đích của từng mô đun/hàm.

Câu 20: Trong bài toán Sea Games, nếu cần bổ sung thêm thông tin về quốc gia của mỗi vận động viên vào dữ liệu đầu vào và hiển thị cả thông tin này trong kết quả, những mô đun nào có khả năng cần được sửa đổi?

  • A. Mô đun nhập dữ liệu và mô đun ghi kết quả.
  • B. Chỉ mô đun xử lý dữ liệu.
  • C. Chỉ mô đun nhập dữ liệu.
  • D. Chỉ mô đun ghi kết quả.

Câu 21: Giả sử bạn đang làm việc trong một nhóm phát triển phần mềm. Thiết kế chương trình theo mô đun mang lại lợi ích gì cho việc làm việc nhóm?

  • A. Buộc mọi người phải viết mã theo cùng một phong cách.
  • B. Giảm thiểu hoàn toàn sự cần thiết phải giao tiếp giữa các thành viên.
  • C. Cho phép nhiều thành viên cùng làm việc đồng thời trên các mô đun khác nhau mà ít gây xung đột.
  • D. Tự động quản lý phiên bản mã nguồn.

Câu 22: Mô đun `ghiDL(fout, A, B)` trong bài toán Sea Games nhận tham số `A` và `B`. Dựa trên luồng dữ liệu thông thường, `A` và `B` khả năng cao chứa thông tin gì?

  • A. Dữ liệu thô đọc từ tệp đầu vào.
  • B. Danh sách vận động viên và điểm tổng hợp đã được tính toán.
  • C. Công thức tính điểm tổng hợp.
  • D. Tên của tệp đầu vào.

Câu 23: Điều nào sau đây KHÔNG PHẢI là một lợi ích trực tiếp của việc thiết kế chương trình theo mô đun?

  • A. Dễ bảo trì và sửa lỗi.
  • B. Tăng khả năng tái sử dụng mã nguồn.
  • C. Giảm độ phức tạp tổng thể của hệ thống.
  • D. Luôn tăng tốc độ thực thi chương trình.

Câu 24: Khi một mô đun (hàm) được thiết kế tốt, nó nên tập trung vào việc thực hiện bao nhiêu chức năng chính?

  • A. Một chức năng chính duy nhất.
  • B. Càng nhiều chức năng càng tốt để giảm số lượng mô đun.
  • C. Ít nhất hai chức năng liên quan.
  • D. Tùy thuộc vào số lượng dòng mã lệnh.

Câu 25: Trong bài toán Sea Games, nếu cấu trúc của tệp đầu vào `SeaGames.inp` thay đổi (ví dụ: thứ tự các cột dữ liệu khác đi), mô đun nào cần được kiểm tra và sửa đổi?

  • A. Mô đun xử lý dữ liệu.
  • B. Mô đun ghi kết quả.
  • C. Mô đun nhập dữ liệu.
  • D. Mô đun chính.

Câu 26: Tại sao việc sử dụng biến toàn cục (global variables) một cách tùy tiện lại không được khuyến khích trong lập trình mô đun?

  • A. Vì biến toàn cục làm chương trình chạy chậm hơn.
  • B. Vì biến toàn cục làm tăng sự phụ thuộc giữa các mô đun (coupling), khó kiểm soát sự thay đổi dữ liệu.
  • C. Vì biến toàn cục chiếm nhiều bộ nhớ hơn biến cục bộ.
  • D. Vì biến toàn cục chỉ có thể được truy cập bởi mô đun chính.

Câu 27: Khi một mô đun cần sử dụng một chức năng được cung cấp bởi mô đun khác, cách giao tiếp được khuyến khích nhất giữa chúng là gì?

  • A. Thông qua các tham số truyền vào hàm và giá trị trả về của hàm.
  • B. Thông qua việc truy cập trực tiếp vào biến cục bộ của nhau.
  • C. Thông qua việc sử dụng biến toàn cục.
  • D. Thông qua việc sửa đổi trực tiếp mã nguồn của mô đun kia.

Câu 28: Mô đun nào trong bài toán Sea Games chịu trách nhiệm chuẩn bị dữ liệu để ghi ra tệp, ví dụ: định dạng dòng văn bản cho mỗi vận động viên?

  • A. Mô đun `nhapDL()`.
  • B. Mô đun `Xuly()`.
  • C. Mô đun `diem_gk()`.
  • D. Mô đun `ghiDL()`.

Câu 29: Giả sử bạn muốn viết một chương trình mới để tính điểm cho một cuộc thi khác có cấu trúc dữ liệu đầu vào và công thức tính điểm TƯƠNG TỰ như Sea Games. Nhờ thiết kế mô đun, bạn có thể tái sử dụng mô đun nào từ chương trình Sea Games?

  • A. Mô đun nhập dữ liệu và mô đun tính điểm (hoặc hàm tính điểm).
  • B. Chỉ mô đun ghi kết quả.
  • C. Chỉ mô đun chính.
  • D. Không mô đun nào có thể tái sử dụng được.

Câu 30: Trong ngữ cảnh của Bài 29, "thực hành thiết kế chương trình theo mô đun" nhấn mạnh vào kỹ năng nào của người lập trình?

  • A. Kỹ năng ghi nhớ cú pháp của ngôn ngữ lập trình.
  • B. Kỹ năng phân tích bài toán lớn thành các bài toán con và tổ chức chúng thành các mô đun.
  • C. Kỹ năng tối ưu hóa tốc độ thực thi chương trình.
  • D. Kỹ năng thiết kế giao diện người dùng đẹp mắt.

1 / 30

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

Tags: Bộ đề 03

Câu 1: Trong bối cảnh thiết kế chương trình theo mô đun, mục tiêu chính của việc chia một chương trình lớn thành các mô đun nhỏ hơn là gì?

2 / 30

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

Tags: Bộ đề 03

Câu 2: Xét bài toán tính điểm tổng hợp cho vận động viên Sea Games như trong Bài 29. Mô đun `nhapDL(finp)` có nhiệm vụ chính là gì?

3 / 30

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

Tags: Bộ đề 03

Câu 3: Trong bài toán Sea Games, mô đun nào chịu trách nhiệm thực hiện công thức tính điểm tổng hợp cho từng vận động viên dựa trên dãy điểm của các giám khảo?

4 / 30

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

Tags: Bộ đề 03

Câu 4: Giả sử ban tổ chức Sea Games quyết định thay đổi công thức tính điểm tổng hợp, ví dụ: không tính điểm của giám khảo đầu tiên. Khi thiết kế chương trình theo mô đun, việc thay đổi này sẽ ảnh hưởng trực tiếp đến mô đun nào?

5 / 30

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

Tags: Bộ đề 03

Câu 5: Một trong những lợi ích quan trọng nhất của thiết kế chương trình theo mô đun là khả năng tái sử dụng (reusability). Điều này có nghĩa là gì?

6 / 30

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

Tags: Bộ đề 03

Câu 6: Hãy xem xét một chương trình tính toán và hiển thị kết quả. Nếu chương trình được thiết kế theo mô đun, luồng dữ liệu điển hình giữa các mô đun chính sẽ là gì?

7 / 30

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

Tags: Bộ đề 03

Câu 7: Trong bài toán Sea Games, sau khi mô đun `Xuly()` đã tính toán xong điểm tổng hợp cho tất cả vận động viên, dữ liệu này (danh sách VĐV và điểm tổng hợp) sẽ được truyền tới mô đun nào tiếp theo?

8 / 30

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

Tags: Bộ đề 03

Câu 8: Giả sử bạn cần thêm chức năng sắp xếp danh sách vận động viên theo thứ tự giảm dần của điểm tổng hợp trước khi ghi ra tệp. Chức năng sắp xếp này nên được đặt ở đâu để tuân thủ nguyên tắc thiết kế mô đun?

9 / 30

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

Tags: Bộ đề 03

Câu 9: Điều gì xảy ra nếu các mô đun trong chương trình có sự phụ thuộc lẫn nhau quá chặt chẽ (high coupling)?

10 / 30

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

Tags: Bộ đề 03

Câu 10: Khái niệm 'cohesion' (sự gắn kết) trong thiết kế mô đun đề cập đến điều gì?

11 / 30

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

Tags: Bộ đề 03

Câu 11: Trong thiết kế mô đun hiệu quả, người ta mong muốn các mô đun có đặc điểm gì về 'coupling' và 'cohesion'?

12 / 30

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

Tags: Bộ đề 03

Câu 12: Hãy xem xét một chương trình quản lý sách trong thư viện. Nếu thiết kế theo mô đun, mô đun nào có thể chịu trách nhiệm xử lý việc tìm kiếm sách theo tiêu đề?

13 / 30

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

Tags: Bộ đề 03

Câu 13: Nếu bạn cần kiểm thử chức năng tính điểm tổng hợp (`diem_gk`) của một vận động viên trong bài toán Sea Games, lợi ích của việc nó là một mô đun (hàm) riêng biệt là gì?

14 / 30

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

Tags: Bộ đề 03

Câu 14: Trong lập trình, việc một mô đun 'che giấu' các chi tiết cài đặt bên trong và chỉ cho phép truy cập thông qua giao diện (các tham số, giá trị trả về) được gọi là nguyên tắc gì?

15 / 30

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

Tags: Bộ đề 03

Câu 15: Giả sử bạn đang làm việc trên một chương trình đã được thiết kế theo mô đun và phát hiện một lỗi trong mô đun xử lý dữ liệu. Lợi ích của việc chương trình được chia thành mô đun trong trường hợp này là gì?

16 / 30

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

Tags: Bộ đề 03

Câu 16: Khi thiết kế một chương trình tính toán điểm trung bình cho học sinh từ dữ liệu trong tệp, mô đun 'xử lý dữ liệu' (tính điểm trung bình) cần nhận dữ liệu gì từ mô đun 'nhập dữ liệu'?

17 / 30

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

Tags: Bộ đề 03

Câu 17: Mô đun chính (main program) trong một chương trình được thiết kế theo mô đun thường đóng vai trò gì?

18 / 30

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

Tags: Bộ đề 03

Câu 18: So sánh một chương trình được viết theo kiểu 'nguyên khối' (monolithic) với một chương trình được thiết kế theo mô đun. Điểm khác biệt chính nằm ở đâu?

19 / 30

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

Tags: Bộ đề 03

Câu 19: Việc đặt tên cho các mô đun và các hàm bên trong chúng một cách rõ ràng và có ý nghĩa quan trọng như thế nào trong thiết kế mô đun?

20 / 30

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

Tags: Bộ đề 03

Câu 20: Trong bài toán Sea Games, nếu cần bổ sung thêm thông tin về quốc gia của mỗi vận động viên vào dữ liệu đầu vào và hiển thị cả thông tin này trong kết quả, những mô đun nào có khả năng cần được sửa đổi?

21 / 30

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

Tags: Bộ đề 03

Câu 21: Giả sử bạn đang làm việc trong một nhóm phát triển phần mềm. Thiết kế chương trình theo mô đun mang lại lợi ích gì cho việc làm việc nhóm?

22 / 30

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

Tags: Bộ đề 03

Câu 22: Mô đun `ghiDL(fout, A, B)` trong bài toán Sea Games nhận tham số `A` và `B`. Dựa trên luồng dữ liệu thông thường, `A` và `B` khả năng cao chứa thông tin gì?

23 / 30

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

Tags: Bộ đề 03

Câu 23: Điều nào sau đây KHÔNG PHẢI là một lợi ích trực tiếp của việc thiết kế chương trình theo mô đun?

24 / 30

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

Tags: Bộ đề 03

Câu 24: Khi một mô đun (hàm) được thiết kế tốt, nó nên tập trung vào việc thực hiện bao nhiêu chức năng chính?

25 / 30

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

Tags: Bộ đề 03

Câu 25: Trong bài toán Sea Games, nếu cấu trúc của tệp đầu vào `SeaGames.inp` thay đổi (ví dụ: thứ tự các cột dữ liệu khác đi), mô đun nào cần được kiểm tra và sửa đổi?

26 / 30

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

Tags: Bộ đề 03

Câu 26: Tại sao việc sử dụng biến toàn cục (global variables) một cách tùy tiện lại không được khuyến khích trong lập trình mô đun?

27 / 30

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

Tags: Bộ đề 03

Câu 27: Khi một mô đun cần sử dụng một chức năng được cung cấp bởi mô đun khác, cách giao tiếp được khuyến khích nhất giữa chúng là gì?

28 / 30

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

Tags: Bộ đề 03

Câu 28: Mô đun nào trong bài toán Sea Games chịu trách nhiệm chuẩn bị dữ liệu để ghi ra tệp, ví dụ: định dạng dòng văn bản cho mỗi vận động viên?

29 / 30

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

Tags: Bộ đề 03

Câu 29: Giả sử bạn muốn viết một chương trình mới để tính điểm cho một cuộc thi khác có cấu trúc dữ liệu đầu vào và công thức tính điểm TƯƠNG TỰ như Sea Games. Nhờ thiết kế mô đun, bạn có thể tái sử dụng mô đun nào từ chương trình Sea Games?

30 / 30

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

Tags: Bộ đề 03

Câu 30: Trong ngữ cảnh của Bài 29, 'thực hành thiết kế chương trình theo mô đun' nhấn mạnh vào kỹ năng nào của người lập trình?

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 Bài 29: Thực hành thiết kế chương trình theo mô đun

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 04

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 04 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Giả sử bạn đang phát triển một chương trình quản lý sách trong thư viện. Chương trình cần các chức năng: nhập thông tin sách từ file, tìm kiếm sách theo tên, hiển thị danh sách sách, và lưu thông tin sách ra file. Theo nguyên tắc thiết kế mô đun, chức năng "tìm kiếm sách theo tên" nên được đặt trong một mô đun riêng vì lý do chính nào?

  • A. Để giảm số dòng code trong hàm chính.
  • B. Để chương trình chạy nhanh hơn.
  • C. Để dễ dàng thêm chức năng nhập dữ liệu khác sau này.
  • D. Để chức năng tìm kiếm có thể được phát triển, kiểm thử hoặc thay đổi độc lập, tăng tính tái sử dụng và bảo trì.

Câu 2: Trong thiết kế chương trình theo mô đun, "tính đóng gói" (encapsulation) đề cập đến khía cạnh nào?

  • A. Toàn bộ mã nguồn của chương trình được lưu trong một file duy nhất.
  • B. Các mô đun chỉ có thể truy cập dữ liệu chung của chương trình.
  • C. Chi tiết cài đặt bên trong một mô đun được che giấu khỏi các mô đun khác, chỉ thông qua giao diện được định nghĩa rõ ràng.
  • D. Mỗi mô đun phải có kích thước nhỏ hơn một giới hạn nhất định.

Câu 3: Giả sử bạn có một mô đun xử lý dữ liệu học sinh, nhận đầu vào là danh sách điểm và trả về điểm trung bình. Nếu sau này cần thay đổi cách tính điểm trung bình (ví dụ: bỏ điểm thấp nhất), bạn chỉ cần chỉnh sửa mô đun xử lý dữ liệu mà không cần thay đổi mô đun nhập dữ liệu hay mô đun hiển thị kết quả. Lợi ích này thể hiện rõ nhất đặc điểm nào của thiết kế mô đun?

  • A. Tính bảo trì và tính linh hoạt.
  • B. Tính hiệu quả về tốc độ thực thi.
  • C. Tính đơn giản hóa cấu trúc dữ liệu.
  • D. Tính bảo mật của chương trình.

Câu 4: Khi thiết kế một mô đun, điều quan trọng là xác định rõ "giao diện" của nó. Giao diện của mô đun bao gồm những gì?

  • A. Toàn bộ mã nguồn bên trong mô đun.
  • B. Các hàm, thủ tục công khai mà mô đun cung cấp cho các mô đun khác sử dụng, cùng với các tham số và giá trị trả về.
  • C. Chỉ các biến toàn cục mà mô đun sử dụng.
  • D. Tên file chứa mã nguồn của mô đun.

Câu 5: Bạn được giao nhiệm vụ viết một chương trình xử lý chuỗi. Chương trình cần các chức năng: kiểm tra chuỗi có phải là palindrome không, đếm số từ trong chuỗi, và chuẩn hóa chuỗi (xóa khoảng trắng thừa). Việc chia chương trình thành ba mô đun riêng biệt cho ba chức năng này mang lại lợi ích nào sau đây?

  • A. Giảm dung lượng bộ nhớ cần thiết để chạy chương trình.
  • B. Đảm bảo rằng chỉ có một người lập trình làm việc trên toàn bộ chương trình.
  • C. Tăng tốc độ thực thi của từng chức năng riêng lẻ.
  • D. Mã nguồn dễ đọc, dễ kiểm lỗi từng phần riêng biệt và có thể tái sử dụng các mô đun chức năng ở các dự án khác.

Câu 6: Xét lại ví dụ Sea Games trong bài học. Mô đun `Xuly()` có nhiệm vụ chính là gì?

  • A. Xử lý danh sách vận động viên, gọi mô đun tính điểm cho từng vận động viên và trả về kết quả đã xử lý.
  • B. Đọc dữ liệu từ tệp đầu vào SeaGames.inp.
  • C. Chỉ tính điểm tổng hợp cho một vận động viên duy nhất.
  • D. Ghi kết quả điểm tổng hợp ra tệp đầu ra.

Câu 7: Tại sao trong ví dụ Sea Games, hàm `diem_gk()` được thiết kế như một mô đun riêng biệt thay vì viết trực tiếp mã tính điểm trong hàm `Xuly()`?

  • A. Để làm cho hàm `Xuly()` ngắn hơn.
  • B. Để hàm `diem_gk()` có thể truy cập trực tiếp vào tệp dữ liệu.
  • C. Để logic tính điểm tổng hợp được đóng gói riêng, dễ dàng thay đổi công thức tính điểm và kiểm thử độc lập.
  • D. Để giảm số lượng biến cần sử dụng trong chương trình chính.

Câu 8: Khi thiết kế chương trình theo mô đun, sự "phụ thuộc" giữa các mô đun nên được giảm thiểu. Điều này có ý nghĩa gì và mang lại lợi ích gì?

  • A. Các mô đun nên ít dựa vào nhau nhất có thể. Điều này giúp việc thay đổi một mô đun ít gây ảnh hưởng đến các mô đun khác, tăng tính linh hoạt và dễ bảo trì.
  • B. Các mô đun phải luôn gọi lẫn nhau theo một trình tự cố định.
  • C. Mỗi mô đun chỉ được sử dụng bởi một mô đun khác duy nhất.
  • D. Các mô đun không được chia sẻ bất kỳ dữ liệu nào với nhau.

Câu 9: Bạn đang phát triển một ứng dụng quản lý điểm. Bạn có các mô đun: `nhap_diem`, `tinh_diem_trung_binh`, `xep_loai`, `in_bang_diem`. Mô đun `xep_loai` (xếp loại học lực dựa trên điểm trung bình) sẽ phụ thuộc trực tiếp vào mô đun nào?

  • A. `nhap_diem`
  • B. `tinh_diem_trung_binh`
  • C. `in_bang_diem`
  • D. Không phụ thuộc vào mô đun nào khác.

Câu 10: Trong ngôn ngữ lập trình Python, một mô đun thường được định nghĩa là gì?

  • A. Một file chứa mã nguồn Python (.py) bao gồm các định nghĩa hàm, lớp, biến.
  • B. Một thư mục chứa nhiều file mã nguồn.
  • C. Một đoạn mã chỉ thực hiện một chức năng duy nhất.
  • D. Một biến đặc biệt trong chương trình.

Câu 11: Lợi ích nào sau đây KHÔNG phải là lợi ích chính của việc thiết kế chương trình theo mô đun?

  • A. Tăng khả năng tái sử dụng mã nguồn.
  • B. Giảm độ phức tạp của chương trình.
  • C. Tăng tính dễ đọc và dễ hiểu của mã nguồn.
  • D. Tự động tối ưu hóa tốc độ thực thi của chương trình.

Câu 12: Khi làm việc nhóm để phát triển một phần mềm lớn, việc áp dụng thiết kế mô đun giúp ích như thế nào?

  • A. Buộc tất cả thành viên phải làm việc trên cùng một file mã nguồn.
  • B. Cho phép các thành viên trong nhóm làm việc độc lập trên các mô đun khác nhau cùng lúc.
  • C. Giảm thiểu số lượng người cần tham gia vào dự án.
  • D. Chỉ cần một người duy nhất thiết kế toàn bộ hệ thống.

Câu 13: Giả sử bạn có một mô đun tên là `validation.py` chứa các hàm để kiểm tra tính hợp lệ của dữ liệu đầu vào (ví dụ: kiểm tra email, số điện thoại). Trong mô đun chính của chương trình, bạn muốn sử dụng hàm `kiem_tra_email` từ mô đun `validation.py`. Bạn sẽ thực hiện thao tác nào?

  • A. Sao chép toàn bộ mã nguồn của `validation.py` vào mô đun chính.
  • B. Đổi tên file `validation.py` thành tên mô đun chính.
  • C. Sử dụng câu lệnh `import` để nhập mô đun `validation` và sau đó gọi hàm `validation.kiem_tra_email()`.
  • D. Gọi trực tiếp hàm `kiem_tra_email()` mà không cần thao tác gì thêm.

Câu 14: Trong ví dụ Sea Games, nếu ban tổ chức quyết định không tính điểm của giám khảo thứ hai và thứ ba, bạn cần chỉnh sửa mô đun nào để phản ánh thay đổi này?

  • A. nhapDL()
  • B. diem_gk()
  • C. Xuly()
  • D. ghiDL()

Câu 15: Khi một mô đun được thiết kế tốt, nó có "tính liên kết cao" (high cohesion) và "tính kết nối lỏng lẻo" (loose coupling). Tính liên kết cao nghĩa là gì?

  • A. Các thành phần (hàm, biến) bên trong mô đun có mối quan hệ chặt chẽ và cùng phục vụ cho một mục đích chức năng duy nhất, rõ ràng.
  • B. Mô đun phụ thuộc nhiều vào các mô đun khác.
  • C. Mô đun có thể được sử dụng lại ở nhiều nơi khác nhau trong chương trình.
  • D. Mô đun chứa càng nhiều chức năng càng tốt.

Câu 16: Tính kết nối lỏng lẻo (loose coupling) giữa các mô đun mang lại lợi ích gì?

  • A. Giúp các mô đun chia sẻ dữ liệu toàn cục dễ dàng hơn.
  • B. Yêu cầu các mô đun phải được thực thi theo một trình tự nghiêm ngặt.
  • C. Làm tăng sự phụ thuộc giữa các mô đun.
  • D. Giúp việc thay đổi hoặc thay thế một mô đun dễ dàng hơn mà ít ảnh hưởng đến các mô đun khác.

Câu 17: Bạn đang viết một chương trình xử lý ảnh. Bạn có thể chia chương trình thành các mô đun như: `doc_anh`, `xu_ly_loc_mau`, `chinh_sua_kich_thuoc`, `luu_anh`. Mô đun `xu_ly_loc_mau` (áp dụng bộ lọc màu) có thể cần dữ liệu từ mô đun nào?

  • A. `doc_anh`
  • B. `chinh_sua_kich_thuoc`
  • C. `luu_anh`
  • D. Không cần dữ liệu từ mô đun nào khác.

Câu 18: Trong thiết kế mô đun, "tính trừu tượng" (abstraction) liên quan đến việc gì?

  • A. Chia nhỏ chương trình thành các phần nhỏ nhất có thể.
  • B. Sử dụng các biến toàn cục để chia sẻ dữ liệu.
  • C. Tập trung vào chức năng "cái gì" mà mô đun thực hiện, ẩn đi chi tiết cài đặt "làm như thế nào".

Câu 19: Một chương trình xử lý đơn hàng trực tuyến có các mô đun: `xu_ly_thanh_toan`, `cap_nhat_kho_hang`, `gui_email_xac_nhan`. Nếu sau này cần thay đổi cổng thanh toán từ VNPAY sang MOMO, bạn cần chỉnh sửa mô đun nào?

  • A. `xu_ly_thanh_toan`
  • B. `cap_nhat_kho_hang`
  • C. `gui_email_xac_nhan`
  • D. Tất cả các mô đun đều cần chỉnh sửa.

Câu 20: Ưu điểm nào của thiết kế mô đun giúp giảm thời gian và công sức khi phát triển các chương trình mới có chức năng tương tự?

  • A. Giảm dung lượng file chương trình.
  • B. Tăng khả năng tái sử dụng (reusability) các mô đun.
  • C. Tăng tốc độ biên dịch chương trình.
  • D. Loại bỏ hoàn toàn lỗi lập trình.

Câu 21: Trong ví dụ Sea Games, nếu bạn muốn thêm chức năng sắp xếp danh sách vận động viên theo tên trước khi ghi ra file, việc thêm chức năng này nên được thực hiện ở đâu để tuân thủ nguyên tắc mô đun?

  • A. Trong mô đun `nhapDL()` ngay sau khi đọc dữ liệu.
  • B. Trong mô đun `diem_gk()` sau khi tính điểm cho từng vận động viên.
  • C. Trong mô đun `Xuly()` hoặc `ghiDL()` trước khi ghi dữ liệu ra tệp.
  • D. Tạo một mô đun mới hoàn toàn độc lập và gọi nó từ chương trình chính.

Câu 22: Điều gì xảy ra nếu các mô đun trong chương trình có "tính kết nối chặt chẽ" (tight coupling)?

  • A. Việc thay đổi một mô đun có thể dễ dàng gây ra lỗi ở các mô đun khác, làm cho hệ thống khó bảo trì và mở rộng.
  • B. Chương trình sẽ chạy nhanh hơn đáng kể.
  • C. Các mô đun sẽ có thể chia sẻ dữ liệu nội bộ của nhau một cách tự do.
  • D. Mỗi mô đun sẽ có tính liên kết rất cao.

Câu 23: Khi thiết kế một mô đun, chúng ta nên cố gắng làm cho nó thực hiện một nhiệm vụ cụ thể và độc lập nhất có thể. Nguyên tắc này được gọi là gì?

  • A. Tính kết nối lỏng lẻo.
  • B. Tính tái sử dụng.
  • C. Tính kế thừa.
  • D. Tính liên kết cao.

Câu 24: Giả sử bạn có một mô đun `input_handler` để đọc dữ liệu từ bàn phím hoặc từ file. Mô đun này nên trả về dữ liệu đã đọc ở định dạng nào để các mô đun xử lý sau này dễ dàng sử dụng nhất?

  • A. Trả về dữ liệu theo định dạng thô nhất có thể, ví dụ: chuỗi ký tự từ file.
  • B. Trả về dữ liệu đã được cấu trúc hóa (ví dụ: danh sách các đối tượng, từ điển) theo một định dạng thống nhất mà các mô đun xử lý mong đợi.
  • C. Chỉ in dữ liệu ra màn hình mà không cần trả về.
  • D. Lưu dữ liệu vào một biến toàn cục để các mô đun khác truy cập trực tiếp.

Câu 25: Trong ví dụ Sea Games, mô đun `ghiDL()` có nhiệm vụ gì?

  • A. Đọc dữ liệu từ tệp đầu vào.
  • B. Tính điểm tổng hợp cho từng vận động viên.
  • C. Nhận dữ liệu đã xử lý và ghi kết quả ra tệp đầu ra.
  • D. Xử lý logic chính của chương trình.

Câu 26: Việc thiết kế chương trình theo mô đun giúp giảm thiểu rủi ro xảy ra lỗi ở đâu?

  • A. Giúp cô lập lỗi trong phạm vi từng mô đun, làm cho việc tìm và sửa lỗi dễ dàng hơn.
  • B. Loại bỏ hoàn toàn khả năng xảy ra lỗi cú pháp.
  • C. Tự động sửa lỗi logic trong quá trình chạy chương trình.
  • D. Chỉ giúp giảm lỗi khi chương trình rất nhỏ.

Câu 27: Khi một mô đun cần sử dụng chức năng từ một mô đun khác, cách tốt nhất để thực hiện điều này là gì?

  • A. Truy cập trực tiếp vào các biến nội bộ của mô đun khác.
  • B. Gọi các hàm hoặc thủ tục công khai được cung cấp bởi mô đun đó thông qua giao diện đã định nghĩa.
  • C. Sao chép mã nguồn cần thiết từ mô đun kia.
  • D. Gửi tín hiệu trực tiếp đến mô đun kia mà không cần gọi hàm.

Câu 28: Bạn đang xây dựng một ứng dụng vẽ đồ thị. Bạn có thể chia nó thành các mô đun: `nhap_du_lieu`, `tinh_toan_toa_do`, `ve_do_thi`. Mô đun `ve_do_thi` sẽ phụ thuộc vào kết quả từ mô đun nào?

  • A. `nhap_du_lieu`
  • B. `tinh_toan_toa_do`
  • C. Không phụ thuộc vào mô đun nào khác.
  • D. Tất cả các mô đun khác.

Câu 29: Trong quá trình kiểm thử phần mềm, thiết kế mô đun giúp ích như thế nào?

  • A. Chỉ cho phép kiểm thử toàn bộ chương trình cùng lúc.
  • B. Làm cho việc tạo dữ liệu kiểm thử trở nên phức tạp hơn.
  • C. Cho phép kiểm thử từng mô đun một cách độc lập, giúp dễ dàng xác định nguồn gốc lỗi.
  • D. Loại bỏ nhu cầu kiểm thử thủ công.

Câu 30: Khi nào thì việc chia một chức năng thành mô đun riêng biệt có thể không mang lại lợi ích đáng kể hoặc thậm chí gây phức tạp không cần thiết?

  • A. Khi chức năng đó được sử dụng ở nhiều nơi trong chương trình.
  • B. Khi chức năng đó rất phức tạp.
  • C. Khi chức năng đó có khả năng cần thay đổi trong tương lai.
  • D. Khi chức năng đó cực kỳ đơn giản, chỉ được sử dụng ở một chỗ duy nhất và không có khả năng tái sử dụng hay thay đổi.

1 / 30

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

Tags: Bộ đề 04

Câu 1: Giả sử bạn đang phát triển một chương trình quản lý sách trong thư viện. Chương trình cần các chức năng: nhập thông tin sách từ file, tìm kiếm sách theo tên, hiển thị danh sách sách, và lưu thông tin sách ra file. Theo nguyên tắc thiết kế mô đun, chức năng 'tìm kiếm sách theo tên' nên được đặt trong một mô đun riêng vì lý do chính nào?

2 / 30

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

Tags: Bộ đề 04

Câu 2: Trong thiết kế chương trình theo mô đun, 'tính đóng gói' (encapsulation) đề cập đến khía cạnh nào?

3 / 30

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

Tags: Bộ đề 04

Câu 3: Giả sử bạn có một mô đun xử lý dữ liệu học sinh, nhận đầu vào là danh sách điểm và trả về điểm trung bình. Nếu sau này cần thay đổi cách tính điểm trung bình (ví dụ: bỏ điểm thấp nhất), bạn chỉ cần chỉnh sửa mô đun xử lý dữ liệu mà không cần thay đổi mô đun nhập dữ liệu hay mô đun hiển thị kết quả. Lợi ích này thể hiện rõ nhất đặc điểm nào của thiết kế mô đun?

4 / 30

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

Tags: Bộ đề 04

Câu 4: Khi thiết kế một mô đun, điều quan trọng là xác định rõ 'giao diện' của nó. Giao diện của mô đun bao gồm những gì?

5 / 30

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

Tags: Bộ đề 04

Câu 5: Bạn được giao nhiệm vụ viết một chương trình xử lý chuỗi. Chương trình cần các chức năng: kiểm tra chuỗi có phải là palindrome không, đếm số từ trong chuỗi, và chuẩn hóa chuỗi (xóa khoảng trắng thừa). Việc chia chương trình thành ba mô đun riêng biệt cho ba chức năng này mang lại lợi ích nào sau đây?

6 / 30

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

Tags: Bộ đề 04

Câu 6: Xét lại ví dụ Sea Games trong bài học. Mô đun `Xuly()` có nhiệm vụ chính là gì?

7 / 30

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

Tags: Bộ đề 04

Câu 7: Tại sao trong ví dụ Sea Games, hàm `diem_gk()` được thiết kế như một mô đun riêng biệt thay vì viết trực tiếp mã tính điểm trong hàm `Xuly()`?

8 / 30

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

Tags: Bộ đề 04

Câu 8: Khi thiết kế chương trình theo mô đun, sự 'phụ thuộc' giữa các mô đun nên được giảm thiểu. Điều này có ý nghĩa gì và mang lại lợi ích gì?

9 / 30

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

Tags: Bộ đề 04

Câu 9: Bạn đang phát triển một ứng dụng quản lý điểm. Bạn có các mô đun: `nhap_diem`, `tinh_diem_trung_binh`, `xep_loai`, `in_bang_diem`. Mô đun `xep_loai` (xếp loại học lực dựa trên điểm trung bình) sẽ phụ thuộc trực tiếp vào mô đun nào?

10 / 30

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

Tags: Bộ đề 04

Câu 10: Trong ngôn ngữ lập trình Python, một mô đun thường được định nghĩa là gì?

11 / 30

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

Tags: Bộ đề 04

Câu 11: Lợi ích nào sau đây KHÔNG phải là lợi ích chính của việc thiết kế chương trình theo mô đun?

12 / 30

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

Tags: Bộ đề 04

Câu 12: Khi làm việc nhóm để phát triển một phần mềm lớn, việc áp dụng thiết kế mô đun giúp ích như thế nào?

13 / 30

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

Tags: Bộ đề 04

Câu 13: Giả sử bạn có một mô đun tên là `validation.py` chứa các hàm để kiểm tra tính hợp lệ của dữ liệu đầu vào (ví dụ: kiểm tra email, số điện thoại). Trong mô đun chính của chương trình, bạn muốn sử dụng hàm `kiem_tra_email` từ mô đun `validation.py`. Bạn sẽ thực hiện thao tác nào?

14 / 30

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

Tags: Bộ đề 04

Câu 14: Trong ví dụ Sea Games, nếu ban tổ chức quyết định không tính điểm của giám khảo thứ hai và thứ ba, bạn cần chỉnh sửa mô đun nào để phản ánh thay đổi này?

15 / 30

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

Tags: Bộ đề 04

Câu 15: Khi một mô đun được thiết kế tốt, nó có 'tính liên kết cao' (high cohesion) và 'tính kết nối lỏng lẻo' (loose coupling). Tính liên kết cao nghĩa là gì?

16 / 30

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

Tags: Bộ đề 04

Câu 16: Tính kết nối lỏng lẻo (loose coupling) giữa các mô đun mang lại lợi ích gì?

17 / 30

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

Tags: Bộ đề 04

Câu 17: Bạn đang viết một chương trình xử lý ảnh. Bạn có thể chia chương trình thành các mô đun như: `doc_anh`, `xu_ly_loc_mau`, `chinh_sua_kich_thuoc`, `luu_anh`. Mô đun `xu_ly_loc_mau` (áp dụng bộ lọc màu) có thể cần dữ liệu từ mô đun nào?

18 / 30

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

Tags: Bộ đề 04

Câu 18: Trong thiết kế mô đun, 'tính trừu tượng' (abstraction) liên quan đến việc gì?

19 / 30

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

Tags: Bộ đề 04

Câu 19: Một chương trình xử lý đơn hàng trực tuyến có các mô đun: `xu_ly_thanh_toan`, `cap_nhat_kho_hang`, `gui_email_xac_nhan`. Nếu sau này cần thay đổi cổng thanh toán từ VNPAY sang MOMO, bạn cần chỉnh sửa mô đun nào?

20 / 30

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

Tags: Bộ đề 04

Câu 20: Ưu điểm nào của thiết kế mô đun giúp giảm thời gian và công sức khi phát triển các chương trình mới có chức năng tương tự?

21 / 30

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

Tags: Bộ đề 04

Câu 21: Trong ví dụ Sea Games, nếu bạn muốn thêm chức năng sắp xếp danh sách vận động viên theo tên trước khi ghi ra file, việc thêm chức năng này nên được thực hiện ở đâu để tuân thủ nguyên tắc mô đun?

22 / 30

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

Tags: Bộ đề 04

Câu 22: Điều gì xảy ra nếu các mô đun trong chương trình có 'tính kết nối chặt chẽ' (tight coupling)?

23 / 30

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

Tags: Bộ đề 04

Câu 23: Khi thiết kế một mô đun, chúng ta nên cố gắng làm cho nó thực hiện một nhiệm vụ cụ thể và độc lập nhất có thể. Nguyên tắc này được gọi là gì?

24 / 30

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

Tags: Bộ đề 04

Câu 24: Giả sử bạn có một mô đun `input_handler` để đọc dữ liệu từ bàn phím hoặc từ file. Mô đun này nên trả về dữ liệu đã đọc ở định dạng nào để các mô đun xử lý sau này dễ dàng sử dụng nhất?

25 / 30

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

Tags: Bộ đề 04

Câu 25: Trong ví dụ Sea Games, mô đun `ghiDL()` có nhiệm vụ gì?

26 / 30

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

Tags: Bộ đề 04

Câu 26: Việc thiết kế chương trình theo mô đun giúp giảm thiểu rủi ro xảy ra lỗi ở đâu?

27 / 30

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

Tags: Bộ đề 04

Câu 27: Khi một mô đun cần sử dụng chức năng từ một mô đun khác, cách tốt nhất để thực hiện điều này là gì?

28 / 30

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

Tags: Bộ đề 04

Câu 28: Bạn đang xây dựng một ứng dụng vẽ đồ thị. Bạn có thể chia nó thành các mô đun: `nhap_du_lieu`, `tinh_toan_toa_do`, `ve_do_thi`. Mô đun `ve_do_thi` sẽ phụ thuộc vào kết quả từ mô đun nào?

29 / 30

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

Tags: Bộ đề 04

Câu 29: Trong quá trình kiểm thử phần mềm, thiết kế mô đun giúp ích như thế nào?

30 / 30

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

Tags: Bộ đề 04

Câu 30: Khi nào thì việc chia một chức năng thành mô đun riêng biệt có thể không mang lại lợi ích đáng kể hoặc thậm chí gây phức tạp không cần thiết?

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 Bài 29: Thực hành thiết kế chương trình theo mô đun

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 05

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 05 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Trong bối cảnh thiết kế chương trình theo mô đun, khái niệm "mô đun" (module) được hiểu là gì?

  • A. Toàn bộ chương trình được viết trong một tệp duy nhất.
  • B. Một dòng lệnh hoặc một khối lệnh đơn giản trong chương trình.
  • C. Một phần độc lập của chương trình, thực hiện một chức năng cụ thể và có thể tái sử dụng.
  • D. Một biến hoặc hằng số được sử dụng toàn cục trong chương trình.

Câu 2: Lợi ích chính của việc thiết kế chương trình theo mô đun là gì?

  • A. Giảm số lượng dòng mã trong chương trình.
  • B. Chương trình chạy nhanh hơn đáng kể.
  • C. Chỉ cần viết mã một lần và không bao giờ phải sửa đổi.
  • D. Tăng tính dễ bảo trì, dễ tái sử dụng, và dễ kiểm thử chương trình.

Câu 3: Khi phân tích một bài toán để thiết kế chương trình theo mô đun, bước đầu tiên và quan trọng nhất thường là gì?

  • A. Phân rã bài toán lớn thành các bài toán nhỏ hơn, độc lập về chức năng.
  • B. Viết ngay mã cho phần chính của chương trình.
  • C. Chọn ngôn ngữ lập trình phù hợp nhất.
  • D. Thiết kế giao diện người dùng chi tiết.

Câu 4: Giả sử bạn đang xây dựng một chương trình quản lý điểm học sinh. Các chức năng sau: (1) Đọc điểm từ tệp, (2) Tính điểm trung bình môn, (3) Xếp loại học lực, (4) In báo cáo ra màn hình. Chức năng nào có thể được thiết kế thành một mô đun độc lập?

  • A. Chỉ (1).
  • B. Chỉ (1) và (4).
  • C. Chỉ (2) và (3).
  • D. Tất cả (1), (2), (3), và (4).

Câu 5: Trong một chương trình được thiết kế theo mô đun, mô đun "chính" (main module) thường có vai trò gì?

  • A. Chứa toàn bộ mã xử lý nghiệp vụ phức tạp nhất.
  • B. Điều phối hoạt động chung, gọi các mô đun khác và xử lý luồng chính của chương trình.
  • C. Chỉ dùng để khai báo biến và hằng số toàn cục.
  • D. Thực hiện các phép tính toán cơ bản nhất.

Câu 6: Khi một mô đun A cần sử dụng kết quả tính toán từ mô đun B, cách thức phổ biến để mô đun B "trả về" kết quả cho mô đun A là gì?

  • A. In kết quả ra màn hình để mô đun A đọc lại.
  • B. Lưu kết quả vào một biến toàn cục.
  • C. Sử dụng giá trị trả về (return value) của hàm/thủ tục trong mô đun B.
  • D. Ghi kết quả vào tệp và mô đun A đọc tệp đó.

Câu 7: Giả sử bạn có một mô đun tên là `tinh_diem_trung_binh(danh_sach_diem)`. Mô đun này nhận vào một danh sách các điểm và trả về điểm trung bình. Đây là ví dụ về nguyên tắc thiết kế mô đun nào?

  • A. Đóng gói (Encapsulation) và Trừu tượng hóa (Abstraction).
  • B. Kế thừa (Inheritance).
  • C. Đa hình (Polymorphism).
  • D. Giao diện đồ họa (GUI).

Câu 8: Bạn đang làm việc nhóm để phát triển một phần mềm. Việc chia phần mềm thành các mô đun giúp ích gì cho quá trình làm việc nhóm?

  • A. Buộc tất cả thành viên phải làm việc trên cùng một tệp mã nguồn.
  • B. Mỗi thành viên hoặc nhóm nhỏ có thể tập trung phát triển một hoặc vài mô đun độc lập.
  • C. Làm tăng xung đột khi ghép mã của các thành viên lại với nhau.
  • D. Giảm bớt số lượng người tham gia vào dự án.

Câu 9: Một chương trình xử lý dữ liệu bán hàng bao gồm các bước: 1. Đọc dữ liệu từ tệp Excel; 2. Lọc các đơn hàng theo ngày; 3. Tính tổng doanh thu; 4. Xuất báo cáo dưới dạng biểu đồ. Để thiết kế theo mô đun, bạn nên chia thành ít nhất bao nhiêu mô đun chính?

  • A. 1.
  • B. 2.
  • C. 3.
  • D. 4.

Câu 10: Giả sử trong chương trình xử lý dữ liệu bán hàng ở Câu 9, yêu cầu thay đổi từ lọc đơn hàng theo ngày sang lọc theo tên sản phẩm. Bạn cần chỉnh sửa mô đun nào?

  • A. Mô đun Đọc dữ liệu.
  • B. Mô đun Lọc đơn hàng.
  • C. Mô đun Tính tổng doanh thu.
  • D. Mô đun Xuất báo cáo.

Câu 11: Tính "kết dính" (cohesion) trong thiết kế mô đun đề cập đến điều gì?

  • A. Mức độ liên quan và tập trung của các chức năng bên trong một mô đun.
  • B. Mức độ phụ thuộc giữa các mô đun khác nhau.
  • C. Số lượng tham số mà một mô đun nhận vào.
  • D. Khả năng chạy độc lập của mô đun mà không cần các mô đun khác.

Câu 12: Tính "phụ thuộc" (coupling) trong thiết kế mô đun đề cập đến điều gì?

  • A. Mức độ liên quan của các chức năng bên trong một mô đun.
  • B. Mức độ phụ thuộc lẫn nhau giữa các mô đun khác nhau.
  • C. Kích thước của mã nguồn trong mô đun.
  • D. Số lần mô đun được gọi từ các phần khác của chương trình.

Câu 13: Một thiết kế mô đun được coi là tốt khi nào?

  • A. Có độ kết dính thấp và độ phụ thuộc cao.
  • B. Có độ kết dính thấp và độ phụ thuộc thấp.
  • C. Có độ kết dính cao và độ phụ thuộc thấp.
  • D. Có độ kết dính cao và độ phụ thuộc cao.

Câu 14: Khi gặp lỗi trong một chương trình lớn được thiết kế theo mô đun, lợi ích của việc thiết kế này trong quá trình gỡ lỗi (debugging) là gì?

  • A. Giúp khoanh vùng lỗi vào một hoặc vài mô đun cụ thể, dễ dàng kiểm tra và sửa chữa.
  • B. Lỗi sẽ tự động được sửa bởi các mô đun khác.
  • C. Làm cho việc tìm lỗi trở nên khó khăn hơn do mã bị phân tán.
  • D. Bắt buộc phải kiểm tra toàn bộ mã nguồn từ đầu.

Câu 15: Bạn cần viết một chương trình để giải phương trình bậc hai ax^2 + bx + c = 0. Bạn nên thiết kế các mô đun nào cho chương trình này?

  • A. Chỉ một mô đun duy nhất chứa tất cả mã.
  • B. Mô đun nhập hệ số a, b, c; và một mô đun tính nghiệm.
  • C. Mô đun nhập hệ số a, b, c; một mô đun tính delta; và một mô đun tính nghiệm.
  • D. Mô đun nhập hệ số a, b, c; một mô đun tính delta và nghiệm; và một mô đun hiển thị kết quả.

Câu 16: Trong thiết kế mô đun, việc sử dụng tham số (parameters) để truyền dữ liệu vào mô đun có ý nghĩa gì?

  • A. Giúp mô đun hoạt động độc lập với dữ liệu bên ngoài, tăng tính tái sử dụng.
  • B. Làm cho mô đun phức tạp và khó sử dụng hơn.
  • C. Bắt buộc mô đun phải truy cập biến toàn cục.
  • D. Chỉ áp dụng cho các mô đun tính toán đơn giản.

Câu 17: Một mô đun được gọi là có tính "tái sử dụng" (reusable) cao khi nào?

  • A. Mã nguồn của mô đun rất dài.
  • B. Mô đun phụ thuộc chặt chẽ vào cấu trúc dữ liệu cụ thể của một chương trình duy nhất.
  • C. Mô đun thực hiện một chức năng rõ ràng, đóng gói tốt và ít phụ thuộc vào ngữ cảnh bên ngoài.
  • D. Mô đun sử dụng nhiều biến toàn cục.

Câu 18: Giả sử bạn có một mô đun `kiem_tra_so_nguyen_to(n)` trả về True nếu n là số nguyên tố, ngược lại trả về False. Mô đun này thể hiện nguyên tắc gì của thiết kế mô đun?

  • A. Phụ thuộc cao.
  • B. Kết dính chức năng (Functional cohesion).
  • C. Kết dính ngẫu nhiên (Coincidental cohesion).
  • D. Tái sử dụng thấp.

Câu 19: Trong bài toán SeaGames được đề cập trong bài học, mô đun `nhapDL()` có chức năng gì?

  • A. Đọc dữ liệu từ tệp đầu vào và lưu vào cấu trúc dữ liệu phù hợp.
  • B. Tính điểm tổng hợp cho từng vận động viên.
  • C. Ghi kết quả đã xử lý ra tệp đầu ra.
  • D. Sắp xếp danh sách vận động viên theo điểm.

Câu 20: Vẫn trong bài toán SeaGames, mô đun `diem_gk()` có vai trò chính là gì?

  • A. Đọc tên giám khảo từ tệp.
  • B. Xử lý toàn bộ danh sách vận động viên.
  • C. Tính điểm tổng hợp cho MỘT vận động viên dựa trên mảng điểm của vận động viên đó.
  • D. Kiểm tra xem điểm của giám khảo có hợp lệ không.

Câu 21: Nếu ban tổ chức SeaGames quyết định thay đổi hệ số tính điểm của các giám khảo, bạn cần sửa đổi mã nguồn ở đâu trong chương trình đã thiết kế theo mô đun?

  • A. Mô đun `nhapDL()`.
  • B. Mô đun `diem_gk()`.
  • C. Mô đun `ghiDL()`.
  • D. Mô đun chính điều khiển luồng chương trình.

Câu 22: Để bổ sung chức năng sắp xếp kết quả vận động viên theo thứ tự điểm tổng hợp giảm dần trước khi ghi ra tệp, bạn nên thực hiện việc sắp xếp này ở đâu trong luồng xử lý của chương trình?

  • A. Trong mô đun `nhapDL()` ngay sau khi đọc dữ liệu.
  • B. Trong mô đun `diem_gk()` sau khi tính điểm cho mỗi vận động viên.
  • C. Ngay trước khi bắt đầu chạy chương trình.
  • D. Trong mô đun xử lý chính (hoặc một mô đun xử lý dữ liệu) sau khi tính điểm tổng hợp cho tất cả vận động viên và trước khi gọi mô đun ghi tệp.

Câu 23: Việc chia nhỏ chương trình thành các mô đun giúp "trừu tượng hóa" (abstraction). Trừu tượng hóa trong ngữ cảnh này có nghĩa là gì?

  • A. Ẩn đi toàn bộ mã nguồn của mô đun.
  • B. Làm cho chương trình khó hiểu hơn.
  • C. Cho phép người sử dụng mô đun chỉ cần quan tâm đến chức năng của nó (đầu vào, đầu ra) mà không cần biết chi tiết cách nó hoạt động bên trong.
  • D. Loại bỏ các chi tiết không cần thiết khỏi bài toán ban đầu.

Câu 24: Khi thiết kế một mô đun, điều gì sau đây là quan trọng để đảm bảo tính độc lập và dễ kiểm thử của mô đun đó?

  • A. Mô đun nhận dữ liệu qua tham số và trả về kết quả qua giá trị trả về, hạn chế sử dụng biến toàn cục.
  • B. Mô đun phải truy cập và sửa đổi nhiều biến toàn cục.
  • C. Mô đun phải gọi trực tiếp các hàm/thủ tục từ nhiều mô đun khác.
  • D. Mã nguồn của mô đun phải rất ngắn.

Câu 25: Bạn được giao nhiệm vụ viết một mô đun để kiểm tra xem một chuỗi có phải là địa chỉ email hợp lệ hay không. Mô đun này nên có độ kết dính loại nào?

  • A. Kết dính ngẫu nhiên (Coincidental Cohesion).
  • B. Kết dính logic (Logical Cohesion).
  • C. Kết dính thời gian (Temporal Cohesion).
  • D. Kết dính chức năng (Functional Cohesion).

Câu 26: Một chương trình cần xử lý danh sách các công việc (Tasks): thêm mới, xóa, cập nhật, tìm kiếm. Việc tạo một mô đun `QuanLyCongViec` chứa tất cả các hàm thêm/xóa/cập nhật/tìm kiếm thể hiện nguyên tắc thiết kế mô đun nào?

  • A. Kết dính theo giao tiếp (Communicational Cohesion).
  • B. Kết dính thủ tục (Procedural Cohesion).
  • C. Kết dính ngẫu nhiên (Coincidental Cohesion).
  • D. Phụ thuộc dữ liệu (Data Coupling).

Câu 27: Trong quá trình phát triển phần mềm, việc thiết kế theo mô đun giúp "phân công công việc" (division of labor) dễ dàng hơn. Điều này có nghĩa là gì?

  • A. Mọi thành viên đều làm cùng một công việc.
  • B. Các thành viên trong nhóm có thể được giao các mô đun khác nhau để phát triển song song.
  • C. Chỉ người quản lý dự án mới được viết mã.
  • D. Các mô đun tự động viết mã cho nhau.

Câu 28: Khi một mô đun A gọi một mô đun B, và mô đun B cần dữ liệu từ mô đun A để thực hiện chức năng của nó, cách truyền dữ liệu nào thể hiện độ phụ thuộc thấp nhất giữa A và B?

  • A. Mô đun A truyền dữ liệu cho B thông qua tham số.
  • B. Mô đun B đọc dữ liệu trực tiếp từ biến toàn cục mà A đã ghi vào.
  • C. Mô đun B yêu cầu người dùng nhập dữ liệu.
  • D. Mô đun B tự tạo dữ liệu ngẫu nhiên.

Câu 29: Một chương trình xử lý ảnh có các chức năng: (1) Đọc ảnh từ tệp, (2) Áp dụng bộ lọc xám, (3) Áp dụng bộ lọc làm mờ, (4) Lưu ảnh ra tệp. Để thiết kế theo mô đun, cấu trúc nào hợp lý nhất?

  • A. Một mô đun lớn chứa tất cả các chức năng.
  • B. Mô đun Đọc/Lưu và một mô đun duy nhất cho tất cả các bộ lọc.
  • C. Mô đun Đọc, mô đun Lưu, và một mô đun chung cho cả hai bộ lọc.
  • D. Mô đun Đọc, mô đun Lưu, mô đun Áp dụng bộ lọc xám, mô đun Áp dụng bộ lọc làm mờ.

Câu 30: Việc thiết kế chương trình theo mô đun giúp tăng khả năng "mở rộng" (extensibility). Điều này có nghĩa là gì?

  • A. Dễ dàng thêm các chức năng mới (ví dụ: thêm bộ lọc ảnh mới) bằng cách thêm mô đun mới hoặc sửa đổi mô đun hiện có mà ít ảnh hưởng đến các phần khác.
  • B. Chương trình tự động cập nhật các chức năng mới.
  • C. Kích thước tệp chương trình sẽ nhỏ hơn.
  • D. Chỉ có thể mở rộng chương trình bằng cách viết lại toàn bộ mã.

1 / 30

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

Tags: Bộ đề 05

Câu 1: Trong bối cảnh thiết kế chương trình theo mô đun, khái niệm 'mô đun' (module) được hiểu là gì?

2 / 30

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

Tags: Bộ đề 05

Câu 2: Lợi ích chính của việc thiết kế chương trình theo mô đun là gì?

3 / 30

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

Tags: Bộ đề 05

Câu 3: Khi phân tích một bài toán để thiết kế chương trình theo mô đun, bước đầu tiên và quan trọng nhất thường là gì?

4 / 30

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

Tags: Bộ đề 05

Câu 4: Giả sử bạn đang xây dựng một chương trình quản lý điểm học sinh. Các chức năng sau: (1) Đọc điểm từ tệp, (2) Tính điểm trung bình môn, (3) Xếp loại học lực, (4) In báo cáo ra màn hình. Chức năng nào có thể được thiết kế thành một mô đun độc lập?

5 / 30

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

Tags: Bộ đề 05

Câu 5: Trong một chương trình được thiết kế theo mô đun, mô đun 'chính' (main module) thường có vai trò gì?

6 / 30

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

Tags: Bộ đề 05

Câu 6: Khi một mô đun A cần sử dụng kết quả tính toán từ mô đun B, cách thức phổ biến để mô đun B 'trả về' kết quả cho mô đun A là gì?

7 / 30

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

Tags: Bộ đề 05

Câu 7: Giả sử bạn có một mô đun tên là `tinh_diem_trung_binh(danh_sach_diem)`. Mô đun này nhận vào một danh sách các điểm và trả về điểm trung bình. Đây là ví dụ về nguyên tắc thiết kế mô đun nào?

8 / 30

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

Tags: Bộ đề 05

Câu 8: Bạn đang làm việc nhóm để phát triển một phần mềm. Việc chia phần mềm thành các mô đun giúp ích gì cho quá trình làm việc nhóm?

9 / 30

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

Tags: Bộ đề 05

Câu 9: Một chương trình xử lý dữ liệu bán hàng bao gồm các bước: 1. Đọc dữ liệu từ tệp Excel; 2. Lọc các đơn hàng theo ngày; 3. Tính tổng doanh thu; 4. Xuất báo cáo dưới dạng biểu đồ. Để thiết kế theo mô đun, bạn nên chia thành ít nhất bao nhiêu mô đun chính?

10 / 30

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

Tags: Bộ đề 05

Câu 10: Giả sử trong chương trình xử lý dữ liệu bán hàng ở Câu 9, yêu cầu thay đổi từ lọc đơn hàng theo ngày sang lọc theo tên sản phẩm. Bạn cần chỉnh sửa mô đun nào?

11 / 30

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

Tags: Bộ đề 05

Câu 11: Tính 'kết dính' (cohesion) trong thiết kế mô đun đề cập đến điều gì?

12 / 30

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

Tags: Bộ đề 05

Câu 12: Tính 'phụ thuộc' (coupling) trong thiết kế mô đun đề cập đến điều gì?

13 / 30

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

Tags: Bộ đề 05

Câu 13: Một thiết kế mô đun được coi là tốt khi nào?

14 / 30

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

Tags: Bộ đề 05

Câu 14: Khi gặp lỗi trong một chương trình lớn được thiết kế theo mô đun, lợi ích của việc thiết kế này trong quá trình gỡ lỗi (debugging) là gì?

15 / 30

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

Tags: Bộ đề 05

Câu 15: Bạn cần viết một chương trình để giải phương trình bậc hai ax^2 + bx + c = 0. Bạn nên thiết kế các mô đun nào cho chương trình này?

16 / 30

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

Tags: Bộ đề 05

Câu 16: Trong thiết kế mô đun, việc sử dụng tham số (parameters) để truyền dữ liệu vào mô đun có ý nghĩa gì?

17 / 30

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

Tags: Bộ đề 05

Câu 17: Một mô đun được gọi là có tính 'tái sử dụng' (reusable) cao khi nào?

18 / 30

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

Tags: Bộ đề 05

Câu 18: Giả sử bạn có một mô đun `kiem_tra_so_nguyen_to(n)` trả về True nếu n là số nguyên tố, ngược lại trả về False. Mô đun này thể hiện nguyên tắc gì của thiết kế mô đun?

19 / 30

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

Tags: Bộ đề 05

Câu 19: Trong bài toán SeaGames được đề cập trong bài học, mô đun `nhapDL()` có chức năng gì?

20 / 30

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

Tags: Bộ đề 05

Câu 20: Vẫn trong bài toán SeaGames, mô đun `diem_gk()` có vai trò chính là gì?

21 / 30

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

Tags: Bộ đề 05

Câu 21: Nếu ban tổ chức SeaGames quyết định thay đổi hệ số tính điểm của các giám khảo, bạn cần sửa đổi mã nguồn ở đâu trong chương trình đã thiết kế theo mô đun?

22 / 30

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

Tags: Bộ đề 05

Câu 22: Để bổ sung chức năng sắp xếp kết quả vận động viên theo thứ tự điểm tổng hợp giảm dần trước khi ghi ra tệp, bạn nên thực hiện việc sắp xếp này ở đâu trong luồng xử lý của chương trình?

23 / 30

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

Tags: Bộ đề 05

Câu 23: Việc chia nhỏ chương trình thành các mô đun giúp 'trừu tượng hóa' (abstraction). Trừu tượng hóa trong ngữ cảnh này có nghĩa là gì?

24 / 30

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

Tags: Bộ đề 05

Câu 24: Khi thiết kế một mô đun, điều gì sau đây là quan trọng để đảm bảo tính độc lập và dễ kiểm thử của mô đun đó?

25 / 30

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

Tags: Bộ đề 05

Câu 25: Bạn được giao nhiệm vụ viết một mô đun để kiểm tra xem một chuỗi có phải là địa chỉ email hợp lệ hay không. Mô đun này nên có độ kết dính loại nào?

26 / 30

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

Tags: Bộ đề 05

Câu 26: Một chương trình cần xử lý danh sách các công việc (Tasks): thêm mới, xóa, cập nhật, tìm kiếm. Việc tạo một mô đun `QuanLyCongViec` chứa tất cả các hàm thêm/xóa/cập nhật/tìm kiếm thể hiện nguyên tắc thiết kế mô đun nào?

27 / 30

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

Tags: Bộ đề 05

Câu 27: Trong quá trình phát triển phần mềm, việc thiết kế theo mô đun giúp 'phân công công việc' (division of labor) dễ dàng hơn. Điều này có nghĩa là gì?

28 / 30

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

Tags: Bộ đề 05

Câu 28: Khi một mô đun A gọi một mô đun B, và mô đun B cần dữ liệu từ mô đun A để thực hiện chức năng của nó, cách truyền dữ liệu nào thể hiện độ phụ thuộc thấp nhất giữa A và B?

29 / 30

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

Tags: Bộ đề 05

Câu 29: Một chương trình xử lý ảnh có các chức năng: (1) Đọc ảnh từ tệp, (2) Áp dụng bộ lọc xám, (3) Áp dụng bộ lọc làm mờ, (4) Lưu ảnh ra tệp. Để thiết kế theo mô đun, cấu trúc nào hợp lý nhất?

30 / 30

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

Tags: Bộ đề 05

Câu 30: Việc thiết kế chương trình theo mô đun giúp tăng khả năng 'mở rộng' (extensibility). Điều này có nghĩa là gì?

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 Bài 29: Thực hành thiết kế chương trình theo mô đun

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 06

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 06 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Một lập trình viên đang phát triển một chương trình quản lý thư viện. Chương trình cần các chức năng sau: Thêm sách mới, Tìm kiếm sách theo tiêu đề, Xóa sách, Hiển thị danh sách sách. Theo nguyên tắc thiết kế mô đun, chức năng nào sau đây ít phù hợp nhất để trở thành một mô đun (hàm hoặc thủ tục) độc lập?

  • A. Thêm sách mới
  • B. Tìm kiếm sách theo tiêu đề
  • C. Xóa sách
  • D. Một đoạn mã nhỏ kiểm tra xem tên sách có rỗng hay không trước khi thêm

Câu 2: Giả sử bạn có một chương trình xử lý dữ liệu học sinh, bao gồm các bước: Đọc danh sách học sinh từ tệp, Tính điểm trung bình cho từng học sinh, Xếp loại học lực, Ghi kết quả ra tệp. Nếu bạn chia chương trình này thành các mô đun, mô đun "Tính điểm trung bình" nên nhận dữ liệu đầu vào từ mô đun nào?

  • A. Đọc danh sách học sinh từ tệp
  • B. Xếp loại học lực
  • C. Ghi kết quả ra tệp
  • D. Một mô đun riêng để nhập dữ liệu thủ công

Câu 3: Lợi ích chính của việc thiết kế chương trình theo mô đun là gì?

  • A. Giúp chương trình chạy nhanh hơn đáng kể.
  • B. Chỉ cần viết mã một lần cho toàn bộ chương trình.
  • C. Tăng khả năng tái sử dụng mã nguồn và dễ dàng bảo trì.
  • D. Luôn yêu cầu ít bộ nhớ hơn.

Câu 4: Trong lập trình, một "hàm" (function) hoặc "thủ tục" (procedure) thường được coi là một loại mô đun. Đặc điểm nào sau đây không phải là đặc điểm của một mô đun tốt?

  • A. Thực hiện một nhiệm vụ cụ thể, duy nhất.
  • B. Sử dụng rộng rãi các biến toàn cục để chia sẻ dữ liệu.
  • C. Có giao diện rõ ràng (tham số đầu vào và giá trị trả về).
  • D. Có thể được kiểm thử độc lập (hoặc tương đối độc lập).

Câu 5: Xét một chương trình tính tiền điện cho các hộ gia đình. Các bước bao gồm: Đọc chỉ số điện cũ/mới, Tính lượng điện tiêu thụ, Áp dụng biểu giá (có bậc), Tính thuế VAT, In hóa đơn. Nếu biểu giá điện thay đổi, bạn nên sửa đổi mô đun nào để cập nhật chương trình một cách hiệu quả nhất?

  • A. Đọc chỉ số điện
  • B. Áp dụng biểu giá (có bậc)
  • C. Tính thuế VAT
  • D. In hóa đơn

Câu 6: Khi thiết kế chương trình theo mô đun, khái niệm "đóng gói" (encapsulation) liên quan đến việc gì?

  • A. Che giấu chi tiết cài đặt bên trong mô đun, chỉ để lộ giao diện sử dụng.
  • B. Gộp tất cả mã nguồn vào một tệp duy nhất.
  • C. Sử dụng các biến toàn cục để dữ liệu có thể truy cập từ mọi nơi.
  • D. Chia chương trình thành các dòng mã ngắn.

Câu 7: Một chương trình xử lý văn bản cần chức năng đếm số từ, đếm số dòng, và đếm số ký tự. Bạn quyết định tạo ba hàm riêng biệt cho ba chức năng này. Đây là ví dụ về nguyên tắc thiết kế mô đun nào?

  • A. Tái sử dụng mã
  • B. Kiểm thử độc lập
  • C. Đóng gói
  • D. Phân rã (decomposition)

Câu 8: Mô đun A gọi mô đun B để thực hiện một nhiệm vụ cụ thể. Điều này có nghĩa là mô đun A đang làm gì?

  • A. Đóng gói mô đun B.
  • B. Sử dụng chức năng của mô đun B.
  • C. Kiểm thử mô đun B.
  • D. Bảo trì mô đun B.

Câu 9: Khi các mô đun trong chương trình phụ thuộc vào nhau quá nhiều (ví dụ: mô đun này truy cập trực tiếp vào dữ liệu nội bộ của mô đun khác), điều này được gọi là gì và gây ra vấn đề gì?

  • A. Đóng gói tốt, giúp chương trình chạy nhanh hơn.
  • B. Phân rã tốt, giúp mã dễ đọc hơn.
  • C. Ghép nối chặt (tight coupling), làm giảm tính độc lập và khó bảo trì.
  • D. Tái sử dụng mã, giúp tiết kiệm thời gian lập trình.

Câu 10: Giả sử bạn cần viết một chương trình quản lý điểm thi của học sinh. Chương trình cần đọc điểm từ tệp, tính điểm trung bình, tìm học sinh có điểm cao nhất, và in báo cáo. Mô đun nào sau đây có khả năng cần dữ liệu đầu vào từ nhiều mô đun khác?

  • A. Đọc điểm từ tệp
  • B. Tính điểm trung bình
  • C. Tìm học sinh có điểm cao nhất
  • D. In báo cáo

Câu 11: Trong ví dụ về tính điểm vận động viên Sea Games được đề cập trong sách, mô đun `diem_gk()` có nhiệm vụ tính điểm tổng hợp cho một vận động viên. Việc thiết kế một hàm riêng cho nhiệm vụ này thể hiện rõ lợi ích nào của lập trình mô đun?

  • A. Tập trung vào một nhiệm vụ cụ thể và dễ dàng thay đổi công thức tính điểm khi cần.
  • B. Giúp mô đun `nhapDL()` đọc dữ liệu nhanh hơn.
  • C. Tự động ghi kết quả ra tệp mà không cần mô đun `ghiDL()`.
  • D. Giảm số lượng dòng mã trong toàn bộ chương trình.

Câu 12: Khi một chương trình được chia thành các mô đun, việc kiểm thử từng mô đun riêng lẻ trước khi ghép nối chúng lại được gọi là gì?

  • A. Kiểm thử tích hợp (Integration Testing)
  • B. Kiểm thử đơn vị (Unit Testing)
  • C. Kiểm thử hệ thống (System Testing)
  • D. Kiểm thử chấp nhận (Acceptance Testing)

Câu 13: Bạn đang làm việc nhóm để phát triển một phần mềm. Mỗi thành viên được giao viết một vài mô đun độc lập. Lợi ích chính của việc này trong làm việc nhóm là gì?

  • A. Giảm thiểu hoàn toàn khả năng xảy ra lỗi.
  • B. Cho phép mỗi người làm việc trên toàn bộ mã nguồn cùng lúc.
  • C. Cho phép các thành viên làm việc song song trên các phần khác nhau của chương trình.
  • D. Loại bỏ nhu cầu giao tiếp giữa các thành viên.

Câu 14: Trong thiết kế mô đun, "giao diện" (interface) của một mô đun là gì?

  • A. Cách các mô đun khác tương tác với nó (ví dụ: tên hàm, tham số, giá trị trả về).
  • B. Toàn bộ mã nguồn bên trong mô đun.
  • C. Giao diện người dùng của chương trình.
  • D. Tên tệp chứa mã nguồn của mô đun.

Câu 15: Xét một chương trình xử lý ảnh. Các chức năng có thể bao gồm: Đọc ảnh từ tệp, Chuyển ảnh sang ảnh xám, Áp dụng bộ lọc làm mờ, Lưu ảnh ra tệp. Mô đun "Áp dụng bộ lọc làm mờ" có thể cần dữ liệu đầu vào là gì?

  • A. Tên tệp ảnh đầu ra.
  • B. Dữ liệu ảnh đã được đọc hoặc xử lý từ các mô đun trước đó.
  • C. Đường dẫn cài đặt phần mềm.
  • D. Số lượng ảnh cần xử lý.

Câu 16: Khi phân rã một bài toán lớn thành các mô đun nhỏ hơn, mục tiêu chính là làm cho mỗi mô đun có tính "độc lập" (cohesion) cao. Tính độc lập cao của một mô đun nghĩa là gì?

  • A. Mô đun có thể chạy mà không cần bất kỳ mô đun nào khác.
  • B. Mô đun có thể được sử dụng lại trong nhiều chương trình khác nhau.
  • C. Mô đun không tương tác với bất kỳ dữ liệu toàn cục nào.
  • D. Các phần tử bên trong mô đun có mối quan hệ chặt chẽ và cùng phục vụ một mục đích duy nhất.

Câu 17: Bạn viết một hàm tính diện tích hình tròn. Hàm này nhận bán kính làm tham số và trả về diện tích. Đây là ví dụ về một mô đun có tính "đóng gói" tốt vì:

  • A. Nó có thể được gọi từ bất kỳ đâu trong chương trình.
  • B. Chi tiết công thức tính diện tích được che giấu bên trong hàm, chỉ cần biết cách gọi hàm.
  • C. Nó không cần bất kỳ tham số nào.
  • D. Nó có thể tính diện tích của nhiều hình khác nhau.

Câu 18: Một chương trình được thiết kế theo mô đun gặp lỗi khi chạy. Lợi ích của thiết kế mô đun trong quá trình gỡ lỗi (debugging) là gì?

  • A. Lập trình viên không cần gỡ lỗi.
  • B. Lỗi chỉ xảy ra trong mô đun chính.
  • C. Có thể khoanh vùng lỗi dễ dàng hơn vào một hoặc một vài mô đun cụ thể.
  • D. Mã nguồn trở nên khó đọc hơn, do đó khó tìm thấy lỗi.

Câu 19: Giả sử bạn có một chương trình tính toán tài chính. Có một mô đun xử lý lãi suất, một mô đun xử lý thuế, và một mô đun tổng hợp kết quả. Nếu quy định về thuế thay đổi, bạn chỉ cần sửa mô đun xử lý thuế mà không ảnh hưởng đến các mô đun khác (miễn là giao diện không đổi). Đây là ví dụ về lợi ích nào của thiết kế mô đun?

  • A. Dễ dàng bảo trì và cập nhật.
  • B. Chạy nhanh hơn.
  • C. Sử dụng ít bộ nhớ hơn.
  • D. Dễ dàng viết mã ban đầu.

Câu 20: Khi thiết kế chương trình theo mô đun, việc xác định rõ chức năng và giao diện của từng mô đun trước khi viết mã chi tiết là một bước quan trọng. Bước này thuộc giai đoạn nào trong quy trình phát triển phần mềm?

  • A. Cài đặt (Coding)
  • B. Thiết kế (Design)
  • C. Kiểm thử (Testing)
  • D. Bảo trì (Maintenance)

Câu 21: Một chương trình cần xử lý danh sách các số nguyên: nhập danh sách, sắp xếp danh sách, và in danh sách. Bạn quyết định tạo ba hàm: `nhap_danh_sach()`, `sap_xep_danh_sach(ds)`, và `in_danh_sach(ds)`. Hàm `sap_xep_danh_sach` nhận danh sách `ds` làm tham số. Điều này thể hiện nguyên tắc truyền dữ liệu giữa các mô đun như thế nào?

  • A. Truyền dữ liệu qua tham số hàm.
  • B. Sử dụng biến toàn cục.
  • C. Đọc trực tiếp từ tệp trong hàm.
  • D. Sử dụng giá trị trả về của hàm.

Câu 22: Trong ví dụ Sea Games, giả sử sau khi tính điểm tổng hợp, bạn cần bổ sung chức năng tìm vận động viên có điểm cao nhất. Chức năng này nên được đặt trong mô đun nào hoặc tạo thành một mô đun mới?

  • A. Trong mô đun `nhapDL()`.
  • B. Trong mô đun `ghiDL()`.
  • C. Là một hàm riêng biệt (mô đun mới) hoặc tích hợp vào mô đun xử lý chính (`Xuly()`).
  • D. Trong mô đun `diem_gk()`.

Câu 23: Mô đun nào trong một chương trình thường đóng vai trò là điểm bắt đầu thực thi và điều phối việc gọi các mô đun khác?

  • A. Mô đun nhập dữ liệu.
  • B. Mô đun xử lý dữ liệu phức tạp nhất.
  • C. Mô đun ghi kết quả.
  • D. Mô đun chính (main module) hoặc hàm chính (main function).

Câu 24: Khi một mô đun được thiết kế tốt, nó có thể được coi như một "hộp đen" (black box). Điều này có nghĩa là gì?

  • A. Mã nguồn của mô đun được mã hóa.
  • B. Người sử dụng mô đun chỉ cần biết chức năng và cách sử dụng (giao diện) mà không cần biết chi tiết cài đặt bên trong.
  • C. Mô đun không hiển thị bất kỳ thông báo nào ra màn hình.
  • D. Mô đun chỉ có thể được sử dụng trong các chương trình tối màu (dark mode).

Câu 25: Bạn đang viết một chương trình tính toán khoa học. Bạn cần sử dụng hàm căn bậc hai. Thay vì tự viết lại, bạn sử dụng hàm `sqrt()` có sẵn trong thư viện toán học của ngôn ngữ lập trình. Việc này thể hiện lợi ích nào của thiết kế mô đun?

  • A. Tái sử dụng mã nguồn.
  • B. Giảm độ phức tạp của thuật toán.
  • C. Chỉ hoạt động với các số nguyên.
  • D. Tăng kích thước tệp chương trình.

Câu 26: Một chương trình có cấu trúc như sau: Hàm A gọi hàm B, hàm B gọi hàm C. Nếu hàm C gặp lỗi, việc gỡ lỗi sẽ dễ dàng hơn nếu các hàm A, B, C được thiết kế như các mô đun độc lập vì:

  • A. Lỗi sẽ tự động được sửa.
  • B. Chương trình sẽ dừng lại ngay lập tức.
  • C. Chỉ cần kiểm tra hàm A.
  • D. Có thể cô lập và kiểm tra riêng từng hàm (B, C) để xác định nguồn gốc lỗi.

Câu 27: Việc sử dụng biến toàn cục để chia sẻ dữ liệu giữa các mô đun khác nhau trong một chương trình lớn thường bị coi là một thực hành không tốt trong thiết kế mô đun vì:

  • A. Làm cho chương trình chạy chậm hơn.
  • B. Làm tăng sự phụ thuộc giữa các mô đun (ghép nối chặt) và khó theo dõi sự thay đổi dữ liệu.
  • C. Giảm khả năng sử dụng lại của mô đun.
  • D. Yêu cầu nhiều bộ nhớ hơn.

Câu 28: Khi nào thì việc chia một chức năng rất nhỏ thành một mô đun riêng (ví dụ: một hàm chỉ thực hiện một phép tính đơn giản) có thể không mang lại nhiều lợi ích, thậm chí làm tăng độ phức tạp?

  • A. Khi chức năng đó quá đơn giản, ngắn gọn và không có khả năng tái sử dụng.
  • B. Khi chức năng đó rất phức tạp và cần nhiều dòng mã.
  • C. Khi chức năng đó cần tương tác với nhiều phần khác của chương trình.
  • D. Khi chức năng đó thường xuyên được gọi.

Câu 29: Trong ngữ cảnh của bài toán tính điểm vận động viên Sea Games, mô đun `Xuly()` có nhiệm vụ chính là gì?

  • A. Đọc dữ liệu từ tệp đầu vào.
  • B. Ghi kết quả đã xử lý ra tệp đầu ra.
  • C. Gọi mô đun `diem_gk()` để tính điểm cho từng vận động viên và có thể thực hiện các xử lý tổng hợp khác.
  • D. Hiển thị giao diện người dùng cho chương trình.

Câu 30: Giả sử bạn muốn thêm chức năng kiểm tra xem điểm của các giám khảo có hợp lệ (ví dụ: nằm trong khoảng 0-10) trong chương trình tính điểm Sea Games. Chức năng kiểm tra này có thể được tích hợp vào mô đun nào để đảm bảo dữ liệu đầu vào được xử lý đúng?

  • A. Trong mô đun `nhapDL()`, ngay sau khi đọc dữ liệu từ tệp.
  • B. Trong mô đun `diem_gk()`, sau khi tính điểm tổng hợp.
  • C. Trong mô đun `ghiDL()`, trước khi ghi kết quả.
  • D. Trong mô đun chính, sau khi tất cả các mô đun khác đã chạy xong.

1 / 30

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

Tags: Bộ đề 06

Câu 1: Một lập trình viên đang phát triển một chương trình quản lý thư viện. Chương trình cần các chức năng sau: Thêm sách mới, Tìm kiếm sách theo tiêu đề, Xóa sách, Hiển thị danh sách sách. Theo nguyên tắc thiết kế mô đun, chức năng nào sau đây *ít phù hợp nhất* để trở thành một mô đun (hàm hoặc thủ tục) độc lập?

2 / 30

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

Tags: Bộ đề 06

Câu 2: Giả sử bạn có một chương trình xử lý dữ liệu học sinh, bao gồm các bước: Đọc danh sách học sinh từ tệp, Tính điểm trung bình cho từng học sinh, Xếp loại học lực, Ghi kết quả ra tệp. Nếu bạn chia chương trình này thành các mô đun, mô đun 'Tính điểm trung bình' nên nhận dữ liệu đầu vào từ mô đun nào?

3 / 30

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

Tags: Bộ đề 06

Câu 3: Lợi ích chính của việc thiết kế chương trình theo mô đun là gì?

4 / 30

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

Tags: Bộ đề 06

Câu 4: Trong lập trình, một 'hàm' (function) hoặc 'thủ tục' (procedure) thường được coi là một loại mô đun. Đặc điểm nào sau đây *không phải* là đặc điểm của một mô đun tốt?

5 / 30

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

Tags: Bộ đề 06

Câu 5: Xét một chương trình tính tiền điện cho các hộ gia đình. Các bước bao gồm: Đọc chỉ số điện cũ/mới, Tính lượng điện tiêu thụ, Áp dụng biểu giá (có bậc), Tính thuế VAT, In hóa đơn. Nếu biểu giá điện thay đổi, bạn nên sửa đổi mô đun nào để cập nhật chương trình một cách hiệu quả nhất?

6 / 30

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

Tags: Bộ đề 06

Câu 6: Khi thiết kế chương trình theo mô đun, khái niệm 'đóng gói' (encapsulation) liên quan đến việc gì?

7 / 30

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

Tags: Bộ đề 06

Câu 7: Một chương trình xử lý văn bản cần chức năng đếm số từ, đếm số dòng, và đếm số ký tự. Bạn quyết định tạo ba hàm riêng biệt cho ba chức năng này. Đây là ví dụ về nguyên tắc thiết kế mô đun nào?

8 / 30

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

Tags: Bộ đề 06

Câu 8: Mô đun A gọi mô đun B để thực hiện một nhiệm vụ cụ thể. Điều này có nghĩa là mô đun A đang làm gì?

9 / 30

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

Tags: Bộ đề 06

Câu 9: Khi các mô đun trong chương trình phụ thuộc vào nhau quá nhiều (ví dụ: mô đun này truy cập trực tiếp vào dữ liệu nội bộ của mô đun khác), điều này được gọi là gì và gây ra vấn đề gì?

10 / 30

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

Tags: Bộ đề 06

Câu 10: Giả sử bạn cần viết một chương trình quản lý điểm thi của học sinh. Chương trình cần đọc điểm từ tệp, tính điểm trung bình, tìm học sinh có điểm cao nhất, và in báo cáo. Mô đun nào sau đây có khả năng cần dữ liệu đầu vào từ nhiều mô đun khác?

11 / 30

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

Tags: Bộ đề 06

Câu 11: Trong ví dụ về tính điểm vận động viên Sea Games được đề cập trong sách, mô đun `diem_gk()` có nhiệm vụ tính điểm tổng hợp cho *một* vận động viên. Việc thiết kế một hàm riêng cho nhiệm vụ này thể hiện rõ lợi ích nào của lập trình mô đun?

12 / 30

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

Tags: Bộ đề 06

Câu 12: Khi một chương trình được chia thành các mô đun, việc kiểm thử từng mô đun riêng lẻ trước khi ghép nối chúng lại được gọi là gì?

13 / 30

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

Tags: Bộ đề 06

Câu 13: Bạn đang làm việc nhóm để phát triển một phần mềm. Mỗi thành viên được giao viết một vài mô đun độc lập. Lợi ích chính của việc này trong làm việc nhóm là gì?

14 / 30

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

Tags: Bộ đề 06

Câu 14: Trong thiết kế mô đun, 'giao diện' (interface) của một mô đun là gì?

15 / 30

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

Tags: Bộ đề 06

Câu 15: Xét một chương trình xử lý ảnh. Các chức năng có thể bao gồm: Đọc ảnh từ tệp, Chuyển ảnh sang ảnh xám, Áp dụng bộ lọc làm mờ, Lưu ảnh ra tệp. Mô đun 'Áp dụng bộ lọc làm mờ' có thể cần dữ liệu đầu vào là gì?

16 / 30

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

Tags: Bộ đề 06

Câu 16: Khi phân rã một bài toán lớn thành các mô đun nhỏ hơn, mục tiêu chính là làm cho mỗi mô đun có tính 'độc lập' (cohesion) cao. Tính độc lập cao của một mô đun nghĩa là gì?

17 / 30

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

Tags: Bộ đề 06

Câu 17: Bạn viết một hàm tính diện tích hình tròn. Hàm này nhận bán kính làm tham số và trả về diện tích. Đây là ví dụ về một mô đun có tính 'đóng gói' tốt vì:

18 / 30

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

Tags: Bộ đề 06

Câu 18: Một chương trình được thiết kế theo mô đun gặp lỗi khi chạy. Lợi ích của thiết kế mô đun trong quá trình gỡ lỗi (debugging) là gì?

19 / 30

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

Tags: Bộ đề 06

Câu 19: Giả sử bạn có một chương trình tính toán tài chính. Có một mô đun xử lý lãi suất, một mô đun xử lý thuế, và một mô đun tổng hợp kết quả. Nếu quy định về thuế thay đổi, bạn chỉ cần sửa mô đun xử lý thuế mà không ảnh hưởng đến các mô đun khác (miễn là giao diện không đổi). Đây là ví dụ về lợi ích nào của thiết kế mô đun?

20 / 30

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

Tags: Bộ đề 06

Câu 20: Khi thiết kế chương trình theo mô đun, việc xác định rõ chức năng và giao diện của từng mô đun trước khi viết mã chi tiết là một bước quan trọng. Bước này thuộc giai đoạn nào trong quy trình phát triển phần mềm?

21 / 30

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

Tags: Bộ đề 06

Câu 21: Một chương trình cần xử lý danh sách các số nguyên: nhập danh sách, sắp xếp danh sách, và in danh sách. Bạn quyết định tạo ba hàm: `nhap_danh_sach()`, `sap_xep_danh_sach(ds)`, và `in_danh_sach(ds)`. Hàm `sap_xep_danh_sach` nhận danh sách `ds` làm tham số. Điều này thể hiện nguyên tắc truyền dữ liệu giữa các mô đun như thế nào?

22 / 30

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

Tags: Bộ đề 06

Câu 22: Trong ví dụ Sea Games, giả sử sau khi tính điểm tổng hợp, bạn cần bổ sung chức năng tìm vận động viên có điểm cao nhất. Chức năng này nên được đặt trong mô đun nào hoặc tạo thành một mô đun mới?

23 / 30

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

Tags: Bộ đề 06

Câu 23: Mô đun nào trong một chương trình thường đóng vai trò là điểm bắt đầu thực thi và điều phối việc gọi các mô đun khác?

24 / 30

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

Tags: Bộ đề 06

Câu 24: Khi một mô đun được thiết kế tốt, nó có thể được coi như một 'hộp đen' (black box). Điều này có nghĩa là gì?

25 / 30

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

Tags: Bộ đề 06

Câu 25: Bạn đang viết một chương trình tính toán khoa học. Bạn cần sử dụng hàm căn bậc hai. Thay vì tự viết lại, bạn sử dụng hàm `sqrt()` có sẵn trong thư viện toán học của ngôn ngữ lập trình. Việc này thể hiện lợi ích nào của thiết kế mô đun?

26 / 30

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

Tags: Bộ đề 06

Câu 26: Một chương trình có cấu trúc như sau: Hàm A gọi hàm B, hàm B gọi hàm C. Nếu hàm C gặp lỗi, việc gỡ lỗi sẽ dễ dàng hơn nếu các hàm A, B, C được thiết kế như các mô đun độc lập vì:

27 / 30

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

Tags: Bộ đề 06

Câu 27: Việc sử dụng biến toàn cục để chia sẻ dữ liệu giữa các mô đun khác nhau trong một chương trình lớn thường bị coi là một thực hành không tốt trong thiết kế mô đun vì:

28 / 30

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

Tags: Bộ đề 06

Câu 28: Khi nào thì việc chia một chức năng rất nhỏ thành một mô đun riêng (ví dụ: một hàm chỉ thực hiện một phép tính đơn giản) có thể không mang lại nhiều lợi ích, thậm chí làm tăng độ phức tạp?

29 / 30

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

Tags: Bộ đề 06

Câu 29: Trong ngữ cảnh của bài toán tính điểm vận động viên Sea Games, mô đun `Xuly()` có nhiệm vụ chính là gì?

30 / 30

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

Tags: Bộ đề 06

Câu 30: Giả sử bạn muốn thêm chức năng kiểm tra xem điểm của các giám khảo có hợp lệ (ví dụ: nằm trong khoảng 0-10) trong chương trình tính điểm Sea Games. Chức năng kiểm tra này *có thể* được tích hợp vào mô đun nào để đảm bảo dữ liệu đầu vào được xử lý đúng?

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 Bài 29: Thực hành thiết kế chương trình theo mô đun

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 07

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 07 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Trong lập trình, việc chia một chương trình lớn thành các phần nhỏ hơn, độc lập và có chức năng cụ thể được gọi là gì?

  • A. Lập trình hướng đối tượng
  • B. Lập trình tuần tự
  • C. Thiết kế chương trình theo mô đun
  • D. Biên dịch chương trình

Câu 2: Lợi ích chính của việc thiết kế chương trình theo mô đun là gì?

  • A. Giúp chương trình dễ bảo trì, sửa đổi và mở rộng.
  • B. Luôn làm cho chương trình chạy nhanh hơn.
  • C. Giảm thiểu hoàn toàn lỗi trong quá trình lập trình.
  • D. Chỉ áp dụng cho các chương trình rất nhỏ.

Câu 3: Khi thiết kế chương trình tính điểm Sea Games theo mô đun, việc tách riêng phần đọc dữ liệu từ tệp thành một mô đun (`nhapDL`) thể hiện rõ nhất lợi ích nào của lập trình mô đun?

  • A. Tăng tốc độ xử lý dữ liệu.
  • B. Giúp mã chương trình ngắn gọn hơn.
  • C. Cho phép sử dụng lại mã đọc dữ liệu ở các chương trình khác (nếu có định dạng tệp tương tự).
  • D. Làm cho việc thay đổi định dạng tệp đầu vào dễ dàng hơn mà không ảnh hưởng đến logic xử lý chính.

Câu 4: Giả sử bạn cần bổ sung chức năng xuất kết quả không chỉ ra tệp mà còn ra màn hình trong chương trình tính điểm Sea Games. Theo nguyên tắc thiết kế mô đun, bạn nên thực hiện thay đổi này ở đâu?

  • A. Chỉnh sửa mô đun `nhapDL()`.
  • B. Bổ sung chức năng vào mô đun `ghiDL()` hoặc tạo một mô đun xuất mới.
  • C. Chỉnh sửa mô đun `Xuly()`.
  • D. Thêm mã xuất ra màn hình trực tiếp vào hàm chính (main part) của chương trình.

Câu 5: Trong chương trình tính điểm Sea Games, mô đun `diem_gk(d)` chịu trách nhiệm tính điểm tổng hợp cho MỘT vận động viên dựa trên danh sách điểm của họ. Điều này thể hiện nguyên tắc thiết kế mô đun nào?

  • A. Mỗi mô đun nên thực hiện một chức năng cụ thể, độc lập.
  • B. Mô đun phải có kích thước nhỏ.
  • C. Mô đun phải sử dụng biến toàn cục.
  • D. Mô đun không được nhận tham số.

Câu 6: Khi thiết kế một chương trình theo mô đun, bước "Xác định các mô đun" thường được thực hiện sau bước nào?

  • A. Viết mã cho từng mô đun.
  • B. Kiểm thử chương trình.
  • C. Chia bài toán lớn thành các bài toán con.
  • D. Hợp nhất các mô đun lại thành chương trình hoàn chỉnh.

Câu 7: Mô đun `Xuly()` trong ví dụ Sea Games có vai trò tổng thể là điều phối quá trình tính điểm cho tất cả vận động viên. Nó gọi các mô đun khác (`diem_gk`). Điều này cho thấy `Xuly()` đóng vai trò là mô đun gì?

  • A. Mô đun nhập liệu.
  • B. Mô đun xuất liệu.
  • C. Mô đun tính toán chi tiết.
  • D. Mô đun xử lý/điều phối chính.

Câu 8: Giả sử bạn muốn thay đổi hệ số tính điểm cho giám khảo thứ 2 và thứ 3 trong chương trình Sea Games. Bạn chỉ cần sửa đổi mã nguồn trong mô đun nào?

  • A. nhapDL()
  • B. Xuly()
  • C. diem_gk()
  • D. ghiDL()

Câu 9: Khả năng sử dụng lại một mô đun đã viết trong nhiều chương trình khác nhau thể hiện lợi ích nào của thiết kế mô đun?

  • A. Tính tái sử dụng (Reusability).
  • B. Tính dễ bảo trì (Maintainability).
  • C. Tính hiệu quả (Efficiency).
  • D. Tính bảo mật (Security).

Câu 10: Khi kiểm thử một chương trình được thiết kế theo mô đun, bạn có thể kiểm thử từng mô đun một cách độc lập trước khi kiểm thử toàn bộ chương trình. Lợi ích này được gọi là gì?

  • A. Tính linh hoạt.
  • B. Tính hiệu quả.
  • C. Tính bảo mật.
  • D. Tính dễ kiểm thử (Testability).

Câu 11: Trong thiết kế mô đun, "giao diện" (interface) của một mô đun là gì?

  • A. Toàn bộ mã nguồn bên trong mô đun.
  • B. Tập hợp các hàm, thủ tục và cách thức chúng nhận/trả dữ liệu mà các mô đun khác có thể sử dụng.
  • C. Màn hình giao diện người dùng của chương trình.
  • D. Tệp dữ liệu mà mô đun xử lý.

Câu 12: Việc che giấu chi tiết cài đặt bên trong của một mô đun, chỉ cho phép các mô đun khác truy cập thông qua giao diện đã định nghĩa, được gọi là gì?

  • A. Tính kế thừa (Inheritance).
  • B. Tính đa hình (Polymorphism).
  • C. Tính đóng gói (Encapsulation).
  • D. Tính trừu tượng (Abstraction).

Câu 13: Bạn đang phát triển một chương trình quản lý sách cho thư viện. Bạn đã tạo một mô đun `book_manager` với các hàm như `add_book`, `remove_book`, `find_book`. Khi một mô đun khác cần thêm sách mới, nó sẽ gọi hàm `add_book` của `book_manager`. Điều này thể hiện cách các mô đun tương tác thông qua:

  • A. Gọi hàm/thủ tục của nhau.
  • B. Truy cập trực tiếp vào biến nội bộ của nhau.
  • C. Chia sẻ cùng một biến toàn cục.
  • D. Đọc/ghi trực tiếp vào mã nguồn của nhau.

Câu 14: Trong ví dụ Sea Games, nếu bạn muốn thêm chức năng sắp xếp danh sách vận động viên theo điểm tổng hợp giảm dần trước khi ghi ra tệp, bạn nên thêm mã sắp xếp vào đâu để tuân thủ thiết kế mô đun?

  • A. Trong mô đun `nhapDL()`.
  • B. Trong mô đun `Xuly()`, trước khi gọi mô đun `ghiDL()`.
  • C. Trong hàm `diem_gk()`.
  • D. Trực tiếp trong mô đun `ghiDL()`.

Câu 15: Một chương trình được thiết kế tốt theo mô đun có đặc điểm là sự phụ thuộc giữa các mô đun (coupling) thấp và sự gắn kết bên trong mỗi mô đun (cohesion) cao. Tại sao việc giảm sự phụ thuộc giữa các mô đun lại quan trọng?

  • A. Giúp chương trình chạy nhanh hơn.
  • B. Làm cho mã nguồn của mỗi mô đun dài hơn.
  • C. Giúp việc thay đổi một mô đun ít ảnh hưởng đến các mô đun khác.
  • D. Bắt buộc các mô đun phải chia sẻ dữ liệu toàn cục.

Câu 16: Khi một mô đun thực hiện nhiều chức năng không liên quan chặt chẽ với nhau, mô đun đó được coi là có:

  • A. Sự phụ thuộc cao (High coupling).
  • B. Sự gắn kết thấp (Low cohesion).
  • C. Tính tái sử dụng cao (High reusability).
  • D. Tính dễ kiểm thử cao (High testability).

Câu 17: Trong quá trình phát triển phần mềm theo nhóm, thiết kế chương trình theo mô đun đặc biệt hữu ích vì:

  • A. Cho phép nhiều lập trình viên làm việc song song trên các phần khác nhau của chương trình.
  • B. Giảm số lượng dòng mã cần viết.
  • C. Tự động sửa lỗi cú pháp.
  • D. Loại bỏ hoàn toàn nhu cầu giao tiếp giữa các thành viên trong nhóm.

Câu 18: Giả sử bạn cần mở rộng chương trình Sea Games để hỗ trợ nhập dữ liệu từ một nguồn khác, ví dụ từ cơ sở dữ liệu thay vì tệp văn bản. Mô đun nào cần được tập trung sửa đổi hoặc thay thế?

  • A. Mô đun `nhapDL()`.
  • B. Mô đun `Xuly()`.
  • C. Mô đun `diem_gk()`.
  • D. Mô đun `ghiDL()`.

Câu 19: Khi một mô đun A gọi một mô đun B và truyền dữ liệu cho B để xử lý, dữ liệu đó được truyền qua:

  • A. Biến toàn cục (Global variables).
  • B. Tệp tạm thời (Temporary files).
  • C. Đường dẫn tệp (File paths).
  • D. Tham số của hàm/thủ tục (Function/procedure parameters).

Câu 20: Mô đun `diem_gk(d)` nhận vào một danh sách điểm `d` của một vận động viên và trả về một giá trị duy nhất là điểm tổng hợp. Giá trị này được trả về cho mô đun nào đã gọi nó?

  • A. Mô đun `nhapDL()`.
  • B. Mô đun `Xuly()`.
  • C. Mô đun `ghiDL()`.
  • D. Hàm chính (main part) của chương trình.

Câu 21: Việc phân chia chương trình thành các mô đun giúp giảm độ phức tạp tổng thể của chương trình vì:

  • A. Các mô đun tự động tối ưu hóa mã nguồn.
  • B. Loại bỏ hoàn toàn các biến.
  • C. Cho phép tập trung vào việc hiểu và phát triển từng phần nhỏ một cách độc lập.
  • D. Bắt buộc sử dụng một ngôn ngữ lập trình đơn giản hơn.

Câu 22: Bạn đang thiết kế một chương trình xử lý ảnh. Bạn dự định có các chức năng: đọc ảnh từ tệp, thay đổi kích thước ảnh, áp dụng bộ lọc (đen trắng, sepia), và lưu ảnh ra tệp. Theo nguyên tắc mô đun, chức năng nào dưới đây ít phù hợp nhất để trở thành một mô đun độc lập?

  • A. Đọc ảnh từ tệp.
  • B. Thay đổi kích thước ảnh.
  • C. Áp dụng bộ lọc (ví dụ: chuyển sang ảnh đen trắng).
  • D. Hiển thị ảnh trên giao diện người dùng.

Câu 23: Nếu chương trình Sea Games gặp lỗi khi cố gắng truy cập dữ liệu điểm của một vận động viên sau khi đã đọc từ tệp, mô đun nào có khả năng cao nhất là nguyên nhân gây lỗi (ví dụ: dữ liệu không được lưu trữ đúng định dạng)?

  • A. Mô đun `nhapDL()`.
  • B. Mô đun `Xuly()`.
  • C. Mô đun `diem_gk()`.
  • D. Mô đun `ghiDL()`.

Câu 24: Một mô đun được thiết kế tốt nên có "kích thước" phù hợp. Kích thước này thường được đánh giá dựa trên yếu tố nào?

  • A. Số dòng mã trong mô đun.
  • B. Phạm vi chức năng mà mô đun đảm nhiệm.
  • C. Số lượng biến toàn cục mà mô đun sử dụng.
  • D. Thời gian cần thiết để viết mô đun đó.

Câu 25: Trong thiết kế chương trình theo mô đun, việc sử dụng các biến cục bộ (local variables) bên trong mỗi mô đun thay vì biến toàn cục (global variables) giúp cải thiện điều gì?

  • A. Giảm sự phụ thuộc giữa các mô đun (coupling).
  • B. Tăng tốc độ thực thi chương trình.
  • C. Làm cho tất cả các mô đun dễ dàng truy cập dữ liệu chung.
  • D. Bắt buộc phải sử dụng tham số truyền vào rất nhiều.

Câu 26: Bạn được yêu cầu viết một chương trình quản lý danh bạ. Các chức năng cần có là: Thêm liên hệ mới, Tìm kiếm liên hệ theo tên, Hiển thị tất cả liên hệ, Lưu danh bạ vào tệp, Đọc danh bạ từ tệp. Hãy đề xuất cách phân chia chương trình thành các mô đun hợp lý nhất.

  • A. Mô đun 1: Thêm liên hệ; Mô đun 2: Tìm kiếm liên hệ; Mô đun 3: Hiển thị, Lưu, Đọc.
  • B. Mô đun 1: Thêm, Tìm kiếm, Hiển thị; Mô đun 2: Lưu danh bạ; Mô đun 3: Đọc danh bạ.
  • C. Mô đun 1: Quản lý danh bạ (Thêm, Tìm kiếm, Hiển thị); Mô đun 2: Xử lý tệp (Lưu, Đọc).
  • D. Tất cả các chức năng nên nằm trong một mô đun duy nhất vì chúng đều liên quan đến danh bạ.

Câu 27: Khi thiết kế một mô đun, việc xác định rõ ràng các tham số đầu vào mà mô đun cần và giá trị đầu ra mà nó sẽ trả về là bước quan trọng để định nghĩa:

  • A. Giao diện (Interface) của mô đun.
  • B. Chi tiết cài đặt bên trong mô đun.
  • C. Số dòng mã của mô đun.
  • D. Tên của các biến cục bộ.

Câu 28: Trong ví dụ Sea Games, mô đun `Xuly()` gọi mô đun `diem_gk()` nhiều lần, mỗi lần với dữ liệu điểm của một vận động viên khác nhau. Điều này minh họa cho lợi ích nào của việc sử dụng mô đun `diem_gk()`?

  • A. Giảm sự phụ thuộc.
  • B. Tăng tính bảo mật.
  • C. Làm cho chương trình chạy nhanh hơn.
  • D. Tái sử dụng mã logic tính điểm cho từng vận động viên.

Câu 29: Khi một chương trình lớn được chia thành các mô đun, việc tìm và sửa lỗi (debugging) trở nên dễ dàng hơn vì:

  • A. Mô đun tự động phát hiện và sửa lỗi.
  • B. Lỗi thường được cô lập trong một mô đun cụ thể, giúp khoanh vùng tìm kiếm.
  • C. Các mô đun không bao giờ chứa lỗi.
  • D. Chỉ cần kiểm thử mô đun đầu tiên.

Câu 30: Mục tiêu cuối cùng của việc áp dụng thiết kế chương trình theo mô đun là gì?

  • A. Giảm thiểu số lượng dòng mã.
  • B. Chỉ để chương trình chạy nhanh hơn.
  • C. Nâng cao chất lượng phần mềm, giúp phát triển và bảo trì hiệu quả hơn.
  • D. Bắt buộc phải sử dụng một ngôn ngữ lập trình cụ thể.

1 / 30

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

Tags: Bộ đề 07

Câu 1: Trong lập trình, việc chia một chương trình lớn thành các phần nhỏ hơn, độc lập và có chức năng cụ thể được gọi là gì?

2 / 30

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

Tags: Bộ đề 07

Câu 2: Lợi ích chính của việc thiết kế chương trình theo mô đun là gì?

3 / 30

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

Tags: Bộ đề 07

Câu 3: Khi thiết kế chương trình tính điểm Sea Games theo mô đun, việc tách riêng phần đọc dữ liệu từ tệp thành một mô đun (`nhapDL`) thể hiện rõ nhất lợi ích nào của lập trình mô đun?

4 / 30

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

Tags: Bộ đề 07

Câu 4: Giả sử bạn cần bổ sung chức năng xuất kết quả không chỉ ra tệp mà còn ra màn hình trong chương trình tính điểm Sea Games. Theo nguyên tắc thiết kế mô đun, bạn nên thực hiện thay đổi này ở đâu?

5 / 30

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

Tags: Bộ đề 07

Câu 5: Trong chương trình tính điểm Sea Games, mô đun `diem_gk(d)` chịu trách nhiệm tính điểm tổng hợp cho MỘT vận động viên dựa trên danh sách điểm của họ. Điều này thể hiện nguyên tắc thiết kế mô đun nào?

6 / 30

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

Tags: Bộ đề 07

Câu 6: Khi thiết kế một chương trình theo mô đun, bước 'Xác định các mô đun' thường được thực hiện sau bước nào?

7 / 30

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

Tags: Bộ đề 07

Câu 7: Mô đun `Xuly()` trong ví dụ Sea Games có vai trò tổng thể là điều phối quá trình tính điểm cho tất cả vận động viên. Nó gọi các mô đun khác (`diem_gk`). Điều này cho thấy `Xuly()` đóng vai trò là mô đun gì?

8 / 30

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

Tags: Bộ đề 07

Câu 8: Giả sử bạn muốn thay đổi hệ số tính điểm cho giám khảo thứ 2 và thứ 3 trong chương trình Sea Games. Bạn chỉ cần sửa đổi mã nguồn trong mô đun nào?

9 / 30

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

Tags: Bộ đề 07

Câu 9: Khả năng sử dụng lại một mô đun đã viết trong nhiều chương trình khác nhau thể hiện lợi ích nào của thiết kế mô đun?

10 / 30

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

Tags: Bộ đề 07

Câu 10: Khi kiểm thử một chương trình được thiết kế theo mô đun, bạn có thể kiểm thử từng mô đun một cách độc lập trước khi kiểm thử toàn bộ chương trình. Lợi ích này được gọi là gì?

11 / 30

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

Tags: Bộ đề 07

Câu 11: Trong thiết kế mô đun, 'giao diện' (interface) của một mô đun là gì?

12 / 30

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

Tags: Bộ đề 07

Câu 12: Việc che giấu chi tiết cài đặt bên trong của một mô đun, chỉ cho phép các mô đun khác truy cập thông qua giao diện đã định nghĩa, được gọi là gì?

13 / 30

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

Tags: Bộ đề 07

Câu 13: Bạn đang phát triển một chương trình quản lý sách cho thư viện. Bạn đã tạo một mô đun `book_manager` với các hàm như `add_book`, `remove_book`, `find_book`. Khi một mô đun khác cần thêm sách mới, nó sẽ gọi hàm `add_book` của `book_manager`. Điều này thể hiện cách các mô đun tương tác thông qua:

14 / 30

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

Tags: Bộ đề 07

Câu 14: Trong ví dụ Sea Games, nếu bạn muốn thêm chức năng sắp xếp danh sách vận động viên theo điểm tổng hợp giảm dần trước khi ghi ra tệp, bạn nên thêm mã sắp xếp vào đâu để tuân thủ thiết kế mô đun?

15 / 30

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

Tags: Bộ đề 07

Câu 15: Một chương trình được thiết kế tốt theo mô đun có đặc điểm là sự phụ thuộc giữa các mô đun (coupling) thấp và sự gắn kết bên trong mỗi mô đun (cohesion) cao. Tại sao việc giảm sự phụ thuộc giữa các mô đun lại quan trọng?

16 / 30

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

Tags: Bộ đề 07

Câu 16: Khi một mô đun thực hiện nhiều chức năng không liên quan chặt chẽ với nhau, mô đun đó được coi là có:

17 / 30

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

Tags: Bộ đề 07

Câu 17: Trong quá trình phát triển phần mềm theo nhóm, thiết kế chương trình theo mô đun đặc biệt hữu ích vì:

18 / 30

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

Tags: Bộ đề 07

Câu 18: Giả sử bạn cần mở rộng chương trình Sea Games để hỗ trợ nhập dữ liệu từ một nguồn khác, ví dụ từ cơ sở dữ liệu thay vì tệp văn bản. Mô đun nào cần được tập trung sửa đổi hoặc thay thế?

19 / 30

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

Tags: Bộ đề 07

Câu 19: Khi một mô đun A gọi một mô đun B và truyền dữ liệu cho B để xử lý, dữ liệu đó được truyền qua:

20 / 30

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

Tags: Bộ đề 07

Câu 20: Mô đun `diem_gk(d)` nhận vào một danh sách điểm `d` của một vận động viên và trả về một giá trị duy nhất là điểm tổng hợp. Giá trị này được trả về cho mô đun nào đã gọi nó?

21 / 30

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

Tags: Bộ đề 07

Câu 21: Việc phân chia chương trình thành các mô đun giúp giảm độ phức tạp tổng thể của chương trình vì:

22 / 30

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

Tags: Bộ đề 07

Câu 22: Bạn đang thiết kế một chương trình xử lý ảnh. Bạn dự định có các chức năng: đọc ảnh từ tệp, thay đổi kích thước ảnh, áp dụng bộ lọc (đen trắng, sepia), và lưu ảnh ra tệp. Theo nguyên tắc mô đun, chức năng nào dưới đây *ít phù hợp nhất* để trở thành một mô đun độc lập?

23 / 30

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

Tags: Bộ đề 07

Câu 23: Nếu chương trình Sea Games gặp lỗi khi cố gắng truy cập dữ liệu điểm của một vận động viên sau khi đã đọc từ tệp, mô đun nào có khả năng cao nhất là nguyên nhân gây lỗi (ví dụ: dữ liệu không được lưu trữ đúng định dạng)?

24 / 30

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

Tags: Bộ đề 07

Câu 24: Một mô đun được thiết kế tốt nên có 'kích thước' phù hợp. Kích thước này thường được đánh giá dựa trên yếu tố nào?

25 / 30

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

Tags: Bộ đề 07

Câu 25: Trong thiết kế chương trình theo mô đun, việc sử dụng các biến cục bộ (local variables) bên trong mỗi mô đun thay vì biến toàn cục (global variables) giúp cải thiện điều gì?

26 / 30

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

Tags: Bộ đề 07

Câu 26: Bạn được yêu cầu viết một chương trình quản lý danh bạ. Các chức năng cần có là: Thêm liên hệ mới, Tìm kiếm liên hệ theo tên, Hiển thị tất cả liên hệ, Lưu danh bạ vào tệp, Đọc danh bạ từ tệp. Hãy đề xuất cách phân chia chương trình thành các mô đun hợp lý nhất.

27 / 30

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

Tags: Bộ đề 07

Câu 27: Khi thiết kế một mô đun, việc xác định rõ ràng các tham số đầu vào mà mô đun cần và giá trị đầu ra mà nó sẽ trả về là bước quan trọng để định nghĩa:

28 / 30

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

Tags: Bộ đề 07

Câu 28: Trong ví dụ Sea Games, mô đun `Xuly()` gọi mô đun `diem_gk()` nhiều lần, mỗi lần với dữ liệu điểm của một vận động viên khác nhau. Điều này minh họa cho lợi ích nào của việc sử dụng mô đun `diem_gk()`?

29 / 30

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

Tags: Bộ đề 07

Câu 29: Khi một chương trình lớn được chia thành các mô đun, việc tìm và sửa lỗi (debugging) trở nên dễ dàng hơn vì:

30 / 30

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

Tags: Bộ đề 07

Câu 30: Mục tiêu cuối cùng của việc áp dụng thiết kế chương trình theo mô đun là gì?

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 Bài 29: Thực hành thiết kế chương trình theo mô đun

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 08

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 08 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Trong ngữ cảnh của Bài 29, việc thiết kế chương trình tính điểm vận động viên theo mô đun mang lại lợi ích chính nào sau đây khi cần thay đổi công thức tính điểm?

  • A. Tăng tốc độ thực thi chương trình tổng thể.
  • B. Giảm dung lượng bộ nhớ mà chương trình sử dụng.
  • C. Chỉ cần chỉnh sửa một phần nhỏ (mô đun/hàm cụ thể) mà không ảnh hưởng đến toàn bộ chương trình.
  • D. Cho phép chương trình tự động cập nhật công thức tính điểm.

Câu 2: Mô đun `nhapDL(finp)` trong chương trình mẫu Bài 29 có trách nhiệm cụ thể nào?

  • A. Tính điểm tổng hợp cuối cùng cho từng vận động viên.
  • B. Ghi kết quả đã xử lý ra tệp đầu ra.
  • C. Sắp xếp danh sách vận động viên theo điểm.
  • D. Đọc dữ liệu thô từ tệp đầu vào và tổ chức chúng thành cấu trúc dữ liệu phù hợp.

Câu 3: Giả sử bạn cần bổ sung chức năng ghi thêm thông tin quốc gia của vận động viên vào tệp đầu ra. Dữ liệu quốc gia này cũng được đọc từ tệp đầu vào. Bạn cần sửa đổi những mô đun nào trong chương trình hiện tại?

  • A. Mô đun `nhapDL` để đọc thêm dữ liệu quốc gia và mô đun `ghiDL` để ghi thông tin này ra tệp.
  • B. Chỉ mô đun `nhapDL` vì việc đọc dữ liệu là trách nhiệm của nó.
  • C. Chỉ mô đun `ghiDL` vì việc ghi dữ liệu ra tệp là trách nhiệm của nó.
  • D. Mô đun `Xuly` vì nó xử lý tất cả dữ liệu trước khi ghi.

Câu 4: Hàm `diem_gk(d)` trong chương trình Bài 29 có vai trò là một mô đun con (sub-module) của mô đun nào và thực hiện nhiệm vụ gì?

  • A. Mô đun `nhapDL`, tính trung bình điểm của tất cả giám khảo.
  • B. Mô đun `Xuly`, tính điểm tổng hợp cho MỘT vận động viên dựa trên danh sách điểm của người đó.
  • C. Mô đun `ghiDL`, định dạng điểm để ghi ra tệp.
  • D. Mô đun chính, xác định giám khảo nào có trọng số cao nhất.

Câu 5: Khi thiết kế theo mô đun, việc mỗi mô đun chỉ tập trung vào một nhiệm vụ cụ thể (ví dụ: mô đun nhập chỉ lo nhập, mô đun xử lý chỉ lo tính toán) được gọi là gì?

  • A. Tính đóng gói (Encapsulation).
  • B. Tính kế thừa (Inheritance).
  • C. Nguyên tắc phân tách trách nhiệm (Separation of Concerns).
  • D. Tính đa hình (Polymorphism).

Câu 6: Mô đun `Xuly(B)` nhận đầu vào là danh sách điểm của các vận động viên (từ `nhapDL`) và sử dụng hàm `diem_gk` để tính điểm tổng hợp. Đầu ra của mô đun `Xuly` trong chương trình mẫu Bài 29 là gì?

  • A. Danh sách điểm tổng hợp của từng vận động viên.
  • B. Tên tệp đầu ra.
  • C. Danh sách mã số vận động viên.
  • D. Số lượng vận động viên tham gia.

Câu 7: Nếu bạn muốn thay đổi định dạng của dữ liệu khi ghi ra tệp (ví dụ: làm tròn điểm đến 2 chữ số thập phân hoặc thêm tiêu đề cột), bạn nên thực hiện thay đổi này ở đâu trong cấu trúc mô đun của Bài 29?

  • A. Trong hàm `diem_gk`.
  • B. Trong mô đun `nhapDL`.
  • C. Trong mô đun `Xuly`.
  • D. Trong mô đun `ghiDL`.

Câu 8: Lợi ích nào của thiết kế mô đun giúp việc tìm và sửa lỗi trong chương trình trở nên dễ dàng hơn?

  • A. Việc mỗi mô đun có trách nhiệm riêng biệt giúp cô lập lỗi vào một phần cụ thể của chương trình.
  • B. Mô đun tự động sửa lỗi khi phát hiện sai sót.
  • C. Thiết kế mô đun loại bỏ hoàn toàn khả năng xảy ra lỗi.
  • D. Mô đun tạo ra các bản sao lưu tự động của mã nguồn.

Câu 9: Trong chương trình Bài 29, mô đun chính (main part) có vai trò gì?

  • A. Thực hiện tất cả các phép tính phức tạp.
  • B. Chỉ chứa các định nghĩa hàm và thủ tục.
  • C. Điều phối hoạt động bằng cách gọi các mô đun khác theo đúng trình tự thực hiện bài toán (nhập, xử lý, xuất).
  • D. Lưu trữ toàn bộ dữ liệu của chương trình.

Câu 10: Nếu bài toán yêu cầu lọc ra chỉ những vận động viên có điểm tổng hợp trên một ngưỡng nhất định trước khi ghi kết quả. Việc lọc này nên được thực hiện ở đâu trong cấu trúc mô đun Bài 29?

  • A. Trong mô đun `nhapDL`.
  • B. Trong mô đun `Xuly`, sau khi tính điểm tổng hợp.
  • C. Trong mô đun `ghiDL` trước khi ghi từng dòng.
  • D. Trong hàm `diem_gk`.

Câu 11: Việc sử dụng các tham số (ví dụ: `finp`, `fout`, danh sách điểm) để truyền dữ liệu giữa các mô đun có ý nghĩa gì trong thiết kế mô đun?

  • A. Giúp các mô đun độc lập hơn, dễ kiểm thử và tái sử dụng.
  • B. Làm cho chương trình chạy nhanh hơn.
  • C. Bắt buộc phải có trong mọi chương trình Python.
  • D. Giúp mô đun truy cập trực tiếp vào biến toàn cục.

Câu 12: Khi cần tái sử dụng chức năng tính điểm tổng hợp (`diem_gk`) cho một chương trình khác có cùng công thức nhưng đọc dữ liệu từ nguồn khác (ví dụ: cơ sở dữ liệu). Lợi ích nào của thiết kế mô đun được thể hiện rõ nhất trong trường hợp này?

  • A. Tính bảo trì.
  • B. Tính dễ đọc.
  • C. Tính tái sử dụng.
  • D. Tính hiệu quả về bộ nhớ.

Câu 13: So sánh mô đun `nhapDL` và `ghiDL` trong Bài 29, điểm tương đồng về vai trò của chúng là gì?

  • A. Đều thực hiện các phép tính toán phức tạp.
  • B. Đều tương tác với các nguồn dữ liệu bên ngoài (tệp tin).
  • C. Đều chịu trách nhiệm sắp xếp dữ liệu.
  • D. Đều là mô đun xử lý chính của chương trình.

Câu 14: Nếu bạn muốn thêm chức năng xếp hạng các vận động viên dựa trên điểm tổng hợp (từ cao xuống thấp) trước khi ghi ra tệp. Bước sắp xếp này nên được tích hợp vào đâu trong cấu trúc mô đun hiện tại để giữ tính logic và hiệu quả?

  • A. Trong mô đun `nhapDL` sau khi đọc dữ liệu.
  • B. Trong mô đun `Xuly` sau khi đã tính điểm tổng hợp cho tất cả vận động viên.
  • C. Trong mô đun `ghiDL` ngay trước khi ghi từng dòng.
  • D. Trong hàm `diem_gk` sau khi tính điểm cho một vận động viên.

Câu 15: Điều gì xảy ra nếu mô đun `nhapDL` trong chương trình Bài 29 không trả về dữ liệu theo định dạng mà mô đun `Xuly` mong đợi?

  • A. Chương trình sẽ tự động điều chỉnh định dạng dữ liệu.
  • B. Mô đun `ghiDL` sẽ sửa lỗi định dạng.
  • C. Chỉ kết quả đầu ra bị ảnh hưởng, quá trình xử lý vẫn đúng.
  • D. Chương trình có thể gặp lỗi khi thực hiện các phép toán hoặc truy cập dữ liệu trong mô đun `Xuly`.

Câu 16: Khả năng sửa đổi một mô đun mà không cần thay đổi các mô đun khác, miễn là giao diện (đầu vào/đầu ra) của mô đun đó không đổi, thể hiện lợi ích nào của thiết kế mô đun?

  • A. Tính bảo trì (Maintainability).
  • B. Tính hiệu quả (Efficiency).
  • C. Tính bảo mật (Security).
  • D. Tính trực quan (Intuitiveness).

Câu 17: Trong bài toán tính điểm, nếu ban tổ chức quyết định bỏ qua điểm của giám khảo đầu tiên và cuối cùng khi tính trung bình (chỉ tính trung bình các giám khảo ở giữa), bạn cần sửa đổi phần nào của chương trình Bài 29?

  • A. Mô đun `nhapDL` để không đọc điểm giám khảo đầu cuối.
  • B. Hàm `diem_gk` để thay đổi công thức tính toán.
  • C. Mô đun `ghiDL` để loại bỏ điểm giám khảo đầu cuối khỏi kết quả.
  • D. Mô đun chính để điều khiển luồng dữ liệu khác đi.

Câu 18: Đâu KHÔNG phải là một lý do phổ biến để chia một chương trình lớn thành các mô đun nhỏ hơn?

  • A. Giúp nhiều lập trình viên làm việc song song trên các phần khác nhau.
  • B. Làm cho mã nguồn dễ đọc và dễ hiểu hơn.
  • C. Luôn làm cho chương trình cuối cùng chạy nhanh hơn đáng kể.
  • D. Giúp kiểm thử từng phần của chương trình một cách độc lập.

Câu 19: Xét luồng dữ liệu trong chương trình Bài 29: Tệp đầu vào -> `nhapDL` -> `Xuly` -> `ghiDL` -> Tệp đầu ra. Mô đun nào chịu trách nhiệm chính trong việc biến đổi dữ liệu thô thành thông tin có ý nghĩa (điểm tổng hợp)?

  • A. `nhapDL`.
  • B. `Xuly` (bao gồm cả việc gọi `diem_gk`).
  • C. `ghiDL`.
  • D. Tệp đầu vào.

Câu 20: Trong thiết kế mô đun, một "giao diện" (interface) của mô đun thường đề cập đến điều gì?

  • A. Tập hợp các hàm, thủ tục và cách dữ liệu được truyền vào/ra mô đun.
  • B. Giao diện người dùng đồ họa (GUI) của chương trình.
  • C. Cách mô đun được lưu trữ trên đĩa cứng.
  • D. Ngôn ngữ lập trình được sử dụng để viết mô đun.

Câu 21: Nếu bạn muốn thêm một tính năng mới, ví dụ như tính điểm trung bình của tất cả các giám khảo trên toàn bộ cuộc thi, bạn nên tạo một mô đun mới hay tích hợp vào mô đun hiện có? Giải thích lựa chọn của bạn dựa trên nguyên tắc thiết kế mô đun.

  • A. Tích hợp vào `nhapDL` vì nó xử lý dữ liệu ban đầu.
  • B. Tích hợp vào `diem_gk` vì nó liên quan đến tính điểm.
  • C. Tạo một mô đun mới hoặc thêm vào mô đun xử lý (`Xuly`) nếu logic liên quan chặt chẽ, để giữ cho các mô đun khác không bị thay đổi bởi chức năng mới.
  • D. Tích hợp vào `ghiDL` vì nó là nơi kết quả cuối cùng được xử lý.

Câu 22: Tại sao việc đặt tên rõ ràng cho các mô đun và hàm (ví dụ: `nhapDL`, `diem_gk`, `ghiDL`) lại quan trọng trong thiết kế mô đun?

  • A. Giúp trình biên dịch hiểu mã nhanh hơn.
  • B. Làm cho chương trình chạy hiệu quả hơn về thời gian.
  • C. Tăng tính bảo mật của mã nguồn.
  • D. Giúp người đọc mã (bao gồm cả chính bạn sau này) dễ dàng hiểu chức năng của từng phần.

Câu 23: Trong Bài 29, nếu tệp đầu vào `SeaGames.inp` bị lỗi cấu trúc dữ liệu (ví dụ: một dòng thiếu điểm của một giám khảo), mô đun nào có khả năng phát hiện hoặc gặp lỗi đầu tiên do sự cố này?

  • A. Mô đun `nhapDL` trong quá trình đọc và phân tích cú pháp từng dòng.
  • B. Hàm `diem_gk` khi tính điểm.
  • C. Mô đun `ghiDL` khi cố gắng ghi kết quả.
  • D. Mô đun chính sau khi tất cả các mô đun khác đã chạy xong.

Câu 24: Việc chia nhỏ bài toán lớn (tính điểm Sea Games) thành các bài toán nhỏ hơn (nhập dữ liệu, tính điểm một VĐV, xử lý danh sách, ghi kết quả) trước khi viết mã được gọi là gì?

  • A. Tối ưu hóa mã nguồn.
  • B. Đóng gói dữ liệu.
  • C. Phân rã bài toán (Problem Decomposition).
  • D. Trừu tượng hóa dữ liệu.

Câu 25: Mô đun `ghiDL(fout, A, B)` nhận hai danh sách `A` (mã số VĐV) và `B` (điểm tổng hợp). Điều này cho thấy mô đun này cần truy cập thông tin từ mấy nguồn dữ liệu khác nhau (không tính tệp đầu ra)?

  • A. Một nguồn (danh sách kết quả đã được ghép nối).
  • B. Hai nguồn (danh sách mã số và danh sách điểm tổng hợp riêng biệt).
  • C. Ba nguồn (mã số, điểm tổng hợp và tên tệp).
  • D. Không cần truy cập nguồn dữ liệu nào khác ngoài tệp đầu ra.

Câu 26: Tại sao trong thiết kế mô đun của Bài 29, hàm `diem_gk` được thiết kế để tính điểm cho MỘT vận động viên, thay vì tính điểm cho tất cả vận động viên cùng lúc?

  • A. Để làm cho hàm phức tạp hơn.
  • B. Để hàm có thể tự động đọc dữ liệu từ tệp.
  • C. Để hàm có thể ghi kết quả ra tệp.
  • D. Để hàm có tính tái sử dụng cao hơn và dễ kiểm thử độc lập cho từng trường hợp vận động viên.

Câu 27: Nếu bạn muốn hiển thị kết quả tính điểm trực tiếp lên màn hình thay vì ghi vào tệp, bạn sẽ cần thay thế hoặc sửa đổi mô đun nào một cách đáng kể?

  • A. Mô đun `nhapDL`.
  • B. Mô đun `Xuly`.
  • C. Mô đun `ghiDL`.
  • D. Hàm `diem_gk`.

Câu 28: Việc truyền dữ liệu giữa các mô đun thông qua tham số (ví dụ: `Xuly(B)`) thay vì sử dụng biến toàn cục có lợi ích gì trong thiết kế mô đun?

  • A. Giảm sự phụ thuộc giữa các mô đun, làm cho chúng độc lập và dễ hiểu hơn.
  • B. Tăng tốc độ truy cập dữ liệu.
  • C. Bắt buộc phải sử dụng trong Python.
  • D. Giúp mô đun truy cập tất cả dữ liệu trong chương trình.

Câu 29: Trong chương trình Bài 29, mô đun `Xuly` đóng vai trò chính trong việc gì?

  • A. Quản lý việc đọc và ghi tệp.
  • B. Định nghĩa cấu trúc dữ liệu chính.
  • C. Lấy điểm thô từ tệp.
  • D. Thực hiện các phép tính toán logic chính của bài toán (tính điểm tổng hợp cho từng VĐV).

Câu 30: Nếu cần thêm một báo cáo thống kê khác dựa trên dữ liệu đã đọc (ví dụ: số lượng VĐV từ mỗi quốc gia), bạn nên tạo một mô đun mới cho chức năng này hay tích hợp nó vào một mô đun hiện có? Lựa chọn nào phản ánh tốt nhất nguyên tắc phân tách trách nhiệm?

  • A. Tạo một mô đun mới chuyên xử lý thống kê để giữ cho các mô đun nhập, tính điểm, và ghi kết quả không bị quá tải chức năng.
  • B. Tích hợp vào `nhapDL` vì nó đọc dữ liệu gốc.
  • C. Tích hợp vào `Xuly` vì nó là nơi xử lý dữ liệu.
  • D. Tích hợp vào `ghiDL` vì nó liên quan đến xuất thông tin.

1 / 30

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

Tags: Bộ đề 08

Câu 1: Trong ngữ cảnh của Bài 29, việc thiết kế chương trình tính điểm vận động viên theo mô đun mang lại lợi ích chính nào sau đây khi cần thay đổi công thức tính điểm?

2 / 30

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

Tags: Bộ đề 08

Câu 2: Mô đun `nhapDL(finp)` trong chương trình mẫu Bài 29 có trách nhiệm cụ thể nào?

3 / 30

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

Tags: Bộ đề 08

Câu 3: Giả sử bạn cần bổ sung chức năng ghi thêm thông tin quốc gia của vận động viên vào tệp đầu ra. Dữ liệu quốc gia này cũng được đọc từ tệp đầu vào. Bạn cần sửa đổi những mô đun nào trong chương trình hiện tại?

4 / 30

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

Tags: Bộ đề 08

Câu 4: Hàm `diem_gk(d)` trong chương trình Bài 29 có vai trò là một mô đun con (sub-module) của mô đun nào và thực hiện nhiệm vụ gì?

5 / 30

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

Tags: Bộ đề 08

Câu 5: Khi thiết kế theo mô đun, việc mỗi mô đun chỉ tập trung vào một nhiệm vụ cụ thể (ví dụ: mô đun nhập chỉ lo nhập, mô đun xử lý chỉ lo tính toán) được gọi là gì?

6 / 30

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

Tags: Bộ đề 08

Câu 6: Mô đun `Xuly(B)` nhận đầu vào là danh sách điểm của các vận động viên (từ `nhapDL`) và sử dụng hàm `diem_gk` để tính điểm tổng hợp. Đầu ra của mô đun `Xuly` trong chương trình mẫu Bài 29 là gì?

7 / 30

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

Tags: Bộ đề 08

Câu 7: Nếu bạn muốn thay đổi định dạng của dữ liệu khi ghi ra tệp (ví dụ: làm tròn điểm đến 2 chữ số thập phân hoặc thêm tiêu đề cột), bạn nên thực hiện thay đổi này ở đâu trong cấu trúc mô đun của Bài 29?

8 / 30

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

Tags: Bộ đề 08

Câu 8: Lợi ích nào của thiết kế mô đun giúp việc tìm và sửa lỗi trong chương trình trở nên dễ dàng hơn?

9 / 30

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

Tags: Bộ đề 08

Câu 9: Trong chương trình Bài 29, mô đun chính (main part) có vai trò gì?

10 / 30

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

Tags: Bộ đề 08

Câu 10: Nếu bài toán yêu cầu lọc ra chỉ những vận động viên có điểm tổng hợp trên một ngưỡng nhất định trước khi ghi kết quả. Việc lọc này nên được thực hiện ở đâu trong cấu trúc mô đun Bài 29?

11 / 30

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

Tags: Bộ đề 08

Câu 11: Việc sử dụng các tham số (ví dụ: `finp`, `fout`, danh sách điểm) để truyền dữ liệu giữa các mô đun có ý nghĩa gì trong thiết kế mô đun?

12 / 30

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

Tags: Bộ đề 08

Câu 12: Khi cần tái sử dụng chức năng tính điểm tổng hợp (`diem_gk`) cho một chương trình khác có cùng công thức nhưng đọc dữ liệu từ nguồn khác (ví dụ: cơ sở dữ liệu). Lợi ích nào của thiết kế mô đun được thể hiện rõ nhất trong trường hợp này?

13 / 30

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

Tags: Bộ đề 08

Câu 13: So sánh mô đun `nhapDL` và `ghiDL` trong Bài 29, điểm tương đồng về vai trò của chúng là gì?

14 / 30

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

Tags: Bộ đề 08

Câu 14: Nếu bạn muốn thêm chức năng xếp hạng các vận động viên dựa trên điểm tổng hợp (từ cao xuống thấp) trước khi ghi ra tệp. Bước sắp xếp này nên được tích hợp vào đâu trong cấu trúc mô đun hiện tại để giữ tính logic và hiệu quả?

15 / 30

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

Tags: Bộ đề 08

Câu 15: Điều gì xảy ra nếu mô đun `nhapDL` trong chương trình Bài 29 không trả về dữ liệu theo định dạng mà mô đun `Xuly` mong đợi?

16 / 30

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

Tags: Bộ đề 08

Câu 16: Khả năng sửa đổi một mô đun mà không cần thay đổi các mô đun khác, miễn là giao diện (đầu vào/đầu ra) của mô đun đó không đổi, thể hiện lợi ích nào của thiết kế mô đun?

17 / 30

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

Tags: Bộ đề 08

Câu 17: Trong bài toán tính điểm, nếu ban tổ chức quyết định bỏ qua điểm của giám khảo đầu tiên và cuối cùng khi tính trung bình (chỉ tính trung bình các giám khảo ở giữa), bạn cần sửa đổi phần nào của chương trình Bài 29?

18 / 30

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

Tags: Bộ đề 08

Câu 18: Đâu KHÔNG phải là một lý do phổ biến để chia một chương trình lớn thành các mô đun nhỏ hơn?

19 / 30

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

Tags: Bộ đề 08

Câu 19: Xét luồng dữ liệu trong chương trình Bài 29: Tệp đầu vào -> `nhapDL` -> `Xuly` -> `ghiDL` -> Tệp đầu ra. Mô đun nào chịu trách nhiệm chính trong việc biến đổi dữ liệu thô thành thông tin có ý nghĩa (điểm tổng hợp)?

20 / 30

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

Tags: Bộ đề 08

Câu 20: Trong thiết kế mô đun, một 'giao diện' (interface) của mô đun thường đề cập đến điều gì?

21 / 30

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

Tags: Bộ đề 08

Câu 21: Nếu bạn muốn thêm một tính năng mới, ví dụ như tính điểm trung bình của tất cả các giám khảo trên toàn bộ cuộc thi, bạn nên tạo một mô đun mới hay tích hợp vào mô đun hiện có? Giải thích lựa chọn của bạn dựa trên nguyên tắc thiết kế mô đun.

22 / 30

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

Tags: Bộ đề 08

Câu 22: Tại sao việc đặt tên rõ ràng cho các mô đun và hàm (ví dụ: `nhapDL`, `diem_gk`, `ghiDL`) lại quan trọng trong thiết kế mô đun?

23 / 30

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

Tags: Bộ đề 08

Câu 23: Trong Bài 29, nếu tệp đầu vào `SeaGames.inp` bị lỗi cấu trúc dữ liệu (ví dụ: một dòng thiếu điểm của một giám khảo), mô đun nào có khả năng phát hiện hoặc gặp lỗi đầu tiên do sự cố này?

24 / 30

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

Tags: Bộ đề 08

Câu 24: Việc chia nhỏ bài toán lớn (tính điểm Sea Games) thành các bài toán nhỏ hơn (nhập dữ liệu, tính điểm một VĐV, xử lý danh sách, ghi kết quả) trước khi viết mã được gọi là gì?

25 / 30

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

Tags: Bộ đề 08

Câu 25: Mô đun `ghiDL(fout, A, B)` nhận hai danh sách `A` (mã số VĐV) và `B` (điểm tổng hợp). Điều này cho thấy mô đun này cần truy cập thông tin từ mấy nguồn dữ liệu khác nhau (không tính tệp đầu ra)?

26 / 30

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

Tags: Bộ đề 08

Câu 26: Tại sao trong thiết kế mô đun của Bài 29, hàm `diem_gk` được thiết kế để tính điểm cho MỘT vận động viên, thay vì tính điểm cho tất cả vận động viên cùng lúc?

27 / 30

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

Tags: Bộ đề 08

Câu 27: Nếu bạn muốn hiển thị kết quả tính điểm trực tiếp lên màn hình thay vì ghi vào tệp, bạn sẽ cần thay thế hoặc sửa đổi mô đun nào một cách đáng kể?

28 / 30

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

Tags: Bộ đề 08

Câu 28: Việc truyền dữ liệu giữa các mô đun thông qua tham số (ví dụ: `Xuly(B)`) thay vì sử dụng biến toàn cục có lợi ích gì trong thiết kế mô đun?

29 / 30

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

Tags: Bộ đề 08

Câu 29: Trong chương trình Bài 29, mô đun `Xuly` đóng vai trò chính trong việc gì?

30 / 30

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

Tags: Bộ đề 08

Câu 30: Nếu cần thêm một báo cáo thống kê khác dựa trên dữ liệu đã đọc (ví dụ: số lượng VĐV từ mỗi quốc gia), bạn nên tạo một mô đun mới cho chức năng này hay tích hợp nó vào một mô đun hiện có? Lựa chọn nào phản ánh tốt nhất nguyên tắc phân tách trách nhiệm?

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 Bài 29: Thực hành thiết kế chương trình theo mô đun

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 09

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 09 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Trong thiết kế chương trình tính điểm vận động viên theo mô đun đã học, mô đun `nhapDL()` có trách nhiệm chính là gì?

  • A. Tính điểm tổng hợp cho từng vận động viên.
  • B. Đọc dữ liệu đầu vào từ tệp và tổ chức lại dữ liệu.
  • C. Ghi kết quả đã xử lý ra tệp đầu ra.
  • D. Sắp xếp danh sách vận động viên theo điểm.

Câu 2: Giả sử yêu cầu bài toán thay đổi: điểm của tất cả các giám khảo (không chỉ giám khảo đầu và cuối) đều được tính trọng số gấp đôi. Mô đun nào trong chương trình cần được chỉnh sửa để đáp ứng yêu cầu mới này?

  • A. Mô đun `nhapDL()`.
  • B. Mô đun `Xuly()` (nhưng không phải hàm tính điểm cụ thể).
  • C. Hàm `diem_gk()` bên trong mô đun xử lý.
  • D. Mô đun `ghiDL()`.

Câu 3: Mô đun `Xuly()` trong chương trình tính điểm vận động viên có vai trò như một "điều phối viên". Nó làm gì để hoàn thành nhiệm vụ xử lý dữ liệu?

  • A. Trực tiếp đọc dữ liệu từ tệp đầu vào.
  • B. Trực tiếp ghi kết quả ra tệp đầu ra.
  • C. Chỉ chứa công thức tính điểm tổng hợp duy nhất.
  • D. Sử dụng dữ liệu từ mô đun nhập và gọi các hàm (như `diem_gk()`) để tính toán, chuẩn bị dữ liệu cho mô đun ghi.

Câu 4: Lợi ích chính của việc chia chương trình thành các mô đun riêng biệt như `nhapDL`, `Xuly`, `ghiDL` là gì?

  • A. Tăng khả năng bảo trì, dễ dàng sửa lỗi và nâng cấp từng phần độc lập.
  • B. Giảm đáng kể thời gian chạy của chương trình.
  • C. Chỉ cho phép một lập trình viên làm việc trên toàn bộ dự án.
  • D. Loại bỏ hoàn toàn khả năng xảy ra lỗi cú pháp.

Câu 5: Nếu cần bổ sung chức năng sắp xếp danh sách vận động viên theo điểm tổng hợp giảm dần TRƯỚC KHI ghi kết quả ra tệp, logic sắp xếp này nên được tích hợp vào đâu để phù hợp với cấu trúc mô đun đã học?

  • A. Bên trong mô đun `nhapDL()`.
  • B. Trong mô đun `Xuly()` sau khi tính điểm hoặc trong mô đun `ghiDL()` trước khi ghi.
  • C. Bên trong hàm `diem_gk()`.
  • D. Một mô đun hoàn toàn mới không liên quan đến các mô đun hiện có.

Câu 6: Mô đun `ghiDL()` có nhiệm vụ chính là gì trong chương trình?

  • A. Đọc tên vận động viên từ tệp.
  • B. Thực hiện các phép tính phức tạp trên điểm số.
  • C. Lấy dữ liệu đã được xử lý và định dạng để ghi vào tệp đầu ra.
  • D. Xác định vận động viên có điểm cao nhất.

Câu 7: Khi thiết kế chương trình theo mô đun, mỗi mô đun nên có một chức năng cụ thể, rõ ràng và ít phụ thuộc vào chi tiết bên trong của các mô đun khác. Đặc điểm này được gọi là gì?

  • A. Tính độc lập (Independence) hoặc đóng gói (Encapsulation).
  • B. Tính kế thừa (Inheritance).
  • C. Tính đa hình (Polymorphism).
  • D. Tính tuần tự (Sequentiality).

Câu 8: Giả sử chương trình cần xử lý dữ liệu cho một cuộc thi khác với cấu trúc tệp đầu vào hoàn toàn khác (ví dụ: sử dụng tệp CSV thay vì tệp văn bản thuần túy với định dạng cố định). Nhờ thiết kế mô đun, ta chỉ cần thay đổi mô đun nào mà ít ảnh hưởng nhất đến các mô đun còn lại?

  • A. Mô đun `nhapDL()`.
  • B. Mô đun `Xuly()`.
  • C. Hàm `diem_gk()`.
  • D. Mô đun `ghiDL()`.

Câu 9: Điều gì xảy ra nếu mô đun `nhapDL()` không thể tìm thấy tệp đầu vào `SeaGames.inp`?

  • A. Chương trình sẽ tự động tạo tệp mới.
  • B. Mô đun `Xuly()` sẽ tự động tạo dữ liệu giả.
  • C. Mô đun `ghiDL()` sẽ báo lỗi.
  • D. Mô đun `nhapDL()` (hoặc phần gọi nó) sẽ gặp lỗi và chương trình có thể dừng hoạt động.

Câu 10: Trong thiết kế mô đun, giao diện (interface) của một mô đun là gì?

  • A. Mã nguồn chi tiết bên trong mô đun.
  • B. Tập hợp các hàm (function) hoặc thủ tục (procedure) mà mô đun cung cấp cho các mô đun khác sử dụng, cùng với các tham số và kiểu dữ liệu trả về.
  • C. Tên của tệp chứa mã nguồn mô đun.
  • D. Mô tả bằng lời về chức năng của mô đun.

Câu 11: Tại sao việc xác định rõ ràng giao diện giữa các mô đun lại quan trọng trong thiết kế chương trình theo mô đun?

  • A. Để làm cho mã nguồn của mỗi mô đun dài hơn.
  • B. Để các mô đun có thể truy cập trực tiếp vào dữ liệu nội bộ của nhau.
  • C. Giúp các lập trình viên làm việc độc lập trên các mô đun khác nhau miễn là tuân thủ giao diện, và dễ dàng thay thế một mô đun bằng mô đun khác có cùng giao diện.
  • D. Chỉ có lợi ích khi chương trình rất nhỏ.

Câu 12: Giả sử hàm `diem_gk(d)` nhận vào danh sách điểm của một vận động viên `d` và trả về điểm tổng hợp. Đây là một ví dụ về cách các mô đun/hàm con truyền dữ liệu cho nhau thông qua:

  • A. Tham số (parameters) và giá trị trả về (return value).
  • B. Biến toàn cục (global variables).
  • C. Truy cập trực tiếp bộ nhớ của mô đun khác.
  • D. Ghi/đọc dữ liệu tạm thời ra tệp.

Câu 13: Trong ngữ cảnh của Bài 29, việc tính điểm tổng hợp có trọng số cho giám khảo đầu và cuối thể hiện một logic xử lý cụ thể. Logic này được "đóng gói" trong hàm `diem_gk()`. Lợi ích của việc đóng gói này là gì?

  • A. Khi cần thay đổi công thức, phải sửa nhiều nơi trong chương trình.
  • B. Các mô đun khác cần biết chi tiết công thức bên trong `diem_gk()`.
  • C. Công thức tính điểm trở nên khó hiểu hơn.
  • D. Logic tính điểm được tập trung tại một nơi, dễ dàng sửa đổi hoặc kiểm tra mà không ảnh hưởng đến cấu trúc chương trình chính.

Câu 14: Một chương trình xử lý ảnh có thể chia thành các mô đun: Đọc ảnh, Áp dụng bộ lọc (ví dụ: làm mờ), Lưu ảnh. Mô đun "Áp dụng bộ lọc" sẽ nhận dữ liệu gì làm đầu vào và trả về dữ liệu gì làm đầu ra?

  • A. Nhận tên tệp ảnh, trả về tên tệp ảnh.
  • B. Nhận dữ liệu điểm ảnh đã lọc, trả về dữ liệu điểm ảnh gốc.
  • C. Nhận dữ liệu điểm ảnh gốc (từ mô đun đọc ảnh), trả về dữ liệu điểm ảnh đã được xử lý (cho mô đun lưu ảnh).
  • D. Nhận tên bộ lọc, trả về trạng thái thành công/thất bại.

Câu 15: Khi kiểm thử một chương trình được thiết kế theo mô đun, phương pháp nào sau đây là hiệu quả để xác định lỗi nằm ở mô đun nào?

  • A. Kiểm thử từng mô đun riêng lẻ (Unit Testing) trước khi kiểm thử toàn bộ chương trình.
  • B. Chỉ kiểm thử toàn bộ chương trình một lần duy nhất.
  • C. Kiểm thử ngẫu nhiên các đoạn mã không theo mô đun.
  • D. Bỏ qua kiểm thử và chờ người dùng báo lỗi.

Câu 16: Trong chương trình tính điểm vận động viên, mô đun `Xuly()` phụ thuộc vào mô đun nào để có dữ liệu đầu vào để xử lý?

  • A. `ghiDL()`.
  • B. `nhapDL()`.
  • C. `diem_gk()`.
  • D. Không phụ thuộc vào mô đun nào cả.

Câu 17: Giả sử bạn muốn tối ưu hóa tốc độ đọc tệp trong mô đun `nhapDL()` bằng cách sử dụng một kỹ thuật đọc tệp khác. Nhờ thiết kế mô đun, việc thay đổi này:

  • A. Yêu cầu phải viết lại toàn bộ chương trình.
  • B. Bắt buộc phải thay đổi cả mô đun `Xuly()` và `ghiDL()`.
  • C. Chỉ cần thay đổi nội dung bên trong mô đun `nhapDL()`, giữ nguyên giao diện (tham số, giá trị trả về) để các mô đun khác vẫn hoạt động.
  • D. Không thể thực hiện được với thiết kế mô đun.

Câu 18: Một chương trình được chia thành các mô đun nhỏ, mỗi mô đun thực hiện một nhiệm vụ cụ thể, giúp mã nguồn dễ đọc và dễ hiểu hơn. Đây là lợi ích nào của thiết kế mô đun?

  • A. Tối ưu hóa bộ nhớ.
  • B. Tăng tốc độ xử lý.
  • C. Giảm chi phí phần cứng.
  • D. Cải thiện khả năng đọc (Readability).

Câu 19: Trong thiết kế mô đun, việc sử dụng các hàm con (như `diem_gk()` được gọi bởi `Xuly()`) thay vì viết toàn bộ logic vào một hàm lớn thể hiện nguyên tắc nào?

  • A. Lặp lại mã nguồn.
  • B. Phân rã vấn đề (Decomposition).
  • C. Thiết kế từ dưới lên (Bottom-up design).
  • D. Tăng sự phụ thuộc giữa các phần.

Câu 20: Khi phát triển một dự án phần mềm lớn theo nhóm, việc áp dụng thiết kế mô đun mang lại lợi ích gì về mặt quản lý công việc?

  • A. Cho phép nhiều thành viên trong nhóm làm việc song song trên các mô đun khác nhau.
  • B. Buộc tất cả thành viên phải làm việc trên cùng một mô đun tại một thời điểm.
  • C. Làm cho việc tích hợp các phần làm việc trở nên phức tạp hơn.
  • D. Giảm nhu cầu về giao tiếp giữa các thành viên.

Câu 21: Nếu cần thêm một chức năng mới vào chương trình, ví dụ: tính thêm điểm thưởng dựa trên số lần tham gia của vận động viên (dữ liệu này cần được đọc thêm từ tệp khác). Mô đun nào là nơi thích hợp nhất để bắt đầu tích hợp logic đọc dữ liệu thưởng này?

  • A. Mô đun `nhapDL()` (hoặc tạo mô đun nhập dữ liệu thưởng mới).
  • B. Mô đun `ghiDL()`.
  • C. Hàm `diem_gk()`.
  • D. Trực tiếp trong phần chính của chương trình mà không cần mô đun.

Câu 22: Trong thiết kế mô đun, việc mỗi mô đun chỉ thực hiện một nhiệm vụ duy nhất và rõ ràng (ví dụ: `nhapDL` chỉ nhập, `ghiDL` chỉ ghi) được gọi là nguyên tắc gì?

  • A. Tính đa hình.
  • B. Tính kế thừa.
  • C. Tính đơn nhất về chức năng (Single Responsibility Principle).
  • D. Tính ngẫu nhiên.

Câu 23: Giả sử có một lỗi xảy ra trong quá trình tính điểm bên trong hàm `diem_gk()`. Nhờ thiết kế mô đun, khi sửa lỗi này, ta cần tập trung vào phần mã nào?

  • A. Toàn bộ mã nguồn của chương trình.
  • B. Chỉ mã nguồn bên trong hàm `diem_gk()`.
  • C. Mã nguồn của mô đun `nhapDL()`.
  • D. Mã nguồn của mô đun `ghiDL()`.

Câu 24: Khi một mô đun được thiết kế tốt, người sử dụng mô đun (các mô đun khác hoặc chương trình chính) chỉ cần biết về giao diện của nó (cần cung cấp gì và nhận lại gì), mà không cần quan tâm đến cách thức chi tiết bên trong mô đun hoạt động. Đây là khái niệm gì trong lập trình?

  • A. Trừu tượng hóa (Abstraction).
  • B. Đa luồng (Multithreading).
  • C. Đệ quy (Recursion).
  • D. Biên dịch (Compilation).

Câu 25: Để làm cho mô đun `nhapDL()` trở nên linh hoạt hơn và có thể đọc dữ liệu từ các tệp khác nhau mà không cần sửa mã nguồn bên trong, ta nên làm gì?

  • A. Viết mã đọc tệp trực tiếp trong chương trình chính.
  • B. Hardcode tên tệp `SeaGames.inp` bên trong mô đun.
  • C. Yêu cầu người dùng luôn đổi tên tệp đầu vào thành `SeaGames.inp`.
  • D. Truyền tên tệp đầu vào như một tham số cho mô đun `nhapDL()`.

Câu 26: Trong mô hình Input-Process-Output (IPO) thường được áp dụng trong thiết kế mô đun, mô đun `Xuly()` tương ứng với giai đoạn nào?

  • A. Input.
  • B. Process.
  • C. Output.
  • D. Storage.

Câu 27: Giả sử bạn muốn thêm chức năng kiểm tra tính hợp lệ của điểm số (ví dụ: điểm phải nằm trong khoảng 0-10) ngay sau khi đọc từ tệp. Logic kiểm tra này nên được đặt ở đâu để phù hợp với nguyên tắc thiết kế mô đun và luồng dữ liệu?

  • A. Trong mô đun `nhapDL()` sau khi đọc mỗi điểm hoặc trong một hàm con được gọi bởi `nhapDL()`.
  • B. Trong mô đun `ghiDL()` trước khi ghi.
  • C. Trong hàm `diem_gk()`.
  • D. Trong chương trình chính, sau khi gọi `ghiDL()`.

Câu 28: Việc sử dụng các tên mô đun và hàm có ý nghĩa (ví dụ: `nhapDL`, `diem_gk`, `Xuly`, `ghiDL`) giúp cải thiện đáng kể yếu tố nào của chương trình?

  • A. Tốc độ thực thi.
  • B. Lượng bộ nhớ sử dụng.
  • C. Tính bảo mật.
  • D. Khả năng đọc và hiểu mã nguồn (Readability).

Câu 29: Khi một mô đun cần sử dụng chức năng của một mô đun khác, nó sẽ gọi các hàm hoặc thủ tục được định nghĩa trong giao diện của mô đun kia. Điều này thể hiện mối quan hệ nào giữa các mô đun?

  • A. Độc lập hoàn toàn.
  • B. Phụ thuộc (Dependency).
  • C. Kế thừa (Inheritance).
  • D. Đồng bộ (Synchronization).

Câu 30: So với việc viết toàn bộ chương trình trong một khối mã lớn duy nhất, việc chia thành các mô đun theo nguyên tắc đóng gói và trừu tượng hóa giúp:

  • A. Giảm sự phức tạp tổng thể, dễ dàng quản lý và hiểu từng phần.
  • B. Tăng sự phức tạp do phải quản lý nhiều tệp.
  • C. Không có sự khác biệt về độ phức tạp.
  • D. Chỉ có lợi ích đối với chương trình rất nhỏ.

1 / 30

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

Tags: Bộ đề 09

Câu 1: Trong thiết kế chương trình tính điểm vận động viên theo mô đun đã học, mô đun `nhapDL()` có trách nhiệm chính là gì?

2 / 30

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

Tags: Bộ đề 09

Câu 2: Giả sử yêu cầu bài toán thay đổi: điểm của tất cả các giám khảo (không chỉ giám khảo đầu và cuối) đều được tính trọng số gấp đôi. Mô đun nào trong chương trình cần được chỉnh sửa để đáp ứng yêu cầu mới này?

3 / 30

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

Tags: Bộ đề 09

Câu 3: Mô đun `Xuly()` trong chương trình tính điểm vận động viên có vai trò như một 'điều phối viên'. Nó làm gì để hoàn thành nhiệm vụ xử lý dữ liệu?

4 / 30

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

Tags: Bộ đề 09

Câu 4: Lợi ích chính của việc chia chương trình thành các mô đun riêng biệt như `nhapDL`, `Xuly`, `ghiDL` là gì?

5 / 30

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

Tags: Bộ đề 09

Câu 5: Nếu cần bổ sung chức năng sắp xếp danh sách vận động viên theo điểm tổng hợp giảm dần TRƯỚC KHI ghi kết quả ra tệp, logic sắp xếp này nên được tích hợp vào đâu để phù hợp với cấu trúc mô đun đã học?

6 / 30

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

Tags: Bộ đề 09

Câu 6: Mô đun `ghiDL()` có nhiệm vụ chính là gì trong chương trình?

7 / 30

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

Tags: Bộ đề 09

Câu 7: Khi thiết kế chương trình theo mô đun, mỗi mô đun nên có một chức năng cụ thể, rõ ràng và ít phụ thuộc vào chi tiết bên trong của các mô đun khác. Đặc điểm này được gọi là gì?

8 / 30

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

Tags: Bộ đề 09

Câu 8: Giả sử chương trình cần xử lý dữ liệu cho một cuộc thi khác với cấu trúc tệp đầu vào hoàn toàn khác (ví dụ: sử dụng tệp CSV thay vì tệp văn bản thuần túy với định dạng cố định). Nhờ thiết kế mô đun, ta chỉ cần thay đổi mô đun nào mà ít ảnh hưởng nhất đến các mô đun còn lại?

9 / 30

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

Tags: Bộ đề 09

Câu 9: Điều gì xảy ra nếu mô đun `nhapDL()` không thể tìm thấy tệp đầu vào `SeaGames.inp`?

10 / 30

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

Tags: Bộ đề 09

Câu 10: Trong thiết kế mô đun, giao diện (interface) của một mô đun là gì?

11 / 30

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

Tags: Bộ đề 09

Câu 11: Tại sao việc xác định rõ ràng giao diện giữa các mô đun lại quan trọng trong thiết kế chương trình theo mô đun?

12 / 30

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

Tags: Bộ đề 09

Câu 12: Giả sử hàm `diem_gk(d)` nhận vào danh sách điểm của một vận động viên `d` và trả về điểm tổng hợp. Đây là một ví dụ về cách các mô đun/hàm con truyền dữ liệu cho nhau thông qua:

13 / 30

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

Tags: Bộ đề 09

Câu 13: Trong ngữ cảnh của Bài 29, việc tính điểm tổng hợp có trọng số cho giám khảo đầu và cuối thể hiện một logic xử lý cụ thể. Logic này được 'đóng gói' trong hàm `diem_gk()`. Lợi ích của việc đóng gói này là gì?

14 / 30

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

Tags: Bộ đề 09

Câu 14: Một chương trình xử lý ảnh có thể chia thành các mô đun: Đọc ảnh, Áp dụng bộ lọc (ví dụ: làm mờ), Lưu ảnh. Mô đun 'Áp dụng bộ lọc' sẽ nhận dữ liệu gì làm đầu vào và trả về dữ liệu gì làm đầu ra?

15 / 30

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

Tags: Bộ đề 09

Câu 15: Khi kiểm thử một chương trình được thiết kế theo mô đun, phương pháp nào sau đây là hiệu quả để xác định lỗi nằm ở mô đun nào?

16 / 30

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

Tags: Bộ đề 09

Câu 16: Trong chương trình tính điểm vận động viên, mô đun `Xuly()` phụ thuộc vào mô đun nào để có dữ liệu đầu vào để xử lý?

17 / 30

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

Tags: Bộ đề 09

Câu 17: Giả sử bạn muốn tối ưu hóa tốc độ đọc tệp trong mô đun `nhapDL()` bằng cách sử dụng một kỹ thuật đọc tệp khác. Nhờ thiết kế mô đun, việc thay đổi này:

18 / 30

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

Tags: Bộ đề 09

Câu 18: Một chương trình được chia thành các mô đun nhỏ, mỗi mô đun thực hiện một nhiệm vụ cụ thể, giúp mã nguồn dễ đọc và dễ hiểu hơn. Đây là lợi ích nào của thiết kế mô đun?

19 / 30

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

Tags: Bộ đề 09

Câu 19: Trong thiết kế mô đun, việc sử dụng các hàm con (như `diem_gk()` được gọi bởi `Xuly()`) thay vì viết toàn bộ logic vào một hàm lớn thể hiện nguyên tắc nào?

20 / 30

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

Tags: Bộ đề 09

Câu 20: Khi phát triển một dự án phần mềm lớn theo nhóm, việc áp dụng thiết kế mô đun mang lại lợi ích gì về mặt quản lý công việc?

21 / 30

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

Tags: Bộ đề 09

Câu 21: Nếu cần thêm một chức năng mới vào chương trình, ví dụ: tính thêm điểm thưởng dựa trên số lần tham gia của vận động viên (dữ liệu này cần được đọc thêm từ tệp khác). Mô đun nào là nơi thích hợp nhất để bắt đầu tích hợp logic đọc dữ liệu thưởng này?

22 / 30

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

Tags: Bộ đề 09

Câu 22: Trong thiết kế mô đun, việc mỗi mô đun chỉ thực hiện một nhiệm vụ duy nhất và rõ ràng (ví dụ: `nhapDL` chỉ nhập, `ghiDL` chỉ ghi) được gọi là nguyên tắc gì?

23 / 30

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

Tags: Bộ đề 09

Câu 23: Giả sử có một lỗi xảy ra trong quá trình tính điểm bên trong hàm `diem_gk()`. Nhờ thiết kế mô đun, khi sửa lỗi này, ta cần tập trung vào phần mã nào?

24 / 30

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

Tags: Bộ đề 09

Câu 24: Khi một mô đun được thiết kế tốt, người sử dụng mô đun (các mô đun khác hoặc chương trình chính) chỉ cần biết về giao diện của nó (cần cung cấp gì và nhận lại gì), mà không cần quan tâm đến cách thức chi tiết bên trong mô đun hoạt động. Đây là khái niệm gì trong lập trình?

25 / 30

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

Tags: Bộ đề 09

Câu 25: Để làm cho mô đun `nhapDL()` trở nên linh hoạt hơn và có thể đọc dữ liệu từ các tệp khác nhau mà không cần sửa mã nguồn bên trong, ta nên làm gì?

26 / 30

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

Tags: Bộ đề 09

Câu 26: Trong mô hình Input-Process-Output (IPO) thường được áp dụng trong thiết kế mô đun, mô đun `Xuly()` tương ứng với giai đoạn nào?

27 / 30

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

Tags: Bộ đề 09

Câu 27: Giả sử bạn muốn thêm chức năng kiểm tra tính hợp lệ của điểm số (ví dụ: điểm phải nằm trong khoảng 0-10) ngay sau khi đọc từ tệp. Logic kiểm tra này nên được đặt ở đâu để phù hợp với nguyên tắc thiết kế mô đun và luồng dữ liệu?

28 / 30

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

Tags: Bộ đề 09

Câu 28: Việc sử dụng các tên mô đun và hàm có ý nghĩa (ví dụ: `nhapDL`, `diem_gk`, `Xuly`, `ghiDL`) giúp cải thiện đáng kể yếu tố nào của chương trình?

29 / 30

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

Tags: Bộ đề 09

Câu 29: Khi một mô đun cần sử dụng chức năng của một mô đun khác, nó sẽ gọi các hàm hoặc thủ tục được định nghĩa trong giao diện của mô đun kia. Điều này thể hiện mối quan hệ nào giữa các mô đun?

30 / 30

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

Tags: Bộ đề 09

Câu 30: So với việc viết toàn bộ chương trình trong một khối mã lớn duy nhất, việc chia thành các mô đun theo nguyên tắc đóng gói và trừu tượng hóa giúp:

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 Bài 29: Thực hành thiết kế chương trình theo mô đun

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 10

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun - Đề 10 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Trong thiết kế chương trình theo mô đun, việc chia nhỏ chương trình thành các phần độc lập (mô đun) mang lại lợi ích chính nào sau đây khi cần sửa lỗi hoặc nâng cấp?

  • A. Giảm thiểu số lượng dòng mã cần viết.
  • B. Cho phép sửa đổi hoặc thay thế một mô đun mà ít ảnh hưởng đến các mô đun khác.
  • C. Chương trình chạy nhanh hơn đáng kể.
  • D. Loại bỏ hoàn toàn khả năng xảy ra lỗi.

Câu 2: Xét bài toán tính điểm Sea Games được thiết kế theo mô đun. Mô đun `nhapDL()` có nhiệm vụ đọc dữ liệu từ tệp đầu vào. Nếu định dạng của tệp đầu vào thay đổi (ví dụ: thứ tự các cột dữ liệu khác đi), mô đun nào chắc chắn cần được xem xét và chỉnh sửa?

  • A. Mô đun `nhapDL()`.
  • B. Mô đun `Xuly()`.
  • C. Mô đun `ghiDL()`.
  • D. Mô đun `diem_gk()`.

Câu 3: Trong bài toán tính điểm Sea Games, mô đun `diem_gk()` được thiết kế để tính điểm tổng hợp cho một vận động viên dựa trên danh sách điểm của các giám khảo cho vận động viên đó. Vai trò này thể hiện rõ nhất nguyên tắc thiết kế mô đun nào?

  • A. Chương trình phải có ít nhất 3 mô đun.
  • B. Mô đun phải có tên tiếng Anh.
  • C. Mỗi mô đun nên thực hiện một nhiệm vụ cụ thể, độc lập.
  • D. Mô đun xử lý phải luôn gọi mô đun nhập liệu trước.

Câu 4: Mô đun `Xuly()` trong bài toán Sea Games có chức năng chính là điều phối quá trình tính toán: nó nhận dữ liệu từ mô đun nhập, gọi mô đun tính điểm (`diem_gk`) cho từng vận động viên, và chuẩn bị dữ liệu cho mô đun xuất. Mô đun `Xuly()` đóng vai trò gì trong cấu trúc chương trình?

  • A. Mô đun nhập liệu.
  • B. Mô đun xuất dữ liệu.
  • C. Mô đun tính toán cơ bản.
  • D. Mô đun điều phối/logic chính.

Câu 5: Giả sử yêu cầu bài toán Sea Games thay đổi: thay vì ghi kết quả ra tệp, chương trình cần hiển thị kết quả trực tiếp lên màn hình console. Mô đun nào cần được chỉnh sửa để đáp ứng yêu cầu mới này?

  • A. Mô đun `nhapDL()`.
  • B. Mô đun `Xuly()`.
  • C. Mô đun `ghiDL()`.
  • D. Mô đun `diem_gk()`.

Câu 6: Mô đun `ghiDL()` trong bài toán Sea Games nhận dữ liệu (ví dụ: danh sách vận động viên và điểm tổng hợp) từ mô đun `Xuly()` để ghi ra tệp. Việc mô đun này chỉ tập trung vào việc ghi dữ liệu ra định dạng cụ thể (tệp) thể hiện lợi ích nào của thiết kế mô đun?

  • A. Dễ dàng thay đổi cách thức hoặc định dạng xuất dữ liệu mà không ảnh hưởng đến logic xử lý.
  • B. Giảm thời gian thực thi của chương trình.
  • C. Tự động xử lý lỗi tệp tin.
  • D. Cho phép tính điểm nhanh hơn.

Câu 7: Trong lập trình theo mô đun, "giao diện" (interface) của một mô đun là gì?

  • A. Giao diện đồ họa người dùng của chương trình.
  • B. Tập hợp các hàm, thủ tục và dữ liệu mà mô đun đó cung cấp ra bên ngoài để các mô đun khác có thể sử dụng.
  • C. Tên của tệp mã nguồn chứa mô đun.
  • D. Các biến cục bộ chỉ được sử dụng bên trong mô đun.

Câu 8: Việc sử dụng mô đun `diem_gk()` nhiều lần trong mô đun `Xuly()` (mỗi lần cho một vận động viên khác nhau) minh họa rõ nhất lợi ích nào của thiết kế mô đun?

  • A. Bảo mật dữ liệu.
  • B. Tăng tốc độ nhập liệu.
  • C. Tái sử dụng mã (reusability).
  • D. Giảm dung lượng tệp đầu ra.

Câu 9: Trong bài toán Sea Games, nếu có yêu cầu bổ sung là tính điểm cao nhất và thấp nhất trong số điểm của tất cả các vận động viên, logic tính toán này nên được đặt ở mô đun nào để tuân thủ nguyên tắc thiết kế?

  • A. Mô đun `nhapDL()` (vì cần dữ liệu điểm).
  • B. Mô đun `Xuly()` (vì đây là nơi xử lý tổng hợp dữ liệu sau khi đã tính điểm cho từng người).
  • C. Mô đun `ghiDL()` (vì kết quả sẽ được xuất ra).
  • D. Mô đun `diem_gk()` (vì liên quan đến điểm số).

Câu 10: Khi thiết kế chương trình theo mô đun, "tính liên kết" (cohesion) của một mô đun đề cập đến điều gì?

  • A. Số lượng mô đun khác mà nó phụ thuộc vào.
  • B. Mức độ dễ dàng khi kết nối mô đun này với mô đun khác.
  • C. Kích thước (số dòng mã) của mô đun.
  • D. Mức độ mà các thành phần bên trong mô đun làm việc cùng nhau để hoàn thành một nhiệm vụ duy nhất, được xác định rõ ràng.

Câu 11: Trong bài toán Sea Games, mô đun `nhapDL()` đọc dữ liệu và trả về danh sách mã số vận động viên và danh sách điểm. Mô đun `Xuly()` nhận hai danh sách này làm đầu vào. Việc truyền dữ liệu giữa các mô đun này được thực hiện thông qua cơ chế nào trong lập trình?

  • A. Tham số (parameters) và giá trị trả về (return values).
  • B. Biến toàn cục (global variables).
  • C. Truy cập trực tiếp vào bộ nhớ của mô đun khác.
  • D. Ghi/đọc dữ liệu tạm thời vào một tệp trung gian.

Câu 12: Ưu điểm của việc sử dụng tham số và giá trị trả về để truyền dữ liệu giữa các mô đun, so với việc sử dụng biến toàn cục, là gì?

  • A. Giúp chương trình chạy nhanh hơn.
  • B. Làm cho mối quan hệ và sự phụ thuộc giữa các mô đun rõ ràng hơn, dễ kiểm soát lỗi hơn.
  • C. Tự động sao lưu dữ liệu.
  • D. Cho phép mọi mô đun truy cập mọi dữ liệu bất kỳ lúc nào.

Câu 13: Khi phát triển một chương trình lớn theo nhóm, việc chia thành các mô đun giúp ích như thế nào?

  • A. Chỉ một người cần hiểu toàn bộ chương trình.
  • B. Giảm nhu cầu giao tiếp giữa các thành viên trong nhóm.
  • C. Cho phép mỗi thành viên làm việc độc lập trên các phần khác nhau của chương trình mà không gây cản trở nhau quá nhiều.
  • D. Tất cả các phương án trên đều đúng.

Câu 14: Trong bài toán Sea Games, giả sử công thức tính điểm `diem_gk()` có một lỗi nhỏ khiến điểm tính ra bị sai cho tất cả vận động viên. Nhờ thiết kế mô đun, để sửa lỗi này, người lập trình chỉ cần tập trung vào:

  • A. Nội dung của mô đun `diem_gk()`.
  • B. Toàn bộ mã nguồn của chương trình.
  • C. Mô đun `nhapDL()` và `ghiDL()`.
  • D. Tệp dữ liệu đầu vào `SeaGames.inp`.

Câu 15: Việc thiết kế mô đun giúp tăng "tính thử nghiệm" (testability) của chương trình như thế nào?

  • A. Tự động tạo ra các trường hợp kiểm thử.
  • B. Giảm số lượng lỗi trong mã nguồn.
  • C. Cho phép kiểm thử từng mô đun một cách độc lập trước khi tích hợp chúng lại.
  • D. Loại bỏ nhu cầu kiểm thử toàn bộ chương trình.

Câu 16: Giả sử bạn muốn bổ sung chức năng thống kê số vận động viên có điểm trên 9.0 vào bài toán Sea Games. Chức năng này nên được xử lý ở đâu trong cấu trúc mô đun hiện tại?

  • A. Trong `nhapDL()` (vì cần đọc điểm).
  • B. Trong `Xuly()` (vì cần duyệt qua danh sách điểm đã tính).
  • C. Trong `ghiDL()` (vì kết quả thống kê sẽ được xuất ra).
  • D. Trong `diem_gk()` (vì liên quan đến điểm).

Câu 17: Trong thiết kế mô đun, "tính ghép nối" (coupling) đề cập đến điều gì?

  • A. Mức độ phụ thuộc lẫn nhau giữa các mô đun.
  • B. Khả năng mô đun tự hoạt động mà không cần mô đun khác.
  • C. Số lượng dòng mã trong mỗi mô đun.
  • D. Tốc độ thực thi của mô đun.

Câu 18: Một thiết kế mô đun tốt thường có tính liên kết (cohesion) cao và tính ghép nối (coupling) thấp. Điều này có ý nghĩa gì?

  • A. Các mô đun phụ thuộc chặt chẽ vào nhau và mỗi mô đun làm nhiều việc.
  • B. Các mô đun hoàn toàn độc lập và mỗi mô đun làm nhiều việc.
  • C. Mỗi mô đun làm một việc duy nhất được xác định rõ ràng và các mô đun ít phụ thuộc vào nhau.
  • D. Các mô đun phụ thuộc chặt chẽ vào nhau nhưng mỗi mô đun chỉ làm một việc.

Câu 19: Hãy phân tích cấu trúc `nhapDL -> Xuly -> ghiDL`. Nếu `Xuly` trả về một danh sách rỗng (do lỗi xử lý), điều gì có khả năng xảy ra với mô đun `ghiDL`?

  • A. `ghiDL` sẽ tự động sửa lỗi của `Xuly`.
  • B. `ghiDL` sẽ bỏ qua dữ liệu rỗng và ghi dữ liệu mặc định.
  • C. `ghiDL` sẽ gây ra lỗi chương trình do không nhận được dữ liệu hợp lệ để ghi.
  • D. `ghiDL` có thể hoạt động bình thường nhưng ghi ra tệp kết quả trống hoặc thông báo lỗi nếu được thiết kế để xử lý trường hợp dữ liệu rỗng.

Câu 20: Trong bài toán Sea Games, giả sử bạn muốn thêm chức năng sắp xếp danh sách vận động viên theo điểm tổng hợp giảm dần trước khi ghi ra tệp. Việc bổ sung logic sắp xếp này hợp lý nhất nên được thực hiện ở đâu?

  • A. Trong `nhapDL()` (trước khi trả về dữ liệu).
  • B. Trong `Xuly()` (sau khi tính điểm cho tất cả vận động viên, trước khi gọi `ghiDL`).
  • C. Trong `ghiDL()` (ngay trước khi ghi từng dòng vào tệp).
  • D. Tạo một mô đun mới chỉ làm nhiệm vụ sắp xếp.

Câu 21: Xét mô đun `diem_gk(d)` nhận vào một danh sách điểm `d` của một vận động viên và trả về điểm tổng hợp. Đây là ví dụ về loại mô đun nào?

  • A. Hàm (Function) - thực hiện một phép tính và trả về một giá trị.
  • B. Thủ tục (Procedure) - thực hiện một chuỗi hành động nhưng không nhất thiết trả về giá trị.
  • C. Mô đun nhập liệu.
  • D. Mô đun xuất dữ liệu.

Câu 22: Một lợi ích khác của thiết kế mô đun là tăng "tính đọc hiểu" (readability) của mã nguồn. Điều này có nghĩa là gì?

  • A. Mã nguồn sẽ tự động được dịch sang ngôn ngữ tự nhiên.
  • B. Chương trình sẽ không bao giờ có lỗi cú pháp.
  • C. Người đọc chỉ cần đọc tên mô đun là hiểu hết chức năng.
  • D. Chương trình được chia thành các phần nhỏ hơn, có tên gọi và chức năng rõ ràng, giúp người đọc dễ dàng theo dõi và hiểu logic hoạt động.

Câu 23: Khi thiết kế một mô đun mới cho chương trình, điều quan trọng nhất cần xác định đầu tiên là gì?

  • A. Ngôn ngữ lập trình sẽ sử dụng.
  • B. Kích thước tối đa của mô đun.
  • C. Chức năng cụ thể và duy nhất mà mô đun này sẽ thực hiện.
  • D. Tên của lập trình viên sẽ viết mô đun đó.

Câu 24: Trong bài toán Sea Games, mô đun `nhapDL()` cần xử lý trường hợp tệp đầu vào không tồn tại. Nếu tệp không tồn tại, mô đun này nên làm gì để chương trình hoạt động một cách "mềm dẻo" (robust)?

  • A. Tự động tạo tệp mới với dữ liệu trống.
  • B. Thông báo lỗi rõ ràng về việc không tìm thấy tệp và có thể kết thúc chương trình một cách có kiểm soát hoặc trả về tín hiệu lỗi.
  • C. Bỏ qua lỗi và tiếp tục chạy với dữ liệu rỗng.
  • D. Hỏi người dùng đường dẫn tệp mới.

Câu 25: Mô đun hóa giúp "trừu tượng hóa" (abstraction) chương trình. Điều này có nghĩa là gì?

  • A. Người sử dụng một mô đun không cần biết chi tiết bên trong nó hoạt động như thế nào, chỉ cần biết nó làm gì và cần gì (giao diện).
  • B. Mã nguồn trở nên phức tạp hơn.
  • C. Chương trình chỉ có thể chạy trên một loại máy tính duy nhất.
  • D. Mô đun tự động tạo ra tài liệu giải thích.

Câu 26: Giả sử bài toán Sea Games cần mở rộng để xử lý kết quả của nhiều môn thi đấu khác nhau, mỗi môn có công thức tính điểm riêng. Cách tiếp cận theo mô đun nào là phù hợp nhất để xử lý sự đa dạng về công thức tính điểm?

  • A. Sửa mô đun `nhapDL()` để đọc công thức từ tệp.
  • B. Sửa mô đun `ghiDL()` để ghi công thức ra tệp.
  • C. Tạo một mô đun `diem_tatca_mon()` chứa tất cả các công thức.
  • D. Thiết kế mô đun `diem_gk()` (hoặc tương đương) sao cho nó có thể nhận vào thông tin về môn thi đấu hoặc loại công thức cần áp dụng, hoặc tạo các mô đun tính điểm riêng cho từng môn và `Xuly()` sẽ gọi mô đun phù hợp.

Câu 27: Khi một mô đun gọi một mô đun khác (ví dụ: `Xuly` gọi `diem_gk`), mô đun gọi cần biết gì về mô đun được gọi?

  • A. Tên của mô đun/hàm được gọi, số lượng và kiểu dữ liệu của các tham số cần truyền vào, và kiểu dữ liệu của giá trị trả về (nếu có).
  • B. Toàn bộ mã nguồn bên trong mô đun được gọi.
  • C. Tên của lập trình viên đã viết mô đun được gọi.
  • D. Thời gian chạy trung bình của mô đun được gọi.

Câu 28: Việc chia chương trình thành các mô đun giúp đơn giản hóa quá trình gỡ lỗi (debugging) như thế nào?

  • A. Trình gỡ lỗi tự động xác định vị trí lỗi.
  • B. Lỗi chỉ xảy ra ở mô đun nhập liệu.
  • C. Khi phát hiện lỗi, phạm vi tìm kiếm lỗi được thu hẹp lại trong một mô đun cụ thể hoặc giao tiếp giữa các mô đun.
  • D. Chương trình không cần gỡ lỗi.

Câu 29: Trong bài toán Sea Games, nếu cần bổ sung chức năng kiểm tra tính hợp lệ của dữ liệu đọc được từ tệp (ví dụ: điểm số có nằm trong phạm vi cho phép không), logic kiểm tra này nên được tích hợp ở đâu?

  • A. Trong mô đun `nhapDL()` hoặc ngay sau khi `nhapDL()` hoàn thành việc đọc dữ liệu thô.
  • B. Trong mô đun `diem_gk()`.
  • C. Trong mô đun `ghiDL()`.
  • D. Tạo một mô đun kiểm tra độc lập hoàn toàn, chạy song song với các mô đun khác.

Câu 30: Phân tích sự khác biệt về vai trò giữa `nhapDL()` và `ghiDL()` trong bài toán Sea Games:

  • A. Cả hai đều xử lý dữ liệu giống nhau.
  • B. `nhapDL()` xử lý logic tính toán, `ghiDL()` đọc dữ liệu.
  • C. Cả hai đều là mô đun tính điểm.
  • D. `nhapDL()` tập trung vào việc đưa dữ liệu vào chương trình từ nguồn ngoài, còn `ghiDL()` tập trung vào việc đưa dữ liệu ra khỏi chương trình đến đích ngoài.

1 / 30

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

Tags: Bộ đề 10

Trong thiết kế chương trình theo mô đun, việc chia nhỏ chương trình thành các phần độc lập (mô đun) mang lại lợi ích chính nào sau đây khi cần sửa lỗi hoặc nâng cấp?

2 / 30

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

Tags: Bộ đề 10

Xét bài toán tính điểm Sea Games được thiết kế theo mô đun. Mô đun `nhapDL()` có nhiệm vụ đọc dữ liệu từ tệp đầu vào. Nếu định dạng của tệp đầu vào thay đổi (ví dụ: thứ tự các cột dữ liệu khác đi), mô đun nào *chắc chắn* cần được xem xét và chỉnh sửa?

3 / 30

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

Tags: Bộ đề 10

Trong bài toán tính điểm Sea Games, mô đun `diem_gk()` được thiết kế để tính điểm tổng hợp cho *một* vận động viên dựa trên danh sách điểm của các giám khảo cho vận động viên đó. Vai trò này thể hiện rõ nhất nguyên tắc thiết kế mô đun nào?

4 / 30

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

Tags: Bộ đề 10

Mô đun `Xuly()` trong bài toán Sea Games có chức năng chính là điều phối quá trình tính toán: nó nhận dữ liệu từ mô đun nhập, gọi mô đun tính điểm (`diem_gk`) cho từng vận động viên, và chuẩn bị dữ liệu cho mô đun xuất. Mô đun `Xuly()` đóng vai trò gì trong cấu trúc chương trình?

5 / 30

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

Tags: Bộ đề 10

Giả sử yêu cầu bài toán Sea Games thay đổi: thay vì ghi kết quả ra tệp, chương trình cần hiển thị kết quả trực tiếp lên màn hình console. Mô đun nào cần được chỉnh sửa để đáp ứng yêu cầu mới này?

6 / 30

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

Tags: Bộ đề 10

Mô đun `ghiDL()` trong bài toán Sea Games nhận dữ liệu (ví dụ: danh sách vận động viên và điểm tổng hợp) từ mô đun `Xuly()` để ghi ra tệp. Việc mô đun này chỉ tập trung vào việc ghi dữ liệu ra định dạng cụ thể (tệp) thể hiện lợi ích nào của thiết kế mô đun?

7 / 30

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

Tags: Bộ đề 10

Trong lập trình theo mô đun, 'giao diện' (interface) của một mô đun là gì?

8 / 30

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

Tags: Bộ đề 10

Việc sử dụng mô đun `diem_gk()` nhiều lần trong mô đun `Xuly()` (mỗi lần cho một vận động viên khác nhau) minh họa rõ nhất lợi ích nào của thiết kế mô đun?

9 / 30

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

Tags: Bộ đề 10

Trong bài toán Sea Games, nếu có yêu cầu bổ sung là tính điểm cao nhất và thấp nhất trong số điểm của tất cả các vận động viên, logic tính toán này nên được đặt ở mô đun nào để tuân thủ nguyên tắc thiết kế?

10 / 30

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

Tags: Bộ đề 10

Khi thiết kế chương trình theo mô đun, 'tính liên kết' (cohesion) của một mô đun đề cập đến điều gì?

11 / 30

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

Tags: Bộ đề 10

Trong bài toán Sea Games, mô đun `nhapDL()` đọc dữ liệu và trả về danh sách mã số vận động viên và danh sách điểm. Mô đun `Xuly()` nhận hai danh sách này làm đầu vào. Việc truyền dữ liệu giữa các mô đun này được thực hiện thông qua cơ chế nào trong lập trình?

12 / 30

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

Tags: Bộ đề 10

Ưu điểm của việc sử dụng tham số và giá trị trả về để truyền dữ liệu giữa các mô đun, so với việc sử dụng biến toàn cục, là gì?

13 / 30

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

Tags: Bộ đề 10

Khi phát triển một chương trình lớn theo nhóm, việc chia thành các mô đun giúp ích như thế nào?

14 / 30

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

Tags: Bộ đề 10

Trong bài toán Sea Games, giả sử công thức tính điểm `diem_gk()` có một lỗi nhỏ khiến điểm tính ra bị sai cho tất cả vận động viên. Nhờ thiết kế mô đun, để sửa lỗi này, người lập trình chỉ cần tập trung vào:

15 / 30

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

Tags: Bộ đề 10

Việc thiết kế mô đun giúp tăng 'tính thử nghiệm' (testability) của chương trình như thế nào?

16 / 30

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

Tags: Bộ đề 10

Giả sử bạn muốn bổ sung chức năng thống kê số vận động viên có điểm trên 9.0 vào bài toán Sea Games. Chức năng này nên được xử lý ở đâu trong cấu trúc mô đun hiện tại?

17 / 30

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

Tags: Bộ đề 10

Trong thiết kế mô đun, 'tính ghép nối' (coupling) đề cập đến điều gì?

18 / 30

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

Tags: Bộ đề 10

Một thiết kế mô đun tốt thường có tính liên kết (cohesion) cao và tính ghép nối (coupling) thấp. Điều này có ý nghĩa gì?

19 / 30

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

Tags: Bộ đề 10

Hãy phân tích cấu trúc `nhapDL -> Xuly -> ghiDL`. Nếu `Xuly` trả về một danh sách rỗng (do lỗi xử lý), điều gì có khả năng xảy ra với mô đun `ghiDL`?

20 / 30

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

Tags: Bộ đề 10

Trong bài toán Sea Games, giả sử bạn muốn thêm chức năng sắp xếp danh sách vận động viên theo điểm tổng hợp giảm dần trước khi ghi ra tệp. Việc bổ sung logic sắp xếp này *hợp lý nhất* nên được thực hiện ở đâu?

21 / 30

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

Tags: Bộ đề 10

Xét mô đun `diem_gk(d)` nhận vào một danh sách điểm `d` của một vận động viên và trả về điểm tổng hợp. Đây là ví dụ về loại mô đun nào?

22 / 30

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

Tags: Bộ đề 10

Một lợi ích khác của thiết kế mô đun là tăng 'tính đọc hiểu' (readability) của mã nguồn. Điều này có nghĩa là gì?

23 / 30

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

Tags: Bộ đề 10

Khi thiết kế một mô đun mới cho chương trình, điều quan trọng nhất cần xác định đầu tiên là gì?

24 / 30

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

Tags: Bộ đề 10

Trong bài toán Sea Games, mô đun `nhapDL()` cần xử lý trường hợp tệp đầu vào không tồn tại. Nếu tệp không tồn tại, mô đun này nên làm gì để chương trình hoạt động một cách 'mềm dẻo' (robust)?

25 / 30

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

Tags: Bộ đề 10

Mô đun hóa giúp 'trừu tượng hóa' (abstraction) chương trình. Điều này có nghĩa là gì?

26 / 30

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

Tags: Bộ đề 10

Giả sử bài toán Sea Games cần mở rộng để xử lý kết quả của nhiều môn thi đấu khác nhau, mỗi môn có công thức tính điểm riêng. Cách tiếp cận theo mô đun nào là phù hợp nhất để xử lý sự đa dạng về công thức tính điểm?

27 / 30

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

Tags: Bộ đề 10

Khi một mô đun gọi một mô đun khác (ví dụ: `Xuly` gọi `diem_gk`), mô đun gọi cần biết gì về mô đun được gọi?

28 / 30

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

Tags: Bộ đề 10

Việc chia chương trình thành các mô đun giúp đơn giản hóa quá trình gỡ lỗi (debugging) như thế nào?

29 / 30

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

Tags: Bộ đề 10

Trong bài toán Sea Games, nếu cần bổ sung chức năng kiểm tra tính hợp lệ của dữ liệu đọc được từ tệp (ví dụ: điểm số có nằm trong phạm vi cho phép không), logic kiểm tra này nên được tích hợp ở đâu?

30 / 30

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

Tags: Bộ đề 10

Phân tích sự khác biệt về vai trò giữa `nhapDL()` và `ghiDL()` trong bài toán Sea Games:

Viết một bình luận