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




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

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

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

вверх вниз влево вправо

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

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

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

Цикл

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

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

КОНЕЦ ПОКА

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

 

В конструкции

ЕСЛИ <условие>

ТО команда

КОНЕЦ ЕСЛИ

выполняется команда только, если условие истинно. В противном случае ничего не происходит.

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

 

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

 

НАЧАЛО

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

ПОКА <справа свободно>

вправо

КОНЕЦ ПОКА

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

вниз

КОНЕЦ ПОКА

КОНЕЦ ПОКА

КОНЕЦ

Решение.

Один из главных приёмов в решении этой задачи — проверять клетки группами а не по одной.

 

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

 

Проанализировав эту программы приходим к выводу, что РОБОТ будет двигаться вправо или вниз, пока у него есть такая возможность. РОБОТ при данной программе никогда не разобьётся.

 

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

Источник: Яндекс: Тренировочная работа ЕГЭ по информатике. Ва­ри­ант 2.