Информатика • 8 класс
870

Анализ алгоритмов. Определение возможных входных данных, приводящих к данному результату (Паскаль)

  • Иногда требуется найти не результат работы алгоритма по входным данным, а наоборот, определить входные данные, при которых алгоритм выдаёт определённые значения.
  • Задача обратного анализа гораздо сложнее, чем прямая задача, решаемая простой трассировкой программы. В сложных алгоритмах единственным способом решения часто бывает перебор значений параметров.
  • В простых алгоритмах нужно вычленить основную конструкцию, на которой основан алгоритм (ветвление, цикл и т. п.), и попытаться записать формулу, которая определяет эту конструкцию (то есть выполнить обратный перевод из программного кода в математическую модель).

    Пример. При каких начальных данных результат выполнения программы будет числом 8?

    Решение. Суть алгоритма цикл, где промежуточная переменная n раз умножается на введённую пользователем натуральную переменную a. Математическая модель алгоритма: rez = an. Число 8 является степенью чисел 2 и 8 (и не является степенью других натуральных чисел). Таким образом, возможными исходными параметрами являются два набора чисел (a = 2; n = 3) и (a = 8, n = 1).

Было полезно?

Рекомендуем

Вы учитель или ученик?
Познакомьтесь с нашим образовательным онлайн-сервисом с тысячами интерактивных работ
Учителю
Удобно проводить уроки в классе, назначать работы на дом и анализировать результаты всего класса или конкретных учеников
Ученику
Самостоятельно изучать новые и повторять пройденные темы, готовиться по индивидуальной траектории и оценивать результаты на наглядных графиках
Зарегистрироваться в «Облаке знаний»