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

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

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

Условие

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

Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости, состоит из 8 команд. Четыре команды — это команды-приказы: вверх | вниз | влево | вправо | При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно (по отношению к наблюдателю): вверх ↑, вниз ↓, влево ←, вправо →. Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ (также по отношению к наблюдателю):сверху

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

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

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

Ответ

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

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

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

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

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

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

  1. Если это так, то РОБОТ переходит к первому…

  2. В этом цикле если у нижней стороны клетки, в…

  3. После этого возвращается к началу внешнего…

  4. Проверив все клетки по выведенному нами…

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

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

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