Исполнитель РОБОТ умеет перемещаться по прямоугольному лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними по сторонам клетками может стоять стена. Система команд исполнителя РОБОТ содержит восемь команд. Четыре команды – это команды-приказы
| вверх | вниз | влево | вправо |
При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.
Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ:
| сверху свободно | снизу свободно | слева свободно | справа свободно |
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
В конструкциях ПОКА и ЕСЛИ условие может содержать команды проверки, а также слова И, ИЛИ, НЕ, обозначающие логические операции. Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то он разрушится и программа прервётся. Сколько клеток лабиринта соответствуют требованию, что, начав движение в этой клетке и выполнив предложенную программу, РОБОТ уцелеет и остановится в закрашенной клетке (клетка F6)?
НАЧАЛО
ПОКА снизу свободно ИЛИ справа свободно
ЕСЛИ справа свободно
ТО вправо
ИНАЧЕ вниз
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
По данному алгоритму робот пока может идет вправо, далее, если вправо пойти нельзя он спускается на 1 клетку вниз и продолжает попытки пойти вправо. На рисунке зеленым и серым цветом показаны клетки, из которых можно начинать путь, чтобы прийти в F6. Таких клеток 24.
Ответ: 24.
Примечание.
Заметим, что если исходно РОБОТ располагается в клетке F6, то условие цикла не будет выполнено, и РОБОТ завершит выполнение программы, следовательно, он останется в клетке F6, что удовлетворяет условию задачи.

