Задание 14. Система команд исполнителя РОБОТ, «живущего» в прямоугольном
лабиринте на клетчатой плоскости: вверх,
вниз, влево, вправо.
При выполнении любой из этих команд РОБОТ перемещается на
одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Четыре команды
проверяют истинность условия отсутствия стены у каждой стороны той клетки, где
находится РОБОТ:
сверху свободно, снизу свободно, слева
свободно, справа свободно
Цикл
ПОКА < условие >
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно. В
конструкции
ЕСЛИ < условие >
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие
ложно).
Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то
он разрушится и программа прервётся.
Сколько клеток лабиринта соответствуют требованию,
что, выполнив предложенную программу, РОБОТ уцелеет и окажется в закрашенной
клетке (клетка А1)?
НАЧАЛО
ПОКА слева свободно ИЛИ сверху свободно
ЕСЛИ сверху свободно
ТО вверх
ИНАЧЕ влево
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Решение
1. Робот продвигается по лабиринту вверх
и влево. При одновременном выполнении условий слева свободно и сверху свободно Робот перемещается вверх, встретив препятствие в
виде стены сверху, продолжает движение влево.
2. Робот останавливается, попав в угол, ограниченный стенами слева и
сверху. Таких угла три: А1, В2 и А4. Начав движение из любой клетки лабиринта,
Робот остановится в одном их трёх углов.
Так, начав движение из клетки D6, Робот
попадает в клетку D4,
далее С4, переходит в С2 и останавливается в клетке В2.
2. Если определим, из каких клеток Робот
попадает в «зеленый» или «голубой» угол, то можно будет посчитать и клетки,
которые приводят в «серый» угол.
3.
Начиная движение в клетках А4, В4, А5, В5, А6 и В6, Робот приходит в угол А4 (голубой) – 6 клеток.
4. Стартуя из клеток В2, С2, В3 и С3
Робот попадает в угол В2 (зеленый). Начало пути из клеток С4, D4, С5, D5, С6 и D6 так же приводит в угол В2 – 10 клеток.
5. На поле 36 клеток, 6 + 10 = 16 клеток приводят не в «серый» угол,
значит 36 – 16 = 20 клеток приведут Робота в клетку А1.
Ответ: 20