Hai bạn Minh và Khoa muốn xây dựng thuật toán để mô phỏng trò chơi “Oẳn tù tì” giữa người và máy tính.
Bạn Minh mô tả thuật toán như sau:
Nếu người chơi ra “đấm” thì
Nếu máy ra “đấm” thì thông báo “Hòa nhau”
Nếu máy ra “lá” thì thông báo “Người chơi thua”
Nếu máy ra “kéo” thì thông báo “Người chơi thắng”
Nếu người chơi ra “lá” thì
Nếu máy ra “đấm” thì thông báo “Người chơi thắng”
Nếu máy ra “lá” thì thông báo “Hòa nhau”
Nếu máy ra “kéo” thì thông báo “Người chơi thua”
Nếu người chơi ra “kéo” thì
Nếu máy ra “đấm” thì thông báo “Người chơi thua”
Nếu máy ra “lá” thì thông báo “Người chơi thắng”
Nếu máy ra “kéo” thì thông báo “Hòa nhau”
Bạn Khoa mô tả thuật toán như sau:
Nếu người chơi và máy tính ra giống nhau thì thông báo “Hòa nhau”
Ngược lại
Nếu người chơi ra “kéo” thì
Advertisements (Quảng cáo)
Nếu máy tính ra “lá” thì thông báo “Người chơi thắng”
Ngược lại thông báo “Người chơi thua”
Nếu người chơi ra “lá” thì
Nếu máy tính ra “đấm” thì thông báo “Người chơi thắng”
Ngược lại thông báo “Người chơi thua”
Nếu người chơi ra “đấm” thì
Nếu máy tính ra “kéo” thì thông báo “Người chơi thắng”
Ngược lại thông báo “Người chơi thua”
Theo em, trong hai cách mô tả thuật toán trên của hai bạn thì cách nào hay hơn? Tại sao? Em hãy mô tả thuật toán mà em thấy hay hơn bằng sơ đồ khối.
Xác định yêu cầu đề bài
Xác định đầu vào đầu ra của thuật toán
Xác định thuật toán tối ưu hơn là thuật toán có ít lệnh hơn
Vẽ sơ đồ hình khối tưng ứng của mỗi bạn
Thuật toán của bạn Minh dễ hiểu cho người sử dụng nhưng thuật toán của bạn Khoa lại tối ưu hơn đối với máy tính
Sơ đồ khối thuật toán của 2 bạn: