Что нужно сделать в задании 15 ОГЭ
В задании 15 ОГЭ по информатике нужно составить алгоритм для исполнителя Робот. На клетчатом поле есть стены и отмеченные для закраски клетки. Робот должен выполнить нужную работу и не столкнуться со стеной.
Разберём два типа из шпаргалки: две стены с проходами и лестницу. Все алгоритмы на странице записаны в Кумире через нц пока … кц, без команды ветвления. Длины участков заранее не считаем: используем признаки вокруг Робота.
Команды Робота и проверки стен
Робот находится в одной клетке. Команды вправо, влево, вверх, вниз перемещают его на одну соседнюю клетку. Команда закрасить меняет цвет текущей клетки и не двигает Робота.
| Запись | Что означает |
|---|---|
снизу стена | Под текущей клеткой проходит стена. |
снизу свободно | В соседнюю нижнюю клетку можно пройти. |
справа стена | Справа от текущей клетки есть стена. |
справа свободно | В соседнюю правую клетку можно пройти. |
Как работает нц пока
нц пока снизу стена
закрасить
вправо
кц- Сначала Робот проверяет: есть ли стена снизу.
- Если условие истинно, выполняет все команды внутри цикла по порядку.
- После
кцснова проверяет условие уже в новой клетке. - Если условие ложно, пропускает тело и выполняет команды после цикла.
Цикл может не выполниться ни разу: так бывает, если условие ложно уже при первой проверке.
Внутри цикла должно быть действие, которое меняет ситуацию. Если при снизу стена только красить одну клетку и никуда не двигаться, условие не изменится и цикл не завершится.
Почему проверка и движение иногда направлены по-разному
Стена снизу может служить ориентиром при движении вправо. Это допустимо для нужной формы поля, если горизонтальный путь свободен. Само условие «снизу стена» не доказывает, что справа нет препятствия: безопасность следует из схемы задачи.
Две стены с проходами: красим только рядом со стенами
В учебной схеме ниже старт находится прямо над первым участком горизонтальной стены. Проходы расположены внутри стен, а до их концов можно пройти по свободным клеткам.
Разделим маршрут на шесть циклов
| № | Условие | Команды внутри | Где остановимся |
|---|---|---|---|
| 1 | снизу стена | закрасить → вправо | В первой клетке горизонтального прохода. |
| 2 | снизу свободно | вправо | Над началом второго участка стены. |
| 3 | справа свободно | закрасить → вправо | У вертикальной стены. |
| 4 | справа стена | закрасить → вверх | В первой клетке прохода справа. |
| 5 | справа свободно | вверх | У верхнего участка вертикальной стены. |
| 6 | справа стена | закрасить → вверх | Выше конца вертикальной стены. |
Первый и третий циклы обрабатывают два горизонтальных участка. Четвёртый и шестой — два вертикальных. Второй и пятый проходят промежутки без команды закраски.
Третий цикл использует вертикальную стену как ориентир остановки. Поэтому ему подходит проверка «справа свободно»: в конце горизонтального пути именно справа появится стена.
Готовый алгоритм для Кумир
использовать Робот
алг
нач
нц пока снизу стена
закрасить
вправо
кц
нц пока снизу свободно
вправо
кц
нц пока справа свободно
закрасить
вправо
кц
нц пока справа стена
закрасить
вверх
кц
нц пока справа свободно
вверх
кц
нц пока справа стена
закрасить
вверх
кц
конСкачать алгоритм «Стены» · KUM
Почему угловая клетка не теряется
Третий цикл заканчивается, когда Робот встал слева от вертикальной стены. Команда закраски внутри третьего цикла в этой позиции ещё не выполняется. Но четвёртый цикл начинается с закрасить, поэтому нужная угловая клетка будет обработана.
Почему проходы остаются пустыми
Во втором и пятом циклах стоят только команды движения. Когда рядом начинается свободный промежуток, предыдущий цикл уже закончился, а следующий цикл окраски ещё не начался.
закрасить в этом месте испортит решение.Лестница: подъём, площадка и спуск
Часть 1. Поднимаемся вдоль ступенек
нц пока справа стена
закрасить
вверх
закрасить
вправо
кцВ начале очередной ступени справа есть вертикальная стенка. Красим текущую клетку, поднимаемся на одну клетку, снова красим и смещаемся вправо. После этого проверяем следующую ступень. На верхней площадке справа больше нет стенки, поэтому подъём заканчивается.
Часть 2. Проходим всю верхнюю площадку
нц пока снизу стена
закрасить
вправо
кцНа площадке снизу есть горизонтальная стенка. Красим клетку и идём вправо, пока она продолжается. Цикл заканчивается в первой клетке справа от площадки, где можно двигаться вниз.
вправо используем цикл. Он пройдёт и площадку из двух клеток, и площадку другой длины, если форма лестницы соответствует разобранному типу.Часть 3. Спускаемся
нц пока снизу свободно
закрасить
вниз
закрасить
вправо
кцПока снизу свободно, красим клетку над очередным спуском, опускаемся, красим нижнюю клетку и двигаемся вправо. В конце лестницы снизу появляется горизонтальная стенка: цикл завершается.
В показанной учебной схеме последняя команда вправо переносит Робота на клетку за лестницей. Она не отмечена для окраски, поэтому после цикла отдельную закраску не добавляем.
Полный алгоритм
использовать Робот
алг
нач
нц пока справа стена
закрасить
вверх
закрасить
вправо
кц
нц пока снизу стена
закрасить
вправо
кц
нц пока снизу свободно
закрасить
вниз
закрасить
вправо
кц
конСкачать алгоритм «Лестница» · KUM
В этой записи три цикла соответствуют трём частям пути: подъёму, всей площадке и спуску. Количество повторений определяется стенами, а не заранее известным числом ступеней.
Пошаговое движение Робота
Выбери учебное поле. «Шаг» показывает следующую проверку или команду, «До конца» — итог выполнения. Для каждого поля используется алгоритм его типа, приведённый выше.
Старт. Светлые клетки с точкой нужно закрасить.
Шаг 0 · закрашено 0 из 14
Сравни два поля со стенами и две лестницы. Длины меняются, а структура алгоритма сохраняется. Это и есть цель циклов: использовать признак на поле вместо ручного подсчёта клеток.
Шесть упражнений с проверкой
Ответ можно исправить после ошибки. Эти вопросы помогают проверить логику циклов; готовую программу также проверь в Кумире на подходящем поле.
Решено: 0 из 6
1. Где закончится цикл
В ряду есть три соседние клетки со стеной снизу, затем начинается проход. Робот стоит в первой из этих трёх клеток. Он выполняет «пока снизу стена: закрасить, вправо». Сколько клеток он закрасит?
2. Проверка до первого действия
Перед циклом «нц пока снизу стена» под Роботом уже свободно. Сколько раз выполнится тело цикла?
3. Проходим промежуток
Какую команду не нужно добавлять в цикл прохода, если клетки промежутка должны остаться пустыми? Напиши команду одним словом.
4. Части первого алгоритма
Сколько циклов содержит разобранный алгоритм для двух стен с одним проходом в каждой?
5. Верхняя площадка
Какое условие использует цикл прохождения верхней площадки в полном алгоритме лестницы? Напиши два слова.
6. Шаг спуска
В цикле спуска после первой команды «закрасить» идёт вертикальное движение. Какая это команда?
Как проверить программу в Кумире
- Подключи исполнителя строкой
использовать Робот. - Проверь пары
нц … кц, а также началоначи конецкон. - Загрузи нужное поле и верни Робота в исходную позицию.
- Выполни программу по шагам: отдельно посмотри начало, каждый проход, угол, площадку и последнюю ступень.
- Убедись, что закрашены все нужные клетки и нет лишних.
- Проверь завершение и отсутствие столкновений на нескольких полях того же допустимого типа.
- Сохрани программу с именем и в папке, указанными в условии задания.
Если Робот красит лишнее или не доходит
| Что произошло | Что проверить |
|---|---|
| Закрашен проход | Нет ли лишней команды закраски в цикле прохода или сразу после окончания участка стены? |
| Угловая клетка пропущена | Какой цикл первым красит её после поворота? |
| Робот бесконечно стоит на месте | Есть ли внутри цикла движение, которое меняет проверяемый признак? |
| Робот врезался | Подходит ли текущему участку поля направление движения, даже если проверка стены истинна? |
| Лестница пройдена не полностью | Обработаны ли подъём, вся площадка и спуск отдельными циклами? |
| На другом поле всё сломалось | Не заменены ли неизвестные длины фиксированным числом шагов? Совпадает ли допустимый тип поля? |
Видео по заданию №15
После самостоятельного решения сравни ход решения с видеоразбором.
Закрепи алгоритмы для Робота
Повтори теорию и видео в учебнике и материалах, затем переходи к практике по нужному номеру. В кабинете можно продолжить подготовку к ОГЭ.
Создать аккаунтЧто ещё важно о задании 15
Можно ли решить эти два типа без ветвления?
Да. В разобранных схемах этапы идут в известном порядке, поэтому достаточно последовательности циклов с подходящими условиями.
Что означает «нц пока»?
Начало цикла с условием, которое проверяется перед каждой итерацией. Если условие истинно, команды внутри выполняются; если ложно — Робот переходит за кц.
Нужно ли заранее знать длину стены?
В этих алгоритмах — нет. Цикл заканчивается, когда меняется признак рядом с Роботом. Но форма поля и старт должны соответствовать разобранному типу.
Почему в лестнице отдельно обрабатывается площадка?
На подъёме ориентиром служит стена справа, на площадке — стена снизу, а на спуске — свободная клетка снизу. Это три разных участка с разными повторяемыми действиями.
Что сдавать в качестве результата?
Сохранённую программу в формате, с именем и в папке, которые указаны в задании. Проверь, что после сохранения открывается нужный код.
Подойдёт ли этот код для любого поля с Роботом?
Нет. Он рассчитан на описанные схемы. Для другой конфигурации стен или другого старта нужно заново определить маршрут и условия остановки.