Система команд исполнителя Робот
Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.
У Робота есть девять команд. Четыре команды – это команды-приказы:
вверх вниз влево вправо
При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.
Также у Робота есть команда закрасить
, при которой закрашивается клетка, в которой Робот находится в настоящий момент.
Команды проверки условий
Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений. Каждое из условий возвращает значение "истина", если оно выполняется, или - "ложь" в противном случае.
сверху стена снизу стена слева стена справа стена
сверху свободно снизу свободно слева свободно справа свободно
Эти команды можно использовать вместе с командой проверки условия «eсли
», имеющим следующий вид:
если условие то
последовательность команд
все
Здесь условие
- одна из команд проверки условия.
Последовательность команд - это одна или несколько любых команд-приказов.
Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:
если не справа стена то
вправо
закрасить
все
В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не
, например:
если (не справа стена) и (снизу стена) то
вправо
все
Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:
нц пока условие
последовательность команд
кц
Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:
нц пока не справа стена
вправо
кц
Робот всегда должен заканчивать свою программу на базе. База отмечена зеленым квадратом.