Разбор задания №15 ОГЭ по информатике: Исполнитель «Робот» в среде «КуМир» на максимальные 2 балла
Задание №15 в ОГЭ по информатике проверяет умение разрабатывать алгоритмы для формального исполнителя на примере «Робота» в среде «КуМир».
В актуальной структуре экзамена выбора между Роботом и языком программирования в задании №15 больше нет: написание алгоритма для Робота является обязательным для всех выпускников (а задачи на программирование на универсальном языке теперь вынесены в отдельное задание №16).
Задание №15 относится к практической части экзамена с развёрнутым ответом. Выполненный алгоритм сохраняется в файл с расширением .kum и оценивается экспертами предметной комиссии в 2 первичных балла.
1. За что эксперты ставят баллы: критерии ФИПИ
Решение проверяется на наборе скрытых тестов в среде «КуМир» с различной конфигурацией стен:
| Баллы | Критерии оценивания решения |
| 2 балла | Алгоритм полностью верен и работает при любых допустимых размерах поля, длине стен и проходов. Робот не разбивается о стены, закрашивает ровно требуемые клетки и останавливается в допустимой позиции. |
| 1 балл | Алгоритм в целом правильный (Робот не разбился), но допущена погрешность: не закрашены 1–2 обязательные клетки, либо закрашены 1–2 лишние клетки. |
| 0 баллов | Робот разбился о стену, использованы жесткие команды без циклов (вправо; вправо...), закрашено не то поле или алгоритм не завершает работу (зацикливается). |
2. Командный арсенал Робота в КуМире
В начале программы обязательно подключается исполнитель: строчка использовать Робот должна стоять над служебным словом алг.
Команды движения и действия:
вверх,вниз,влево,вправо— перемещают Робота на одну соседнюю клетку.закрасить— закрашивает текущую клетку, в которой находится Робот (повторный вызов команды на уже закрашенной клетке не приводит к ошибке).
Логические проверки условий:
Робот видит только 4 клетки, непосредственно примыкающие к нему с севера, юга, запада и востока:
сверху свободно/сверху стенаснизу свободно/снизу стенаслева свободно/слева стенасправа свободно/справа стена
Конструкции управления:
- Сложные условия (связки):
и(одновременное выполнение):нц пока снизу стена и справа свободноили(хотя бы одно):нц пока снизу стена или слева стенане(отрицание):нц пока не снизу свободно
Ветвление (если):
если <условие> то
команда_1
иначе
команда_2
все
Цикл с предусловием (пока):
нц пока <условие>
команда_1
команда_2
кц
3. Золотые правила составления алгоритма
- Закон неизвестной длины:
Длина стен, глубина коридоров и ширина проходов в условии всегда неизвестны (стена может быть длиной 2 клетки, а может 25 клеток). Любое движение вдоль стены строится строго через циклынц пока ... кц.Использовать циклы с фиксированным числом повторений (нц 4 раз) или ручной перебор шагов категорически запрещено! - Обход углов стены:
Когда стена поворачивает под прямым углом, цикл завершается. Переход за угол делается одиночными шагами движения без закраски: например,вправо, затемвниз.
Шаблон «закрасил — шагнул»:
Классическая ошибка — шагнуть в клетку за пределами стены и закрасить её. Чтобы закрашивать строго клетки вдоль стены, держите связку:
нц пока снизу стена
закрасить
вправо
кц
В таком цикле Робот закрасит текущую клетку, пока чувствует стену, шагнет вправо, и как только стена кончится — выйдет из цикла, не закрашивая лишнюю клетку снаружи.
4. Разбор типового задания из банка ФИПИ
Условие:
На бесконечном поле имеется Г-образная стена, состоящая из горизонтального и вертикального отрезков неизвестной длины. Отрезки соединены между собой.
Робот находится в клетке, расположенной непосредственно под левым краем горизонтальной стены.
Составьте алгоритм для Робота, который закрасит все клетки, расположенные выше горизонтальной стены и прилегающие к ней, а также клетки, расположенные слева от вертикальной стены и прилегающие к ней.
Конечное положение Робота может быть произвольным.

Пошаговый план решения:
- Выход на позицию закрашивания горизонтальной стены:
Робот стоит под стеной. Чтобы красить над стеной, нужно сместиться влево до конца стены, подняться на две клетки вверх и встать над стеной. - Закрашивание горизонтального ряда:
Двигаемся вправо, закрашивая клетки, пока снизу чувствуется стена. - Обход внешнего угла:
Когда стена уходит вниз, Робот должен зайти во внутренний угол: сделать шаги влево и вниз. - Закрашивание вертикального ряда:
Двигаемся вниз, закрашивая клетки, пока справа находится вертикальная стена.
Итоговый текст программы в «КуМир»:
использовать Робот
алг
нач
| 1. Идем влево до открытого пространства (края стены)
нц пока сверху стена
влево
кц
| 2. Поднимаемся над стеной и встаем на первую клетку для закраски
вверх
вверх
вправо
| 3. Красим клетки сверху стены, пока снизу идет стена
нц пока снизу стена
закрасить
вправо
кц
| 4. Теперь Робот прошел всю горизонтальную стену и висит в воздухе справа.
| Переходим во внутренний угол (слева от вертикальной стены)
влево
вниз
вниз
| 5. Красим вертикальный ряд вдоль стены сверху вниз
нц пока справа стена
закрасить
вниз
кц
кон
5. Как проверить программу в среде «КуМир» на 100%
Чтобы не потерять баллы из-за скрытых тестов экспертов, перед сдачей выполните обязательную самопроверку:
- Запустите алгоритм кнопкой F9:
Убедитесь, что Робот закрасил все клетки по образцу и не оставил красных меток аварии. - Проверка на устойчивость (тест другой длины):
- В верхнем меню КуМира нажмите: Робот → Редактировать обстановку.
- Увеличьте горизонтальную стену на 3–4 клетки, а вертикальную сделайте короче.
- Переместите Робота на новое стартовое положение под левым краем.
- Снова нажмите Робот → Редактировать обстановку (для сохранения изменений).
- Запустите свой алгоритм заново.
- Если алгоритм написан правильно через условия
пока, он выполнит задачу на новой стене без единого изменения в коде!
- В верхнем меню КуМира нажмите: Робот → Редактировать обстановку.
6. Типичные ловушки и частые ошибки
- Лишняя закрашенная клетка на углу:
Если не прервать цикл вовремя, Робот выскочит за пределы стены и закрасит пустую клетку поля. Это сразу лишает одного первичного балла. - Неверный формат сохранения:
Программу необходимо сохранять через меню Программа → Сохранить как... в файл с расширением.kum(по инструкции организаторов в аудитории). Простой снимок экрана или текстовый файл не проверяется.
Разбивание Робота на последней итерации:
Если в цикле первой командой стоит движение, а затем закраска:
нц пока справа свободно
вправо
закрасить
кц
На последнем шаге перед стеной условие справа свободно было истинным. Робот делает шаг вправо и с размаху врезается в стену.
Правило: сначала проверяйте стену и закрашивайте, а шаг делайте в сторону свободного пространства.
Памятка для ученика
┌─────────────────────────────────────────────────────────────┐
│ ЧЕК-ЛИСТ ДЛЯ ЗАДАНИЯ №15 ОГЭ │
├─────────────────────────────────────────────────────────────┤
│ 1. В первой строке программы подключено: использовать Робот.│
│ 2. Нет ни одного фиксированного счетчика («раз») — │
│ все перемещения вдоль стен только через «нц пока ... кц».│
│ 3. В циклах закраски соблюден порядок: закрасить, затем шаг.│
│ 4. Робот ни при каких условиях не касается стен(не разбился)│
│ 5. Проверены крайние клетки: нет пропусков и лишних закрасок│
│ 6. Проведен стресс-тест в КуМире с измененной длиной стен. │
│ 7. Файл сохранен с расширением .kum в рабочую папку экзамена│
└─────────────────────────────────────────────────────────────┘