Bài 14. Giải quyết vấn đề

datcoder

Thuật toán bám tường là một trong những giải pháp thoát khỏi mê cung. Trong thuật toán robot di chuyển sao cho bức tường luôn ở một phía của nó (chẳng hạn phía bên phải). Em hãy mô tả thuật toán xác định hướng di chuyển của robot. Biết rằng robot chỉ thực hiện những động tác sau:

1. Phát hiện xung quanh (trái, phải, phía trước) có tường hay không

2. Quay trái hoặc quay phải một góc 90 độ

3. Tiến (đi thẳng) một bước về phía trước

Người Già
23 tháng 5 lúc 21:01

1. Khởi tạo

- Đặt robot ở vị trí ban đầu

- Xác định hướng ban đầu của robot

2. Lặp lại các bước sau cho đến khi thoát khỏi mê cung

- Kiểm tra xung quanh robot

- Kiểm tra có tường ở ở bên phải robot không

- Kiểm tra có tường bên trái robot không

- Điều hướng robot

+ Nếu có tường ở bên phải robot: robot đi thẳng một bước về phía trước

+ Nếu không có tường bên phải robot: quay phải một góc 90 độ và tiến thẳng một bước vể phía trước

+ Nếu không có tường bên phải, phía trước robot: quay trái một góc 90 độ và tiến thẳng một bước về phía trước

+ Nếu không có tường bên phải, phía trước và có tường bên trái của robot: quay trái một góc 90 độ

- Cập nhật hướng di chuyển của robot: Dựa vào hướng ban đầu và các bước điều hướng, cập nhật hướng mới của robot sau mỗi bước di chuyển.

3. Kết thúc:

Thực hiện lặp lại thuật toán cho đến khi thoát khỏi mê cung.