В систему команд исполнителя РОБОТ, «живущего» в прямоугольном
лабиринте на клетчатой плоскости, входят следующие команды управления:
При выполнении любой из этих команд РОБОТ перемещается на одну клетку
соответственно (по отношению к наблюдателю): вверх вниз влево
вправо Также в систему команд исполнителя входят команды, проверяющие
истинность условия отсутствия стены у каждой из сторон той клетки, где
находится РОБОТ (также по отношению к наблюдателю):
сверху свободно | снизу свободно | слева свободно | справа свободно |
Цикл
ПОКА <условие>
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ <условие>
ТО команда 1
ИНАЧЕ команда 2
КОНЕЦ ЕСЛИ
выполняется команда 1 (если условие истинно) или команда 2 (если условие
ложно).
Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то он
разрушится, и программа прервётся.
Сколько клеток лабиринта соответствуют требованию, что, начав движение в
ней и выполнив предложенную программу, РОБОТ уцелеет и остановится в
закрашенной клетке (клетка )?
НАЧАЛО
ПОКА <справа свободно ИЛИ снизу свободно>
ПОКА <снизу свободно>
вниз
КОНЕЦ ПОКА
ПОКА <справа свободно>
вправо
КОНЕЦ ПОКА
КОНЕЦ ПОКА
КОНЕЦ