Теория:

Исполнитель Робот передвигается по лабиринту, который является плоскостью, разбитой на клетки. Между клетками лабиринта может находиться стена, которую Робот должен обойти, не врезаясь в неё.
Если Робот врезается в стену, он ломается и задача не решена.
Робот умеет выполнять следующие девять команд.
Команды-приказы:
вверх,
вниз,
влево,
вправо.
 
При их выполнении Робот передвигается на одну клетку в заданном направлении.
Команда-приказ:
закрасить.
 
По этой команде Робот закрашивает клетку, в которой находится.
 
Команды проверки условий:
сверху свободно;
снизу свободно;
слева свободно;
справа свободно.
 
Используются, чтобы узнать, свободен ли путь для Робота в данном направлении.
При составлении программы для Робота можно пользоваться условным оператором «если»:
 
если условие то
 последовательность команд
все
 
Где условие — одна из команд проверки условий, а последовательность команд — это набор команд-приказов.
Чтобы передвинуть Робота на одну клетку влево, если слева нет стены, и закрасить её, будет использоваться алгоритм:
 
если слева свободно то
влево
закрасить
все

Для использования нескольких команд проверки условий одновременно, применимы логические операции не, и, или.
  
если (слева свободно) и (не сверху свободно) то
 влево
все

Если необходимо выполнять команду, пока выполняется какое-либо условие, применяем цикл пока:
 
нц пока условие
   последовательность команд
кц
 
Где нц — начало цикла, кц — конец цикла.
 
Чтобы Робот перемещался влево, пока нет препятствий, используем алгоритм:
 
нц пока слева свободно
  влево
кц