решай.ai · шпаргалка
Задание 5: Простой линейный алгоритм для формального исполнителя
ОГЭ Информатика
Как выглядит
Типовая формулировка звучит так: у исполнителя (Альфа, Бета, Гамма и т. п.) есть две команды с номерами 1 и 2. Команда 1 — «прибавь » (число конкретное: 1, 2, 3 и так далее), команда 2 — «умножь на », где — неизвестное натуральное число, . Программа записана как последовательность цифр, например 12111 или 11211. Дано, что при выполнении этой программы конкретное число (например, 6 или 7) переходит в другое конкретное число (например, 82 или 51). Требуется найти значение .
…
Что нужно знать
- Линейный алгоритм — последовательность команд, которые выполняются одна за другой строго в порядке их записи, без пропусков, повторов и условных переходов.
- Команда «прибавь » переводит число в число : .
- Команда «умножь на » переводит число в число : .
- Программа записывается как строка цифр-номеров команд; например, запись 11211 означает выполнение команд в порядке: 1, 1, 2, 1, 1.
- Применение программы к числу — это композиция функций: результат каждого шага становится входным значением для следующего шага.
- По условию задачи — натуральное число и (единица не подходит, так как умножение на 1 не меняет число, что обычно противоречит смыслу задачи).
- После разбора программы получается уравнение вида , где и — числа, найденные из последовательности команд, а — известный конечный результат. Уравнение решается стандартно: .
- Обратная операция для «прибавь » — «вычти » (), для «умножь на » — «раздели на » (); эти обратные операции полезны при движении от конца программы к началу.
Алгоритм
- Выписать, что означает команда 1 и что означает команда 2 (какое число прибавляется, что множитель — неизвестное ).
- Прочитать программу как последовательность цифр и определить порядок выполнения команд слева направо.
- Взять исходное число и последовательно применять к нему команды, при умножении оставляя буквенный множитель , не пытаясь его сразу вычислить.
- После прогона всей программы получить итоговое выражение в виде (число показывает, во сколько раз множитель участвует в итоговом коэффициенте, — накопленное слагаемое).
- Составить уравнение: полученное выражение равно заданному конечному числу.
- Решить уравнение относительно .
- Проверить, что — натуральное число и ; если условие не выполняется, пересчитать шаги 3–4, скорее всего, ошибка в порядке команд или в арифметике. …
Ловушки
- Перепутан порядок выполнения команд. Программа читается строго слева направо, но иногда её по ошибке читают справа налево или переставляют шаги местами — это сразу даёт неверный коэффициент при .
- Умножение применяется не ко всему накопленному числу. Частая ошибка — умножать на только исходное число, забывая, что до умножения уже были выполнены другие команды и число успело измениться.
- Ошибка при раскрытии умножения суммы. Если умножение стоит не первым шагом, а после нескольких прибавлений, важно умножить на именно то число, которое накопилось к этому моменту, а не исходное.
- Неверный подсчёт числа повторений команды после умножения. После того как в выражении появился , к нему по инерции продолжают прибавлять слагаемые — легко забыть или, наоборот, добавить лишний шаг. …
reshay.ai/oge/informatika/zadanie-5 — задачи с разборами и тренажёр