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

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

2. Когда Робот оказывается в нижней клетке, она ещё не закрашена, поэтому её нужно закрасить отдельно.

3. Затем Робот возвращается в исходную верхнюю клетку: пока сверху свободно, он перемещается вверх.

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

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

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

15Четыре команды – это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот…Задания открытого банка ФИПИ · 0A558F15Четыре команды – это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот…Задания открытого банка ФИПИ · 162D1C15Четыре команды – это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот…Задания открытого банка ФИПИ · 1CC01015Четыре команды – это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот…Задания открытого банка ФИПИ · 242DE715Четыре команды – это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот…Задания открытого банка ФИПИ · 35CF4815Четыре команды – это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот…Задания открытого банка ФИПИ · 372C9F15Четыре команды – это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот…Задания открытого банка ФИПИ · 39023915Четыре команды – это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот…Задания открытого банка ФИПИ · 3B94E2

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

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

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

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

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

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

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