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 giúp bạn rèn luyện phản xạ làm bài hiệu quả thông qua kho câu hỏi phong phú.
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
⏱ Thời gian còn lại: --:--
Tiến độ hoàn thành
0/0 câu
🏆 BẢNG VÀNG TOP 5 ĐIỂM TỐT NHẤT
Đang tải bảng xếp hạng...
Câu 1: 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?
- - 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
- - Khi đã chia được đúng 10 bài toán con
- - Khi dung lượng bộ nhớ của máy tính đã đầy
- - 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 2: Bài toán quản lý điểm thi có thể được làm mịn bước 1 thành ba khối công việc tiêu chuẩn nào trong xử lý thông tin?
- - Mua máy tính, Cài đặt Python, Viết code
- - Tạo mảng, Duyệt mảng, In mảng
- - Nhập dữ liệu đầu vào, Xử lý tính toán, Xuất kết quả báo cáo
- - Lưu file, Đóng file, Xóa file
Câu 3: Mục đích chính của việc áp dụng phương pháp làm mịn dần là gì
- - Làm cho chương trình chạy nhanh hơn đáng kể về tốc độ xử lý
- - Giảm dung lượng bộ nhớ cần thiết để lưu trữ chương trình
- - Giúp việc xây dựng, kiểm tra và bảo trì chương trình dễ dàng hơn
- - Hạn chế số lượng biến cần sử dụng trong chương trình
Câu 4: Tại sao việc kiểm thử riêng lẻ (Unit testing) lại rất thuận lợi với các chương trình dùng phương pháp làm mịn dần?
- - Vì trình biên dịch sẽ bỏ qua các lỗi logic
- - Vì chương trình không bao giờ có lỗi nếu thiết kế đúng
- - Mỗi hàm bài toán con có thể được cấp dữ liệu giả lập độc lập để xác minh tính đúng đắn trước khi ghép nối
- - Vì việc kiểm thử được thực hiện hoàn toàn tự động bằng trí tuệ nhân tạo
Câu 5: Trong quá trình làm mịn dần, việc kiểm tra tính đúng đắn được thực hiện khi nào
- - Chỉ sau khi hoàn thành toàn bộ chương trình
- - Chỉ khi khách hàng yêu cầu
- - Có thể thực hiện kiểm tra sau mỗi bước làm mịn
- - Không cần thiết phải kiểm tra vì logic đã đúng
Câu 6: Điểm khác biệt cơ bản giữa thiết kế từ trên xuống và thiết kế từ dưới lên là gì?
- - Thiết kế từ trên xuống bắt đầu từ cái nhìn tổng thể bài toán, trong khi từ dưới lên bắt đầu từ việc ghép các chi tiết nhỏ
- - Thiết kế từ trên xuống chạy nhanh hơn thiết kế từ dưới lên
- - Thiết kế từ trên xuống không bao giờ sử dụng các hàm con
- - Thiết kế từ trên xuống chỉ dùng cho Python, còn từ dưới lên dùng cho C++
Câu 7: Bước đầu tiên trong quy trình thiết kế chương trình theo phương pháp làm mịn dần là gì?
- - Kiểm thử ngay một hàm bất kỳ
- - Xác định bài toán tổng quát và phác thảo các bước chính để giải quyết
- - Mở trình soạn thảo và khai báo ngay các biến cục bộ
- - Biên dịch chương trình sang mã máy
Câu 8: 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?
- - 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
- - 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
- - 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
- - 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 9: Trong quá trình phân rã làm mịn dần, khi nào lập trình viên có thể dừng việc chia nhỏ bài toán?
- - Khi các bài toán con đủ đơn giản để có thể viết ngay thành các đoạn mã lệnh hoặc hàm
- - Khi đã đạt đến chính xác 3 mức phân chia
- - Khi số lượng bài toán con vượt quá 10
- - Khi không thể đặt tên thêm cho các bài toán con
Câu 10: Ở các bước phân tích đầu tiên của quá trình làm mịn dần, người thiết kế nên tập trung vào điều gì?
- - Lựa chọn ngay loại vòng lặp for hay while
- - Xác định chính xác các biến cần khai báo
- - Xác định chương trình cần làm gì (What) hơn là làm như thế nào (How)
- - Tối ưu hóa tốc độ thực thi của chương trình ngay lập tức
Câu 11: Quá trình phân rã và làm mịn một bài toán con sẽ dừng lại khi nào?
- - Khi chương trình đã đạt đến một nghìn dòng lệnh
- - Khi không thể sử dụng thêm vòng lặp nào nữa
- - Khi đã chia được đúng năm bài toán con
- - Khi bài toán con đủ đơn giản để có thể viết lệnh trực tiếp
Câu 12: Nguyên lý cơ bản nhất của phương pháp thiết kế làm mịn dần là gì?
- - Gộp nhiều hàm nhỏ thành một chương trình lớn ngay từ đầu
- - Chia một bài toán phức tạp thành các bài toán con nhỏ hơn, dễ giải quyết hơn
- - Viết mã nguồn từ dòng đầu tiên đến dòng cuối cùng không qua thiết kế
- - Chỉ sử dụng các vòng lặp để giải quyết mọi bài toán
Câu 13: 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ì?
- - 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
- - 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
- - 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
- - 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 14: Phương pháp thiết kế chương trình từ trên xuống (top-down) là gì?
- - 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
- - 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
- - 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ỏ đó
- - 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 15: Trong ngữ cảnh thiết kế chương trình, 'làm mịn' có nghĩa là gì?
- - Làm cho chương trình chạy mượt mà hơn trên web
- - Chi tiết hóa dần các công việc từ khái quát đến cụ thể
- - Loại bỏ các thành phần không cần thiết trong phần cứng
- - Định dạng lại mã nguồn cho đẹp và dễ đọc
Câu 16: Nếu trong quá trình thiết kế, một bài toán con được xác định vẫn còn quá phức tạp để lập trình trực tiếp, ta nên làm gì tiếp theo?
- - Tiếp tục áp dụng phương pháp làm mịn dần để chia nhỏ bài toán con đó
- - Dừng dự án và đổi ngôn ngữ lập trình khác
- - Gộp bài toán con đó ngược lại vào bài toán chính
- - Xóa bỏ bài toán con đó khỏi chương trình
Câu 17: 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ì?
- - 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
- - 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
- - 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
- - 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 18: Phương pháp làm mịn dần mang lại lợi ích gì nổi bật nhất trong quá trình kiểm tra và gỡ lỗi (debug) chương trình?
- - Tự động sửa mọi lỗi cú pháp mã nguồn
- - Giúp khoanh vùng và phát hiện lỗi dễ dàng hơn trong từng bài toán con riêng biệt
- - Bỏ qua hoàn toàn bước kiểm thử đơn vị
- - Giúp chương trình chạy nhanh gấp đôi
Câu 19: Sự khác biệt giữa 'chia nhỏ' và 'làm mịn dần' là gì
- - Chia nhỏ là chia về mặt vật lý, làm mịn là chi tiết hóa thuật toán
- - Không có sự khác biệt, chúng là một
- - Chia nhỏ chỉ dùng cho chương trình lớn
- - Làm mịn chỉ dùng cho văn bản
Câu 20: Phương pháp làm mịn dần thường được kết hợp với kỹ thuật nào trong lập trình?
- - Sử dụng các hàm và chương trình con
- - Sử dụng các biến toàn cục cho toàn bộ dự án
- - Viết code trực tiếp vào hàm main
- - Sử dụng ngôn ngữ máy thay vì ngôn ngữ lập trình bậc cao
Câu 21: Ưu điểm lớn nhất của làm mịn dần là gì?
- - Nó giúp giảm số lượng dòng lệnh trong chương trình
- - Nó tăng tính rõ ràng, cấu trúc và dễ quản lý cho chương trình
- - Nó cho phép người lập trình không cần hiểu thuật toán
- - Nó tự động tạo ra tài liệu hướng dẫn sử dụng
Câu 22: 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?
- - Khai báo mảng số nguyên, Vòng lặp for từ 1 đến 10, Lệnh if else
- - Viết hàm in ra chữ 'A', Viết hàm cộng hai số, Viết hàm đổi màu chữ
- - Quản lý sách, Quản lý độc giả, Quản lý mượn/trả sách
- - Cài đặt hệ điều hành, Mua máy tính mới, Kéo dây mạng internet
Câu 23: Mục tiêu chính của việc thiết kế chương trình bằng phương pháp làm mịn dần là gì?
- - Tăng tốc độ thực thi của chương trình trên phần cứng
- - Giảm độ phức tạp của bài toán và tăng khả năng kiểm soát
- - Hạn chế tối đa việc sử dụng các biến toàn cục
- - Tự động hóa hoàn toàn quá trình viết mã lệnh
Câu 24: Điểm khác biệt giữa lập trình từ trên xuống và lập trình từ dưới lên là gì
- - Từ trên xuống chia nhỏ bài toán, từ dưới lên ghép các thành phần lại
- - Từ trên xuống dùng cho ngôn ngữ Python, từ dưới lên dùng cho C++
- - Không có sự khác biệt về bản chất giữa hai phương pháp này
- - Từ trên xuống giúp máy chạy nhanh, từ dưới lên giúp máy chạy chậm
Câu 25: Việc làm mịn dần có thể được coi là kỹ thuật giải quyết vấn đề nào
- - Phương pháp thử và sai (trial and error)
- - Phương pháp chia để trị (divide and conquer)
- - Phương pháp vét cạn (brute force)
- - Phương pháp đệ quy vô hạn