Trắc nghiệm Tin học 11 kết nối tri thứcTrắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 26 Phương pháp làm mịn dần trong thiết kế chương trình Đăng vào 3 Tháng 5, 2026 bởi admin Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 26 Phương pháp làm mịn dần trong thiết kế chương trình Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 26 Phương pháp làm mịn dần trong thiết kế chương trình Số câu25Quiz ID40965 Làm bài Câu 1 Trong sơ đồ phân rã chức năng (hiển thị cấu trúc làm mịn dần), các nút lá (nút không có nút con) thường đại diện cho điều gì? A Các thao tác cơ bản nhất đã đủ chi tiết để viết ngay thành các câu lệnh lập trình B Các biến toàn cục được sử dụng trong chương trình C Các bài toán tổng thể ở mức khái quát cao nhất chưa được phân rã D Các lỗi logic cần được lập trình viên sửa chữa ngay lập tức Câu 2 Khi phân rã bài toán 'Tính điểm trung bình của học sinh', cách chia nào sau đây thể hiện rõ nhất phương pháp làm mịn dần? A Khai báo biến -> Kết thúc chương trình B Tính điểm trung bình -> In kết quả ra màn hình -> Nhập điểm các môn C Nhập điểm các môn -> Tính tổng và điểm trung bình -> In kết quả ra màn hình D In kết quả ra màn hình -> Khai báo biến -> Tính điểm trung bình Câu 3 Trong giai đoạn đầu tiên của quá trình làm mịn dần, lập trình viên thường làm gì? A Tối ưu hóa dung lượng bộ nhớ và tốc độ thực thi của chương trình B Mô tả thuật toán tổng quát để giải quyết bài toán bằng ngôn ngữ tự nhiên hoặc mã giả C Thiết kế giao diện đồ họa chi tiết cho người dùng D Viết ngay các dòng lệnh chi tiết bằng ngôn ngữ lập trình C++ hoặc Python Câu 4 Quá trình kiểm thử (testing) trong thiết kế từ trên xuống thường được thực hiện như thế nào để đạt hiệu quả cao? A Chỉ kiểm tra lỗi chính tả của các bình luận trong mã nguồn B Không cần kiểm thử các hàm con vì phương pháp làm mịn dần đã đảm bảo không có lỗi logic C Bắt buộc phải viết xong toàn bộ chương trình, hàng ngàn dòng lệnh rồi mới tiến hành kiểm thử một lần duy nhất D Kiểm thử độc lập từng hàm con ngay khi viết xong để đảm bảo tính đúng đắn trước khi ghép nối vào chương trình chính Câu 5 Tại sao việc sử dụng các biến toàn cục (global variables) thường bị hạn chế trong thiết kế chương trình theo phương pháp làm mịn dần? A Vì các biến toàn cục chiếm quá nhiều dung lượng ổ cứng của máy tính B Vì biến toàn cục chỉ có thể lưu trữ kiểu dữ liệu chuỗi ký tự C Vì nó làm tăng sự phụ thuộc lẫn nhau giữa các hàm con, gây khó khăn cho việc kiểm soát dữ liệu và tìm kiếm lỗi D Vì ngôn ngữ lập trình hiện đại không còn hỗ trợ tính năng khai báo biến toàn cục Câu 6 Đặc trưng của một bài toán con tốt (mô-đun tốt) khi thực hiện làm mịn dần là gì? A Xử lý nhiều nhiệm vụ phức tạp cùng một lúc để tiết kiệm số lượng hàm cần tạo B Thực hiện một nhiệm vụ cụ thể, duy nhất và hạn chế tối đa sự phụ thuộc vào dữ liệu của các bài toán con khác C Phụ thuộc chặt chẽ vào các biến toàn cục để trao đổi dữ liệu liên tục với mọi hàm khác D Mã nguồn phải dài ít nhất 100 dòng lệnh để đảm bảo độ chi tiết Câu 7 Trong Python, để thực hiện thiết kế chương trình từ trên xuống, người ta thường dùng từ khóa nào để định nghĩa các bài toán con? A class B function C module D def Câu 8 Quá trình làm mịn dần (stepwise refinement) trong thiết kế chương trình có nghĩa là gì? A Là việc xóa bớt các dòng lệnh thừa trong chương trình để mã nguồn ngắn gọn hơn B Là việc chi tiết hóa dần các bước giải quyết bài toán từ mức khái quát đến mức có thể lập trình được C Là việc biên dịch chương trình nhiều lần cho đến khi không còn lỗi cú pháp D Là quá trình thay đổi ngôn ngữ lập trình liên tục để tìm ra ngôn ngữ phù hợp nhất Câu 9 Quá trình phân rã bài toán trong phương pháp làm mịn dần nên dừng lại khi nào? A Khi các bài toán con đủ đơn giản để có thể chuyển trực tiếp thành các câu lệnh của ngôn ngữ lập trình B Khi đã chia được đúng 10 bài toán con C Khi dung lượng bộ nhớ của máy tính đã đầy D Khi lập trình viên cảm thấy mệt và không muốn chia nhỏ thêm nữa Câu 10 Khi áp dụng phương pháp làm mịn dần, công cụ lập trình nào thường được sử dụng để biểu diễn các bài toán con? A Các biến toàn cục B Các hằng số nguyên C Các toán tử logic D Các chương trình con (hàm hoặc thủ tục) Câu 11 Phương pháp thiết kế chương trình từ trên xuống (top-down) là gì? A Là quá trình viết mã lệnh từ dòng cuối cùng lên dòng đầu tiên của chương trình B Là quá trình gộp nhiều bài toán nhỏ thành một bài toán lớn để giải quyết C Là quá trình chia bài toán lớn thành các bài toán nhỏ hơn và giải quyết từng bài toán nhỏ đó D Là phương pháp chỉ sử dụng một hàm duy nhất để giải quyết toàn bộ bài toán Câu 12 Một chương trình được thiết kế tốt theo phương pháp làm mịn dần sẽ có đặc điểm gì về tính bảo trì? A Rất khó sửa lỗi vì các hàm con liên kết với nhau bằng các biến toàn cục phức tạp B Dễ dàng xác định vị trí lỗi và cập nhật chức năng mà không làm ảnh hưởng lớn đến các phần khác C Mỗi khi có lỗi, lập trình viên phải viết lại toàn bộ chương trình từ đầu D Không thể bổ sung thêm bất kỳ chức năng mới nào sau khi đã hoàn thành thiết kế ban đầu Câu 13 Việc sử dụng phương pháp làm mịn dần hỗ trợ làm việc nhóm trong các dự án phần mềm như thế nào? A Bắt buộc tất cả các lập trình viên phải cùng viết code trên một máy tính duy nhất B Cho phép chia dự án thành nhiều mô-đun độc lập để phân công cho nhiều lập trình viên cùng làm việc đồng thời C Yêu cầu chỉ một người duy nhất được phép viết mã nguồn từ đầu đến cuối D Ngăn chặn việc sử dụng các thư viện mã nguồn mở trong quá trình làm việc nhóm Câu 14 Khi thiết kế trò chơi 'Đoán số', việc tạo một hàm có tên 'kiem_tra_ket_qua(so_doan, so_bi_mat)' minh họa cho điều gì trong phương pháp làm mịn dần? A Trừu tượng hóa thao tác so sánh hai số thành một hành động có tên gọi rõ ràng, dễ hiểu B Bắt buộc mã nguồn phải chạy chậm lại để tạo cảm giác hồi hộp cho người chơi C Che giấu mã nguồn không cho các lập trình viên khác biết cách so sánh hai số D Tăng độ phức tạp của trò chơi để người chơi khó đoán trúng hơn Câu 15 Khi phân tích bài toán 'Vẽ một ngôi nhà', bước làm mịn 'Vẽ phần thân nhà' có thể tiếp tục được phân rã thành các bài toán con nào sau đây? A Xóa toàn bộ hình ảnh và vẽ lại từ đầu B Vẽ bức tường, Vẽ cửa chính, Vẽ các cửa sổ C Vẽ mái nhà, Vẽ ống khói, Vẽ đám mây D Mua sơn, Thuê thợ xây, Trộn xi măng Câu 16 Lợi ích nổi bật nhất của phương pháp làm mịn dần trong lập trình là gì? A Giúp giảm độ phức tạp của bài toán, làm cho chương trình dễ đọc, dễ hiểu và dễ bảo trì B Giúp chương trình thực thi nhanh hơn gấp nhiều lần so với các phương pháp khác C Cho phép lập trình viên không cần phải kiểm thử chương trình sau khi viết xong D Giảm thiểu hoàn toàn lỗi logic trong quá trình chạy chương trình Câu 17 Một học sinh lập trình bài toán 'Giải phương trình bậc 2'. Bạn đó tạo ba hàm: Nhap_He_So(), Tinh_Delta(), In_Nghiem(). Cách trao đổi dữ liệu nào giữa các hàm này là tốt nhất theo nguyên tắc thiết kế tốt? A Yêu cầu người dùng nhập lại các hệ số a, b, c bên trong mỗi hàm mỗi khi hàm đó được gọi B Khai báo ba hệ số a, b, c và delta là các biến toàn cục ở đầu chương trình C Lưu các hệ số vào một tệp văn bản ở ổ C rồi đọc lại trong từng hàm D Sử dụng các tham số truyền vào (parameters) và giá trị trả về (return) của các hàm Câu 18 Hành động nào sau đây vi phạm nguyên tắc của phương pháp làm mịn dần? A Gộp tất cả các thao tác nhập dữ liệu, xử lý tính toán và in kết quả vào một hàm duy nhất dài hàng trăm dòng B Đặt tên các hàm con rõ ràng, phản ánh đúng chức năng của chúng C Chia nhỏ bài toán cho đến khi mỗi hàm con chỉ thực hiện một tác vụ cụ thể D Viết thuật toán bằng mã giả trước khi tiến hành viết mã bằng ngôn ngữ C++ Câu 19 Khi xây dựng chương trình 'Quản lý thư viện', bước làm mịn đầu tiên hợp lý nhất là chia bài toán thành các chức năng nào sau đây? A Khai báo mảng số nguyên, Vòng lặp for từ 1 đến 10, Lệnh if else B Viết hàm in ra chữ 'A', Viết hàm cộng hai số, Viết hàm đổi màu chữ C Quản lý sách, Quản lý độc giả, Quản lý mượn/trả sách D Cài đặt hệ điều hành, Mua máy tính mới, Kéo dây mạng internet Câu 20 Tại sao phương pháp làm mịn dần lại giúp chương trình dễ đọc hơn? A Vì nó buộc lập trình viên phải viết toàn bộ chương trình trên một dòng lệnh duy nhất B Vì nó loại bỏ hoàn toàn việc sử dụng cấu trúc rẽ nhánh và vòng lặp trong lập trình C Vì phương pháp này tự động chuyển đổi mã máy thành ngôn ngữ tự nhiên D Vì mã nguồn được chia thành các hàm nhỏ có tên gọi gợi nhớ, mô tả rõ chức năng của từng bước Câu 21 Trong phương pháp thiết kế từ trên xuống, chương trình chính (main program) đóng vai trò gì? A Chỉ dùng để khai báo các biến toàn cục mà không thực hiện thao tác xử lý nào B Chứa toàn bộ các dòng lệnh chi tiết của tất cả các bài toán con mà không cần gọi hàm C Lưu trữ dữ liệu đầu vào và kết quả đầu ra trên ổ đĩa cứng D Điều phối và gọi các chương trình con theo một trình tự logic để giải quyết bài toán tổng thể Câu 22 Rủi ro lớn nhất khi áp dụng phương pháp thiết kế từ trên xuống là gì? A Không thể sử dụng trong các bài toán yêu cầu xử lý mảng dữ liệu lớn B Yêu cầu cấu hình phần cứng máy tính rất cao để có thể thực thi chương trình C Nếu thiết kế ở mức tổng quát ban đầu bị sai lệch, toàn bộ các mô-đun con bên dưới có thể phải thiết kế lại D Mã nguồn sinh ra thường chạy chậm hơn so với mã được viết một cách tự do không có cấu trúc Câu 23 Tính tái sử dụng (reusability) trong thiết kế từ trên xuống được thể hiện qua yếu tố nào? A Người dùng có thể chạy chương trình nhiều lần trên cùng một máy tính B Một biến toàn cục có thể được thay đổi giá trị liên tục bởi tất cả các phần của chương trình C Các hàm con được thiết kế tốt có thể được gọi nhiều lần trong cùng một chương trình hoặc sử dụng lại ở các dự án khác D Mã nguồn có thể tự động chạy lại nhiều lần nếu gặp lỗi gây sự cố hệ thống Câu 24 Sự khác biệt cơ bản giữa phương pháp thiết kế từ trên xuống (Top-down) và từ dưới lên (Bottom-up) là gì? A Top-down thiết kế giao diện trước, Bottom-up thiết kế cơ sở dữ liệu trước B Top-down luôn tạo ra chương trình chạy nhanh hơn so với Bottom-up C Top-down bắt đầu từ bài toán tổng thể rồi chia nhỏ, trong khi Bottom-up bắt đầu từ việc xây dựng các mô-đun chi tiết trước rồi ghép lại thành hệ thống D Top-down chỉ dùng cho ngôn ngữ Python, Bottom-up chỉ dùng cho ngôn ngữ C++ Câu 25 Giả sử bài toán yêu cầu 'Tìm học sinh có điểm cao nhất trong lớp'. Bước làm mịn nào sau đây là chi tiết và hợp lý nhất cho hàm xử lý chính? A In ra danh sách học sinh rồi kết thúc chương trình mà không xử lý B Gán điểm cao nhất bằng điểm học sinh đầu tiên, duyệt qua danh sách, nếu điểm học sinh đang xét cao hơn thì cập nhật lại điểm cao nhất C Nhập tên tất cả các học sinh và lưu vào một mảng duy nhất D Yêu cầu người dùng tự nhìn vào màn hình và chọn ra người có điểm cao nhất Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 25 Xác định độ phức tạp thời gian thuộc toán Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 27 Thực hành thiết kế chương trình theo phương pháp làm mịn dần