Исполнитель Робот

Исполнитель РОБОТ является «старейшим» исполнителем, алгоритм для которого предлагается выполнить выпускникам в задаче №14 экзаменационной работы по информатике и ИКТ.

Рассмотрим отдельные элементы содержания задания, необходимые для понимания работы алгоритма.

Исполнитель РОБОТ перемещается по прямоугольному лабиринту, начерченному на плоскости, разбитой на клетки. Система команд исполнителя РОБОТ содержит восемь команд:

  • команды-приказы: вверх, вниз, влево, вправо. При выполнении любой из этих команд РОБОТ перемещается на одну клетку в зависимости от команды.
  • четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ: сверху свободно, снизу свободно, слева свободно, справа свободно.

Задача №14. Сколько клеток лабиринта (смотри Рис.1) соответствуют требованию, что, начав движение в этой клетке и выполнив предложенную программу, РОБОТ уцелеет и остановится в той же клетке, с которой он начал движение?

  • НАЧАЛО
  •  ПОКА <справа свободно> вверх
  •  ПОКА <сверху свободно> влево
  •  ПОКА <слева свободно> вниз
  •  ПОКА <снизу свободно> вправо
  • КОНЕЦ

Решение.

Для возвращения робота в исходную клетку необходимо, чтобы его траектория представляла собой прямоугольник, или отрезок – горизонтальный либо вертикальный. Рассмотрим возможные случаи и выясним необходимые условия для возвращения робота в исходную клетку.

Первый случай. Прямоугольная траектория:

  • Очевидно, четыре стенки должны ограничивать движение робота в следующем порядке: сначала справа, затем сверху, потом слева и наконец снизу (смотри Рис. 2)

Второй случай. Линейная траектория:

  • (а) горизонтальная линия: робот должен двигаться сначала налево, а затем направо. Анализ программы показывает, что в этом случае не должны выполняться две инструкции - «ПОКА <справа свободно> вверх» и «ПОКА <слева свободно> вниз». Значит, клетчатая плоскость должна содержать соответствующие ограничения справа и слева (смотри Рис. 3)
  • (б) вертикальная линия: робот должен двигаться сначала вниз, потом вверх. Аналогично предыдущим рассуждениям, имеем: не должны выполняться две инструкции - «ПОКА <сверху свободно> влево» и «ПОКА <снизу свободно> вправо. Поэтому, на клетчатой плоскости должны быть соответствующие ограничения сверху и снизу (смотри Рис. 4)

Поле робота

Нетрудно заметить, что во всех перечисленных случаях искомая клетка имеет ограничение снизу. Отметим такие клетки-кандидаты (смотри Рис.5).

Дальнейший анализ лабиринта, в котором движется робот, показывает, что первому случаю удовлетворяет клетка С4, второму случаю (а) – клетки E2, B2 и, наконец, второму случаю (б) отвечает клетка D5 (смотри Рис. 6).

Ответ. 4

Смотрите также варианты задачи №14 ЕГЭ по информатике и ИКТ, с другими исполнителями: