СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
≡ информатика
сайты - меню - вход - новости




Задания
Версия для печати и копирования в MS Word
Задание 14 № 4584

Исполнитель РОБОТ умеет перемещаться по прямоугольному лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними по сторонам клетками может стоять стена.

Система команд исполнителя РОБОТ содержит восемь команд. Четыре команды - это команды перемещения:

вверх

вниз

влево

вправо


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

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

сверху свободно

снизу свободно

слева свободно

справа свободно


Цикл

ПОКА <условие>

последовательность команд

КОНЕЦ ПОКА

выполняется, пока условие истинно.

В конструкциях ПОКА условие может содержать команды проверки, а также слова И, ИЛИ, НЕ.

Схема лабиринта:

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

НАЧАЛО

     ПОКА <снизу свободно ИЛИ справа свободно>

          ПОКА <снизу свободно>

               вниз

          КОНЕЦ ПОКА

          вправо

     КОНЕЦ ПОКА

КОНЕЦ

Решение.

При данной программе РОБОТ поступает следующим образом: сперва РОБОТ проверяет свободна ли клетка справа или снизу от него, если это так, то РОБОТ переходит к первому действию внутри цикла. В этом цикле пока снизу клетки в которой находится РОБОТ нет стены он продолжает двигаться вниз. Как только это условие перестанет выполняться он переходит ко второму действию цикла. Второе действие, заключается в следующем: РОБОТ передвигается на одну клетку вправо. После чего возвращается к началу внешнего цикла. У робота есть возможность разбиться: например, стартовав из любой клетки столбца F робот разобьётся.

Проверив все клетки по выведенному нами правилу движения РОБОТА выясняем, что число клеток, удовлетворяющих условию задачи, равно 12.

Спрятать решение · ·
Vlad Vlad 23.05.2016 12:58

почему диапазон F3:F5 не подходит???

Сергей Никифоров

Заметьте, что начав движение из столбца F, робот разобьётся.