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