Вопрос:

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

Смотреть решения всех заданий с листа

Ответ:

Для решения данной задачи необходимо проанализировать алгоритм и лабиринт, чтобы определить, сколько клеток позволят РОБОТу вернуться в исходную позицию.

Алгоритм состоит из циклов, которые выполняются, пока слева, снизу, справа или сверху от РОБОТа свободно, соответственно. Если условие не выполняется, РОБОТ переходит к следующему циклу.

Рассмотрим лабиринт:

1. Клетка (1,1):

  • ПОКА <слева свободно> вниз - слева стена, цикл не выполняется.
  • ПОКА <снизу свободно> вправо - снизу стена, цикл не выполняется.
  • ПОКА <справа свободно> вверх - справа свободно, РОБОТ идёт вверх.
  • ПОКА <сверху свободно> влево - сверху стена, цикл не выполняется.

Результат: не возвращается в исходную позицию.

2. Клетка (1,2):

  • ПОКА <слева свободно> вниз - слева стена, цикл не выполняется.
  • ПОКА <снизу свободно> вправо - снизу свободно, РОБОТ идёт вправо.
  • ПОКА <справа свободно> вверх - справа стена, цикл не выполняется.

Результат: не возвращается в исходную позицию.

3. Клетка (2,2):

  • ПОКА <слева свободно> вниз - слева свободно, РОБОТ идёт вниз.
  • ПОКА <снизу свободно> вправо - снизу стена, цикл не выполняется.

Результат: не возвращается в исходную позицию.

4. Клетка (3,3):

  • ПОКА <слева свободно> вниз - слева стена, цикл не выполняется.
  • ПОКА <снизу свободно> вправо - снизу свободно, РОБОТ идёт вправо.
  • ПОКА <справа свободно> вверх - справа стена, цикл не выполняется.

Результат: не возвращается в исходную позицию.

И так далее.

Анализируя лабиринт, можно определить, что начав с клетки (2,1), РОБОТ успешно вернется в исходную точку.

Итак, если Робот начинает движение в клетке, которая имеет свободное пространство слева, снизу, справа и сверху, он гарантированно возвращается в исходную точку. В данном лабиринте только 1 клетка отвечает этому условию.

Ответ: 1

ГДЗ по фото 📸
Подать жалобу Правообладателю