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

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

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

Условие

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

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

вверх | вниз | влево | вправо | При выполнении этих команд РОБОТ перемещается на одну клетку соответственно: вверх, вниз, влево, вправо.

Четыре команды проверяют истинность условия отсутствия стены у той клетки, где находится РОБОТ:сверху

свободноснизу
свободнослева
свободносправа
свободно

Цикл ПОКА <условие> командавыполняется, пока условие истинно, иначе происходит переход на следующую строку.

Сколько клеток лабиринта соответствуют требованию, что, выполнив предложенную программу, РОБОТ остановится в той же клетке, с которой он начал движение? НАЧАЛО ПОКА <сверху свободно> вправо ПОКА <справа свободно> вниз ПОКА <снизу свободно> влевоПОКА <слева свободно> вверхКОНЕЦ

Ответ

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

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

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

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

    Решение. [рисунок] Выясним, что необходимо, чтобы РОБОТ остановился в той же клетке, с которой он начал движение. Так как программа заканчивается командой "ПОКА <слева свободно> вверх", следовательно, для того, чтобы робот остановился в той же клетке, с которой он начал движение, необходимо, чтобы у этой клетки была стенка слева. Этому условию удовлетворяют все клетки левой стенки лабиринта и еще пять клеток кроме нее.

    Проверим каждую клетку, удовлетворяющую условию

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

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

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

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

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