Bài tập & Lời giải
F1. Một việc em phải làm hằng ngày là đi từ nhà đến trường. "Bài toán: đi đến trường; đầu vào: xuất phát từ nhà em; đầu ra: có mặt ở trường".
1) Có thể coi phát biểu trên là một bài toán chưa? Giải thích tại sao.
2) Dựa trên trường hợp cụ thể của bản thân mình, em hãy bổ sung thêm chi tiết để có thể nêu quy trình thực hiện theo kiểu mô tả thuật toán.
Xem lời giải
F2. Các câu giải thích nghĩa khái niệm thuật toán sau đây có những điểm thiếu sót nào? Em hãy nói rõ cho từng trường hợp:
1) Thuật toán là một danh sách các việc để hoàn thành một nhiệm vụ, giải quyết một vấn đề nào đó.
2) Thuật toán là một danh sách các việc có đánh số thứ tự để giải một bài toán nào đó.
3) Thuật toán là một quy trình chặt chẽ gồm một số bước để giải một bài toán cụ thể.
Xem lời giải
F3. Khi được hỏi em làm thế nào để sang đường (di chuyển sang lề đường bên kia) sao cho an toàn,em mô tả như sau: "1) Dừng ở chỗ thích hợp; 2) Quan sát giao thông trên đường; 3) Nhanh chóng đi cắt ngang qua đường sang bên kia khi thấy an toàn."
1) Mô tả trên có thể coi là một thuật toán sang đường an toàn, đúng luật giao thông chưa? Giải thích tại sao.
2) Em hãy sửa lại để nhận được thuật toán "sang đường an toàn", đúng luật giao thông. (Gợi ý: Trong đô thị khác với ngoài đô thị; em hãy mô tả cụ thể hơn tùy theo hoàn cảnh của mình.)
Xem lời giải
F4. Giả sử em là lớp trưởng, hãy vận dụng cách suy nghĩ theo kiểu thuật toán để hoàn thành nhiệm vụ cô giáo giao: "Đề xuất một bạn trong lớp để khen thưởng danh hiệu dành cho học sinh có thành tích học tập nổi bật nhất trong năm học".
1) Xác định rõ thế nào là "thành tích học tập nổi bật nhất" trong năm học.
2) Phát biểu nhiệm vụ rõ ràng, cụ thể hơn dưới dạng một bài toán.
3) Viết quy trình thực hiện theo kiểu mô tả thuật toán.
Xem lời giải
F5. Với mỗi phát biể sau đây, hãy cho biết phát biểu đó là đúng là hay sai:
1) Chỉ có một thuật toán để giải một bài toán.
2) Có thể có nhiều thuật toán để giải một bài toán.
3) Đầu vào của bài toán cũng là đầu vào của thuật toán.
4) Đầu ra của bài toán cũng là đầu ra của thuật toán.
Xem lời giải
F6. Tại sao phải mô tả thuật toán cụ thể, rõ ràng, đầy đủ? Nếu không như thế thì hậu quả là gì? Hãy nêu ví dụ minh họa.
Xem lời giải
F7. Em hãy giải thích cho bạn biết tại sao có thể coi chương trình máy tính là bản mô tả thuật toán bằng ngôn ngữ lập trình và nêu ví dụ minh họa.