Формальные исполнители алгоритмов: команды и правила ОГЭ
Коротко о главном
Формальный исполнитель — это объект (робот, чертёжник, автомат), который выполняет команды из строго заданного набора (СКИ — системы команд исполнителя) без «понимания» смысла, просто по правилам. В ОГЭ чаще всего встречаются: Робот (движение по клеточному полю), Чертёжник (рисование линий), числовые исполнители (изменяют число по правилам типа «умножь», «прибавь»), Кузнечик (прыжки по числовой прямой).
Главный принцип: исполнитель выполняет только те команды, что есть в его СКИ, и строго по порядку, если не указано иное (циклы, ветвления).
Определения и правила
| Понятие | Что значит |
|---|---|
| СКИ | Система команд исполнителя — полный список действий, которые он умеет выполнять |
| Команда | Элементарное действие (например, «вперёд», «закрасить», «увеличить на 2») |
| Алгоритм | Конечная последовательность команд, приводящая к результату |
Цикл ПОКА условие ... КОНЕЦ ПОКА |
Повторяет тело, пока условие истинно; проверка перед выполнением |
Цикл ДЛЯ i ОТ a ДО b |
Повторяет тело заданное число раз |
Ветвление ЕСЛИ ... ТО ... ИНАЧЕ |
Выбор одной из веток по условию |
| Отказ | Если команда невыполнима (например, робот врезается в стену), алгоритм останавливается с ошибкой |
Пример СКИ Робота (клетчатое поле):
- вверх, вниз, влево, вправо — сдвиг на одну клетку;
- закрасить — закрашивает текущую клетку;
- условия: «свободно сверху/снизу/слева/справа», «клетка закрашена».
Пример СКИ числового исполнителя:
- «Прибавь 1» —
- «Умножь на 2» —
Важное правило: порядок команд имеет значение — результат меняется при перестановке.
Как применять
Пример 1. Числовой исполнитель. Стартовое число 3. Программа: «Прибавь 2», «Умножь на 3». Шаг 1: . Шаг 2: . Ответ: 15.
Пример 2. Цикл с условием (задание 15 формат). Число . Цикл: «ПОКА : умножь на 2». Шаги: . Проверка перед шагом: как только , цикл прекращается. Ответ: 32.
Пример 3. Робот на поле. Робот стоит в клетке, справа и снизу — стены. Команда «вправо» невыполнима → программа завершается с ошибкой (отказом), результат не формируется. Важно проверять допустимость каждой команды по карте поля.
Пример 4. Восстановление алгоритма (частый тип задания 5/15). Дано: старт — число 5, результат — число 14. СКИ: «+1» и «×2». Подбор: — не то. Пробуем: —長but можно короче: . Подходит цепочка из трёх команд.
Типичные ошибки
- Забывают, что цикл
ПОКАпроверяет условие до выполнения тела — можно ошибиться в подсчёте числа повторов. - Путают порядок выполнения команд при разветвлённых алгоритмах.
- Не проверяют «отказ» — считают, что любая команда выполнится, даже если она невозможна (например, робот у стены).
- При восстановлении неизвестной программы забывают проверять все промежуточные значения, а не только начальное и конечное.
- Путают строгое неравенство и нестрогое в условии цикла ( и ), что даёт разное число итераций.
- Неверно считают шаги цикла «для» — путают включительно/не включительно границы диапазона.
Где встречается на экзамене
- Задание 5 — обычно короткая программа для числового исполнителя или Робота: нужно применить 2–4 команды к начальному значению и найти результат, либо восстановить недостающую команду.
- Задание 15 — более сложные алгоритмы с циклами (
ПОКА,ДЛЯ) и ветвлениями; часто просят найти количество повторов цикла, конечное значение переменной или подобрать стартовое число, дающее нужный результат.
Частые вопросы
Что такое СКИ исполнителя?
Система команд исполнителя — полный набор действий, которые исполнитель способен выполнить. Любая команда вне СКИ невыполнима.
Когда проверяется условие в цикле ПОКА?
Перед каждым выполнением тела цикла. Если условие сразу ложно, тело не выполнится ни разу.
Что происходит, если команда невыполнима для исполнителя (например, робот у стены)?
Происходит отказ — выполнение алгоритма прекращается, результат не формируется.
Как решать задачи на восстановление неизвестной программы?
Подбирать комбинации разрешённых команд, проверяя промежуточные значения на каждом шаге, пока итоговый результат не совпадёт с заданным.
В чём разница между циклом ДЛЯ и ПОКА?
ДЛЯ выполняется заданное фиксированное число раз, а ПОКА повторяется, пока выполняется условие, число повторов заранее неизвестно.
Важен ли порядок команд в программе для исполнителя?
Да, при перестановке команд результат почти всегда меняется, так как каждая команда работает с текущим (уже изменённым) состоянием.
Потренироваться: задание 15 · задание 5