Исполнители Робот и Чертёжник: как разбирать задачи с исполнителем на ОГЭ
Задачи с исполнителем в ОГЭ не требуют сложных знаний: нужно строго выполнять команды и аккуратно вести записи. Разберём три исполнителя: Чертёжника, который двигается по координатной плоскости, Робота, который перемещается по клеточному полю со стенами, и Вычислителя, который преобразует число. Для каждого есть приём, который экономит время и защищает от ошибок.
Исполнитель делает только то, что написано
Главное правило: исполнитель не догадывается и не «понимает замысел». Он выполняет команды в заданном порядке и не пропускает ни одной. Поэтому лучший способ решения - вести протокол: после каждой команды записывать новое состояние (координаты, клетку, число).
Для программ с повторением полезно отдельно считать «итог одного круга» и умножать на число повторов. Это работает и для Чертёжника, и для Вычислителя, если операции одинаковые на каждом круге.
Чертёжник: складываем смещения
Команда «Сместиться на (a, b)» увеличивает x на a, а y на b. Конечная точка равна начальной плюс сумма всех смещений. Если нужно вернуться в начало, сумма смещений должна быть равна (0, 0).
Задача. Чертёжник начинает в некоторой точке и выполняет алгоритм: Повтори 4 раза; Сместиться на (3, 2); Сместиться на (a, −5); конец; Сместиться на (−8, 12). В итоге он вернулся в исходную точку. Чему равно a?
Решение. Найдём суммарное смещение по x. Повторяющаяся часть даёт 4 · (3 + a), последняя команда добавляет −8. Условие возвращения: 4 · (3 + a) − 8 = 0. Отсюда 3 + a = 2 и a = −1. Проверим по y: 4 · (2 − 5) + 12 = −12 + 12 = 0, совпадает.
Ответ: a = −1.
Робот на клетчатом поле: сначала условия, потом движение
У Робота есть команды движения и условия вида «справа свободно», «снизу свободно». Робот не входит в клетку со стеной: если цикл «пока справа свободно» остановился, значит, справа стена или край поля. Рассмотрим поле, где символом # отмечены закрашенные клетки (стены).
A B C D E F
1 . . . . . .
2 . # . . # .
3 . . . . . .
4 . . # . . .Робот выполняет такую программу:
нц пока справа свободно
вправо
кц
нц пока снизу свободно
вниз
кцЗадача. В какой клетке остановится Робот, если он стартовал в клетке C2?
Решение. Идём вправо: справа от C2 находится D2 (свободна), а справа от D2 находится E2 со стеной. Робот остановится в D2. Затем идём вниз: D3 свободна, D4 свободна, дальше край поля. Робот остановится в D4.
Ответ: D4.
Сколько клеток подходит под условие: систематизируем перебор
В экзамене часто спрашивают: из скольких клеток Робот приходит в заданную клетку. Перебирать клетки нужно по строкам, записывая результат для каждой. Продолжим с тем же полем и той же программой.
Задача. Из скольких клеток поля Робот, начав движение, останавливается в клетке F4?
Решение. Рассматриваем строки по очереди.
- Строка 1. Все шесть клеток: идём вправо до F1, затем вниз F2, F3, F4. Подходят 6 клеток.
- Строка 2. Из A2 вправо нельзя (B2 - стена), вниз до A4: не подходит. Из C2 и D2 доходим только до D2 и спускаемся в D4: не подходят. Из F2 спускаемся в F4: подходит 1 клетка.
- Строка 3. Идём вправо до F3, затем вниз в F4. Подходят все 6 клеток.
- Строка 4. Из A4 и B4 вправо мешает стена C4, Робот остаётся в B4: не подходят. Из D4, E4 и F4 доходим до F4: 3 клетки.
Складываем: 6 + 1 + 6 + 3 = 16. Клетки со стеной в расчёт не входят, потому что Робот не может стартовать в них.
Ответ: 16.
Вычислитель: строим программу с конца
Пусть у Вычислителя две команды: 1 - прибавь 3, 2 - умножь на 2. Нужно получить из числа 1 число 20, используя не более четырёх команд. Перебирать программы вперёд долго, поэтому идём от результата назад и отменяем команды.
Решение. Число 20 могло получиться либо после умножения на 2 (тогда до него было 10), либо после прибавления 3 (тогда до него было 17). Рассмотрим первый путь: 10 получается из 5 (умножение) или из 7 (прибавление 3). Число 7 получается из 4, а число 4 - из 1 прибавлением 3. Записываем команды в прямом порядке: 1 → 4 → 7 → 10 → 20, то есть программа 1112. Проверка: 1 + 3 = 4; 4 + 3 = 7; 7 + 3 = 10; 10 · 2 = 20.
Ответ: 1112 (подходит также 2122: 1 → 2 → 5 → 10 → 20).
Если в задаче просят «любую подходящую программу», достаточно одной, но обязательно выполни проверку вперёд. В отличие от Чертёжника и Робота, здесь порядок команд меняет результат: (1 + 3) · 2 не равно 1 · 2 + 3.
Короткая памятка перед сдачей работы
- Выпиши исходное состояние исполнителя и систему команд.
- Выполни программу по шагам, фиксируя состояние после каждой команды.
- Для повторов считай результат одного круга.
- Проверь, не вышел ли Робот за границы поля и не вошёл ли в стену.
- Если ответ удалось получить двумя способами (в прямом и обратном порядке), он почти наверняка верен.
Потренироваться на похожих задачах можно в тесте по алгоритмам и исполнителям. А если хочешь увидеть, как те же идеи выглядят в программировании, посмотри разбор про циклы for и while в Python.
Проверь себя
Чертёжник выполняет: Повтори 3 раза; Сместиться на (4, −1); Сместиться на (a, 5); конец; Сместиться на (−6, −12). В итоге он возвращается в исходную точку. Чему равно a?
Вычислитель имеет команды: 1 - прибавь 3, 2 - умножь на 2. Какое число получится из числа 5 по программе 2121? Команды выполняются слева направо.
Строка поля состоит из шести клеток A, B, C, D, E, F слева направо. Клетка E закрашена (это стена). Робот стоит в клетке B и выполняет: нц пока справа свободно; вправо; кц. В какой клетке он остановится?
Частые вопросы
Что делать, если Робот врезается в стену?
Как быстро проверить ответ в задаче с Чертёжником?
Нужно ли знать язык программирования?
Читай дальше
Материалы подготовлены с помощью ИИ и проверены автоматически: все вычисления пересчитаны программой, а ответы сверены независимым решением. Если нашёл ошибку или неточность, напиши на vortexlearn.offical@gmail.com - исправим.