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

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

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

Условие

Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости, состоит из 8 команд. Четыре команды - это команды-приказы:вверхвнизвлевовправо
При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑\uparrow , вниз ↓\downarrow , влево ←\leftarrow , вправо →\mathrm{ \to } .Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ:сверху свободноснизу свободнослева свободносправа свободно

Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно). В конструкциях ПОКА и ЕСЛИ условие может содержать команды проверки, а также слова И, ИЛИ, НЕ, обозначающие логические операции. Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то он разрушится и программа прервётся.

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

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

НАЧАЛО ПОКА снизу свободно ИЛИ справа свободно ЕСЛИ снизу свободно ТО вниз КОНЕЦ ЕСЛИ ЕСЛИ справа свободно ТО вправо КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ

Ответ

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

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

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

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

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

    Проанализировав эту программы приходим к выводу, что РОБОТ будет двигаться вправо или вниз, пока у него есть такая возможность. РОБОТ при данной программе никогда не разобьётся. Видно, что существует всего 2 места, в которых робот может остановиться: нужная нам 6F и 3F. Робот может прийти в клетку 3F только если он находится в области 1B:3F и клетках 1A и 2A, количество клеток в этой области равно

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

  1. Общее количество клеток лабиринта равна…

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

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

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

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