ОГЭ 2027 · Информатика
Задание 15 ОГЭ по информатике
Что проверяет линия, сколько она стоит, на чём теряют баллы и как решать — по нашим конспектам. В банке 50 заданий этой линии с разбором.
Аналитика ОГЭ: №15 (алгоритм для исполнителя «Робот») и №16 (программа на универсальном языке программирования)
- Баллы
- по 2 балла за задание, вместе 4 из 21 (часть 2, по критериям)
- Частота
- в каждом варианте
Частые ловушки
- Программа зацикливается или не обрабатывает граничные случаи
- Ошибки в условии цикла или в отступах (в Python отступы задают блок)
- В №15 Робот врезается в стену — не проверяют «свободно ли справа/снизу»
Совет. Продумай алгоритм словами, потом код; проверь программу на нескольких входных данных
Разборы
Разбор примера
Задание 15: закрасить ряд, длина которого неизвестна
Робот стоит в левой клетке горизонтального коридора, справа от последней клетки стена. Напишите алгоритм, закрашивающий все клетки коридора.
Показать решение по шагам
- 1. Длина неизвестна → нужен цикл с условием, а не фиксированное число команд. Решение «вправо; закрасить; вправо; закрасить…» критерий не засчитывает.
- 2. Алгоритм:
нц пока справа свободно/закрасить/вправо/кц/закрасить. - 3. Почему закраска в теле идёт до шага: тогда закрашивается клетка, в которой Робот стоит сейчас, включая стартовую. Если поменять команды местами, стартовая клетка останется пустой.
- 4. Почему нужна закраска после цикла: у последней клетки условие «справа свободно» ложно, цикл не выполнится, а клетка ещё не закрашена. Без заключительной команды ровно одна клетка останется белой при любой длине.
- 5. Проверка на крайнем случае: коридор из одной клетки — цикл не выполняется, работает только заключительная закраска. Верно.
Ответ: нц пока справа свободно / закрасить / вправо / кц / закрасить
Разбор примера
Разбор: закрасить строку до стены
Робот стоит в левой клетке горизонтального коридора шириной в одну клетку. Нужно закрасить все клетки коридора, включая начальную и конечную.
Показать решение по шагам
- 1. Сначала закрашиваем стартовую клетку: команда закрасить до цикла.
- 2. Затем цикл: нц пока справа свободно; вправо; закрасить; кц.
- 3. На каждом шаге Робот сначала переходит в новую клетку, потом её закрашивает — значит, каждая клетка справа будет закрашена.
- 4. Когда справа окажется стена, цикл закончится, и последняя клетка уже будет закрашена.
- 5. Если убрать закрасить перед циклом, останется незакрашенной первая клетка.
Ответ: закрасить; нц пока справа свободно; вправо; закрасить; кц
Разбор примера
Задание 15: закрасить столбец вниз до стены
Робот стоит в верхней клетке вертикального столбца, под последней клеткой стена, длина столбца неизвестна. Напишите алгоритм, закрашивающий все клетки столбца.
Показать решение по шагам
- 1. Длина неизвестна → цикл с условием. Направление движения — вниз, значит, условие продолжения снизу свободно.
- 2. Алгоритм:
нц пока снизу свободно/закрасить/вниз/кц/закрасить. - 3. Безопасность шага: команда
внизстоит после проверки «снизу свободно» — Робот не разрушится. - 4. Завершаемость: с каждым шагом Робот приближается к нижней стене, поэтому условие рано или поздно станет ложным.
- 5. Полнота закраски: в теле цикла закрашиваются все клетки, из которых можно шагнуть вниз; последняя закрашивается командой после цикла. Проверка на столбце из одной клетки: цикл не выполнится, сработает заключительная закраска — верно.
Ответ: нц пока снизу свободно / закрасить / вниз / кц / закрасить
Разбор примера
Задание 15: дойти до стены, не закрашивая, и закрасить только последнюю клетку
Робот стоит в левой клетке горизонтального ряда. Напишите алгоритм, который закрасит только крайнюю правую клетку ряда, не закрашивая остальные. Длина ряда неизвестна.
Показать решение по шагам
- 1. Сначала доходим до стены, ничего не закрашивая:
нц пока справа свободно/вправо/кц. - 2. После цикла Робот стоит в крайней правой клетке: шагнуть вправо уже нельзя, значит, дальше стена.
- 3. Теперь закрашиваем ровно её:
закрасить. - 4. Алгоритм целиком:
нц пока справа свободно/вправо/кц/закрасить. - 5. Чем этот случай важен: он показывает, что команда
закраситьставится там, где нужен результат, а не механически внутри цикла. Если оставить закраску в теле, закрасится весь ряд — это «закраска лишних клеток», то есть ноль баллов при нескольких лишних. - 6. Проверка на ряде из одной клетки: цикл не выполнится, закрасится стартовая клетка — она же и крайняя правая. Верно.
Ответ: нц пока справа свободно / вправо / кц / закрасить
Разбор примера
Задание 15: обойти комнату по двум сторонам
Робот стоит в левом верхнем углу прямоугольной комнаты без внутренних стен; размеры неизвестны. Напишите алгоритм, закрашивающий верхнюю строку и правый столбец комнаты.
Показать решение по шагам
- 1. Разбиваем на два цикла: сначала вправо по верхней строке, потом вниз по правому столбцу.
- 2. Первый цикл:
нц пока справа свободно/закрасить/вправо/кц. После него Робот в правом верхнем углу, и этот угол ещё не закрашен. - 3. Второй цикл:
нц пока снизу свободно/закрасить/вниз/кц/закрасить. Его первая закраска закрывает угловую клетку, а заключительная — нижнюю клетку правого столбца. - 4. Алгоритм целиком:
нц пока справа свободно/закрасить/вправо/кц/нц пока снизу свободно/закрасить/вниз/кц/закрасить. - 5. Почему угол не закрашен дважды: в первом цикле закраска происходит до шага, поэтому правый верхний угол в него не попадает. Впрочем, повторная закраска уже закрашенной клетки не ошибка: критерий прямо говорит, что снижать балл за это не следует.
- 6. Проверка на комнате 1 × 1: оба цикла не выполнятся, сработает заключительная закраска — единственная клетка закрашена. Верно.
Ответ: Два цикла: вправо с закраской, затем вниз с закраской и дозакраска последней клетки
Уроки по этой линии
- Алгоритм и его свойства. Трассировка циклов — открыт бесплатно
- Исполнитель Робот: среда, команды, циклы и ветвления
- Задания 15 и 16: программирование части 2
Потренируй задание 15
Задания этой линии с проверкой и разбором решения — после бесплатной регистрации. Ошибки сами попадут в план повторения.