Задание 15 ОГЭ по информатике · 3B94E2

ВысокаяКЭС 3.1
Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.
У Робота есть девять команд. Четыре команды – это команды-приказы:
вверх вниз влево вправо
При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.
Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.
Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:
сверху свободно снизу свободно слева свободно справа свободно
Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:
если условие то
последовательность команд
все
Здесь условие – одна из команд проверки условия.
Последовательность команд – это одна или несколько любых команд-приказов.
Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:
если справа свободно то
вправо
закрасить
все
В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:
если (справа свободно) и (не снизу свободно) то
вправо
все
Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:
нц пока условие
последовательность команд
кц
Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:
нц пока справа свободно
вправо
кц
Выполните задание.
На бесконечном поле имеются две одинаковые вертикальные параллельные стены, расположенные на одинаковой высоте и отстоящие друг от друга более чем на 1 клетку. Длины стен неизвестны. Робот находится в одной из клеток, расположенных непосредственно справа от правой стены.
На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).
Напишите для Робота алгоритм, закрашивающий все клетки, примыкающие к вертикальным стенам справа. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).
Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.
Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе.
Сохраните алгоритм в формате программы Кумир или в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.
Рисунок к заданию 15
Рисунок 2 к заданию 15
Показать ответ
нц пока (слева свободно) или (сверху свободно и не слева свободно); вверх; кц; нц пока (не слева свободно); закрасить; если снизу свободно то; вниз; все; кц; вверх; нц пока слева свободно; влево; кц; нц пока справа свободно; вниз; кц; нц пока не справа свободно; вниз; кц; вправо; нц пока слева свободно; вверх; кц; нц пока не слева свободно; закрасить; если сверху свободно то; вверх; все; кц
Подсказки (3)
  1. Сначала обработайте правую стену, рядом с которой находится Робот. Как определить её верхний и нижний концы?
  2. Чтобы двигаться вдоль правой стороны стены, проверяйте одновременно, что слева находится стена. После обработки первой стены нужно обойти стены сверху или снизу.
  3. Для второй стены удобно перейти выше обеих стен, спуститься по её левой стороне ниже стены, обойти нижний конец и затем подняться по правой стороне, закрашивая клетки.
Решение
1. Робот уже находится справа от правой стены. Сначала он поднимается до клетки выше верхнего конца стены, двигаясь вверх только тогда, когда слева находится стена.

2. Затем Робот закрашивает правую сторону правой стены сверху вниз, пока слева сохраняется стена.

3. После этого Робот поднимается выше стены, проходит влево до области над левой стеной, спускается по её левой стороне ниже стены и обходит нижний конец.

4. Наконец Робот поднимается по правой стороне левой стены и закрашивает все примыкающие к ней клетки.
Частые ошибки
  • Попытка пройти сквозь стену без проверки соответствующего направления.
  • Закрашивание клеток на левой стороне стены или клеток, не примыкающих к стене.
  • Отсутствие обхода стены при переходе от правой стены к левой.
  • Использование цикла без условия, гарантирующего завершение алгоритма.

Источник: Открытый банк ФИПИ

Похожие задания

15Четыре команды – это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот…Задания открытого банка ФИПИ · 322ECA15Четыре команды – это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот…Задания открытого банка ФИПИ · 35CF4815Четыре команды – это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот…Задания открытого банка ФИПИ · 372C9F15Четыре команды – это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот…Задания открытого банка ФИПИ · 39023915Четыре команды – это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот…Задания открытого банка ФИПИ · 3D09E315Четыре команды – это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот…Задания открытого банка ФИПИ · 3E1AB615Четыре команды – это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот…Задания открытого банка ФИПИ · 3E415315Четыре команды – это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот…Задания открытого банка ФИПИ · 419CC9

Нужен репетитор по информатике?

Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.

Репетиторы по информатике

Подбор репетитора

Напишите, что нужно, — команда Precettore подберёт репетитора и свяжется с вами.

Готовьтесь к ОГЭ по информатике в Precettore

Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.