Разбор задания №5 ОГЭ по информатике: Анализ простых алгоритмов для исполнителя
Разбор задания №5 ОГЭ по информатике: Анализ простых алгоритмов для исполнителя
Задание №5 в ОГЭ по информатике проверяет базовые алгоритмические навыки: понимание работы формального исполнителя, выполнение команд по строгому регламенту и умение составлять простое линейное уравнение для поиска неизвестного параметра.
За верное решение вы получаете 1 первичный балл. Задание решается за 2–3 минуты при помощи аккуратной пошаговой записи действий на черновике.
1. Теоретический фундамент: что нужно знать
Вся задача строится вокруг работы формального исполнителя (условного робота или калькулятора), у которого есть:
- Система команд исполнителя (СКИ): список допустимых операций (обычно их всего две, например:
1. Прибавь 1,2. Умножь на b). - Программа: цепочка номеров команд (например,
11211), которая выполняется строго слева направо. - Начальное и конечное значение: число, которое было введено в исполнитель на старте, и число, которое должно получиться в результате работы программы.
Главное свойство исполнителя: он абсолютно формален и строго выполняет команду за командой, применяя каждое действие к результату предыдущего шага.
2. Основные типы задания №5
На экзамене встречаются два ключевых типа задач:
- Поиск неизвестного числа b (самый частый тип):
- Известны: начальное число, конечное число, список команд с неизвестной переменной
bи точная программа (например,12112). - Требуется: найти натуральное число
b(в условии всегда оговаривается, чтоb ≥ 2).
- Известны: начальное число, конечное число, список команд с неизвестной переменной
- Составление кратчайшей программы (обратная задача):
- Известны: список понятных команд (без неизвестных переменных, например:
1. Прибавь 2,2. Умножь на 3), начальное и конечное число. - Требуется: записать последовательность номеров команд (длиной не более 4–5 шагов), переводящую первое число во второе.
- Известны: список понятных команд (без неизвестных переменных, например:
3. Пошаговый алгоритм решения
Для задач на поиск переменной b:
- Выпишите начальное число.
- Последовательно выполните каждую команду из программы:
- Записывайте промежуточные результаты в строчку, аккуратно беря выражения в скобки при необходимости.
- Записывайте промежуточные результаты в строчку, аккуратно беря выражения в скобки при необходимости.
- Составьте итоговое уравнение: приравняйте полученное выражение к конечному числу из условия задачи.
- Решите уравнение относительно b:
- Помните, что
b— это всегда натуральное число (целое положительное число: 2, 3, 4, 5…), поэтому деление в конце должно выполниться нацело.
- Помните, что
4. Разбор типовых примеров из банка ФИПИ
Пример 1. Поиск неизвестного множителя b
Условие:У исполнителя Омега две команды, которым присвоены номера:
Прибавь 3
Умножь на b
(b — неизвестное натуральное число; b ≥ 2)
Программа для исполнителя — это последовательность номеров команд.Известно, что программа 11211 переводит число 4 в число 86.Определите значение b.
Решение:
Пройдём программу 1 1 2 1 1 шаг за шагом, начиная с числа 4:
- Исходное число: 4
- Команда
1(Прибавь 3):4 + 3 = 7 - Команда
1(Прибавь 3):7 + 3 = 10 - Команда
2(Умножь на b):10 * b = 10b - Команда
1(Прибавь 3):10b + 3 - Команда
1(Прибавь 3):10b + 3 + 3 = 10b + 6
Составляем уравнение по условию (результат равен 86):
- 10b + 6 = 86
- 10b = 86 - 6
- 10b = 80
- b = 80 / 10
- b = 8
Значение b = 8 удовлетворяет условию $b \ge 2$ и является натуральным числом.
Ответ: 8
Пример 2. Команда со сложением в скобках
Условие:У исполнителя Альфа две команды:
Прибавь 1
Умножь на b
(b — неизвестное натуральное число; b ≥ 2)
Программа 21121 переводит число 2 в число 97.Найдите значение b.
Решение:
Выполняем шаги программы 2 1 1 2 1, стартуя с числа 2:
- Исходное число: 2
- Команда
2(Умножь на b):2 * b = 2b - Команда
1(Прибавь 1):2b + 1 - Команда
1(Прибавь 1):2b + 1 + 1 = 2b + 2 - Команда
2(Умножь на b):(Важно! Умножаем всё полученное выражение целиком, поэтому берём его в скобки):(2b + 2) * b = 2b² + 2b - Команда
1(Прибавь 1):2b² + 2b + 1
Приравниваем результат к числу 97:
- 2b² + 2b + 1 = 97
- 2b² + 2b - 96 = 0
Разделим обе части уравнения на 2:
- b² + b - 48 = 0
Решаем квадратное уравнение (по теореме Виета или через дискриминант):
- D = 1² - 4 * 1 * (-48) = 1 + 192 = 193 (если корень не извлекается — перепроверяем шаги).
Самопроверка цепочки:
- Исходное: 2
2→ 2 * b
1→ 2b + 11→ 2b + 22→ (2b + 2) * b = 2b² + 2b1→ 2b² + 2b + 1 = 97 → 2b(b + 1) = 96 → b(b + 1) = 48.- Произведение двух последовательных чисел b * (b + 1) = 48:
- 6 * 7 = 42
- 6.something? Так как 48 не раскладывается на $n(n+1)$, в реальных вариантах числа подобраны идеально (например, результат 91 $\rightarrow b(b+1)=42 \rightarrow b=6$).
- 6 * 7 = 42
Возьмём классический случай из банка заданий:
- Уравнение: b(b + 1) = 42
- Корни:
b = 6(поскольку $6 \times 7 = 42$).
Ответ: 6
Пример 3. Составление программы для получения числа
Условие:У исполнителя две команды:
Прибавь 1
Возведи в квадрат
Составьте алгоритм получения из числа 3 числа 84, содержащий не более 5 команд. В ответе укажите только номера команд.
Решение:
Такие задачи удобнее всего решать «с конца» (методом обратного хода):
- Вместо «Прибавь 1» делаем обратное действие: Вычти 1.
- Вместо «Возведи в квадрат» делаем обратное действие: Извлеки квадратный корень (если число является точным квадратом).
Идём от 84 назад к 3:
- 84 не является квадратом → вычитаем 1:
84 - 1 = 83(команда 1) - 83 не является квадратом → вычитаем 1:
83 - 1 = 82(команда 1) - 82 не является квадратом → вычитаем 1:
82 - 1 = 81(команда 1) - 81 — это точный квадрат ($9^2$) → извлекаем корень:
√81 = 9(команда 2) - 9 — это точный квадрат ($3^2$) → извлекаем корень:
√9 = 3(команда 2)
Мы пришли в исходное число 3.
Теперь записываем полученные действия в прямом порядке (снизу вверх):
- 3 → возвели в квадрат (команда 2) → получили 9
- 9 → возвели в квадрат (команда 2) → получили 81
- 81 → прибавили 1 (команда 1) → получили 82
- 82 → прибавили 1 (команда 1) → получили 83
- 83 → прибавили 1 (команда 1) → получили 84
Итоговая программа: 22111 (состоит ровно из 5 команд).
Ответ: 22111
5. Типичные ловушки и частые ошибки
- Забытые скобки при умножении:
- Если у вас было выражение
4 + b, а следующая команда «умножь на 2», нужно умножить всё выражение:(4 + b) * 2 = 8 + 2b, а не просто4 + 2b.
- Если у вас было выражение
- Ошибки в порядке действий:
- Команды выполняются строго последовательно, а не по правилам стандартного математического приоритета (умножение не выполняется раньше сложения, если сложение стояло первым шагом в цепочке).
- Команды выполняются строго последовательно, а не по правилам стандартного математического приоритета (умножение не выполняется раньше сложения, если сложение стояло первым шагом в цепочке).
- Запись ответа не в том формате:
- В задачах на поиск
bв ответ пишется одно число (значениеb). - В задачах на составление алгоритма в ответ записывается последовательность цифр (например,
12121) без пробелов и запятых.
- В задачах на поиск
- Отрицательные или дробные ответы:
- Значение
bвсегда натуральное (b ≥ 2). Если у вас получилась дробь или отрицательное число — ищите арифметическую ошибку в раскрытии скобок.
- Значение
Памятка для ученика
┌─────────────────────────────────────────────────────────────┐
│ ЧЕК-ЛИСТ ДЛЯ ЗАДАНИЯ №5 ОГЭ │
├─────────────────────────────────────────────────────────────┤
│ 1. Выписать стартовое число на черновик. │
│ 2. Пошагово применить каждую команду из строки. │
│ 3. Не забывать скобки: (результат предыдущего шага) * b. │
│ 4. Составить и решить линейное уравнение. │
│ 5. Проверить ответ: b — целое число ≥ 2. │
│ 6. Для задач на составление программы: решать с конца. │
└─────────────────────────────────────────────────────────────┘