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


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

Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости, состоит из 8 команд. Четыре команды - это команды-приказы:

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

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

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

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

Цикл

 

ПОКА условие

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

КОНЕЦ ПОКА

 

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

 

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

 

ЕСЛИ условие

ТО команда1

ИНАЧЕ команда2

КОНЕЦ ЕСЛИ

 

выполняется команда1 (если условие истинно) или команда2 (если условие ложно).

 

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

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

 

НАЧАЛО

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

ЕСЛИ снизу свободно

ТО

вниз

КОНЕЦ ЕСЛИ

ЕСЛИ справа свободно

ТО

вправо

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Решение.

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

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

Видно, что существует всего 2 места, в которых робот может остановиться: нужная нам 6F и 3F. Робот может прийти в клетку 3F только если он находится в области 1B:3F и клетках 1A и 2A, количество клеток в этой области равно 17. Общее количество клеток лабиринта равна 36, следовательно, 36 − 17 = 19.

Спрятать решение · · Видеокурс ·
Ксения Михайлова 18.12.2013 08:19

Здравствуйте.

Мне кажется, что робот может попасть в клетку F6 из клеток A1-A6 и B4-F6. В таком случае в сумме их 21.

Петр Мурзин

Здравствуйте.

Из клеток А1 и А2 он попадёт в клетку F3. Для клетки А1: снизу свободно, Робот делает один шаг вниз, далее проверяет свободно ли справа. Поскольку в клетке А2 справа свободно, Робот выполняет команду вправо и оказывается в клетке В2. Далее цикл повторяется. На рисунке приведена траектория движения робота после выполнения цикла первый раз. Аналогично для клетки А2.