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


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

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

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

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

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

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

Цикл

ПОКА <условие>команда

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

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

 

НАЧАЛО

ПОКА < сверху свободно > влево

ПОКА <слева свободно> вверх

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

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

КОНЕЦ

Решение.

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

Проверим каждую оставшуюся клетку. Обратим внимание, что возможны зацикливания, например, если начать движение из клетки А5, В2, В6, Г1 если нумеровать цифрами сверху вниз, а буквами слева направо.

 

Ответ: три клетки А1, Г3, Д2.