ОГЭ Информатика 2022: Разбор задания 5 (алгоритмы)

Разбор пятого задания ОГЭ по информатике 2022 года, требующего анализа линейного алгоритма для формального исполнителя. Рассмотрим несколько примеров различной сложности.

Задание 1: Линейное уравнение

Исполнитель Alpha имеет две команды:

  1. Прибавь 5
  2. Умножь на b

Программа: 1 1 2 1 1. Исходное число: 3. Результат: 88. Необходимо найти значение b.

Решение:

Последовательно выполним команды:

  1. 3 + 5 = 8
  2. 8 + 5 = 13
  3. 13 * b = 13b
  4. 13b + 5 = 13b + 5
  5. 13b + 5 + 5 = 13b + 10

Получаем уравнение: 13b + 10 = 88. Решая его, находим b = 6.

Задание 2: Линейное уравнение с делением

Исходное число: 30. Команды:

  1. Прибавь 3
  2. Раздели на b

Программа: 1 1 1 2 1. Результат: 6. Найти b.

Решение:

  1. 30 + 3 = 33
  2. 33 + 3 = 36
  3. 36 + 3 = 39
  4. 39 / b = 39/b
  5. (39/b) + 3 = (39/b) + 3

Получаем уравнение: (39/b) + 3 = 6. Решая его, находим b = 13.

Задание 3: Квадратное уравнение

Исходное число: 2. Команды:

  1. Возведи в квадрат
  2. Прибавь b

Программа: 1 2 1 2. Результат: 72. Найти b.

Решение:

  1. 2² = 4
  2. 4 + b = 4 + b
  3. (4 + b)² = (4 + b)²
  4. (4 + b)² + b = 72

Раскладываем квадрат суммы: 16 + 8b + b² + b = 72. Получаем квадратное уравнение: b² + 9b — 56 = 0.

Решаем через дискриминант: D = 81 — 4(1)(-56) = 325. Корни: b₁ = 4, b₂ = -14. Так как b должно быть натуральным числом, b = 4.

Задание 4: Составление алгоритма

Исполнитель Делитель имеет команды:

  1. Раздели на 2
  2. Вычти 3

Необходимо составить алгоритм преобразования числа 76 в число 5, используя не более пяти команд.

Решение:

  1. 76 / 2 = 38 (команда 1)
  2. 38 / 2 = 19 (команда 1)
  3. 19 — 3 = 16 (команда 2)
  4. 16 / 2 = 8 (команда 1)
  5. 8 — 3 = 5 (команда 2)

Алгоритм: 1 1 2 1 2

Задание 5: Обратное преобразование

Из числа 3 получить число 84, используя команды:

  1. Прибавь 1
  2. Возведи в квадрат

Решаем задачу, двигаясь от большего к меньшему числу, заменяя команды на обратные:

  1. Извлечь квадратный корень
  2. Вычесть 1

Решение:

Прямое обратное преобразование неэффективно. Методом проб и ошибок можно найти оптимальный алгоритм, но подбор последовательности команд может занять значительное время.

Что будем искать? Например,программа