Присоединиться

11 класс·высокий уровень

Сколько клеток лабиринта соответствуют требованию, что, выполнив

Условие

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

При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево←, вправо →.Четыре условия позволяют проверить отсутствие преград у каждой из сторон той клетки, где находится РОБОТ: сверху свободно, снизу свободно, слева свободно, справа свободно. В циклеПОКА <условие> командакоманда выполняется, пока условие истинно, иначе происходит переход на следующую строку программы.

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

Рисунок к задаче

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

Ответ

Ответ и полный разбор откроются после входа

Посмотреть ответ

Решение по шагам

  1. Как рассуждать

    Решение. [рисунок] Выясним, что необходимо, чтобы РОБОТ остановился в той же клетке, с которой он начал движение.

Осталось ещё 6 шагов

  1. Так как программа заканчивается командой…

  2. Этому условию удовлетворяют все клетки правой…

  3. Все клетки правой стенки, кроме одной, не…

  4. Обратим внимание, что возможны зацикливания…

  5. Будем нумеровать клетки цифрами сверху вниз…

  6. Удовлетворяющими условию задачи будут клетки…

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Выполнение алгоритмов для исполнителей»

Сколько клеток лабиринта соответствуют требованию, что, выполнив — решение с объяснением | Lom Ai