Посмотрите на рисунок. Поле испытаний ракеты отличается от тех лабиринтов, которые вы видели ранее.
Появился блок , который всё время движется и то открывает, то закрывает проход. Назовём его дверью.
Алгоритм движения ракеты и алгоритм движения двери выполняются одновременно (параллельно). Чтобы ракета безаварийно пролетела весь лабиринт, надо учесть одновременную работу этих двух алгоритмов. Дверь про ракету "ничего не знает", она движется сама по себе вперёд−назад. Когда дверь доходит до стены, она разворачивается. Дверь движется бесконечно.
Ракета движется по заданному маршруту. Маршрут составляется при помощи команд: вперёд , налево
, направо
. Алгоритм движения ракеты по маршруту управляется событиями. Событие такое: на следующем шаге движения по маршруту ракета и дверь могут столкнуться. Если событие не наступает, то исполнитель−ракета выполняет команды движения по маршруту. При наступлении события ракета выполняет команду
и ждёт, пока дверь не проедет мимо.
Алгоритм движения двери:
Маршрут:
Нарисуйте движение двери по её алгоритму.
Алгоритм движения ракеты:
Составьте маршрут движения ракеты.
Внимание! Маршрут составляется без учёта событий, так как о событиях ракета заранее не знает.
Запишите по порядку команды, которые выполнит исполнитель ракета при движении по этому маршруту для безаварийного прохождения лабиринта. Для удобства используйте фишки.
Движение двери по её алгоритму:
Маршрут движения ракеты:
Маршрут составлен без учёта событий, так как о событиях ракета заранее не знает.
Команды, которые выполнит исполнитель ракета при движении по этому маршруту для безаварийного прохождения лабиринта: