Программная реализация алгоритма

После того, как алгоритм разработан, доказана его правильность и проведен анализ, можно приступить к реализации алгоритма, т.е. созданию программы для ЭВМ. В целом, сложность этого этапа может быть довольно высокой, поскольку не всякий шаг алгоритма может быть напрямую выражен в конструкциях некоторого языка программирования. В некоторых случаях один из шагов алгоритма требует написания отдельной программы, в других ‑ необходимо создать сложную структуру вспомогательных данных, исходя из выбранной модели.

Следует отметить, что из правильности алгоритма вовсе не следует правильность программы, созданной на основе этого алгоритма.

Отладка и тестирование программы.Отладка программы предполагает устранение синтаксических и логических ошибок для получения полнофункционального варианта. Тестирование программы разбивается на две стадии: аналитическую и экспериментальную].

Аналитическая стадия предполагает доказательство правильности программы, которое можно провести аналогично доказательству правильности алгоритма. Экспериментальная проверка заключается в прогонке программы на различного рода тестах, результат которых точно известен. Система тестов должна быть построена таким образом, чтобы охватить все ветви и состояния алгоритма и вариации входных данных. В случае больших программ, состоящих из набора модулей, тестируется каждый модуль в отдельности, а затем проводится комплексное тестирование.

Составление документации.Данный этап предполагает составление описания алгоритма, необходимых входных данных, а также инструкцию пользователя, раскрывающую механизм взаимодействия конечного потребителя с интерфейсом программы.

Рассмотренная структура этапов полного построения алгоритма не является жестко обусловленной и детерминированной. В процессе решения прикладных задач отдельные этапы могут сливаться в один. Кроме того, возможно более детальное структурирование каждого из предложенных этапов. Несомненным является тот факт, что создание эффективных алгоритмов невозможно без серьезной методологической основы, которую дает теория построения и анализа алгоритмов. Анализ алгоритмов, безусловно, является необходимым средством для обеспечения обратной связи между целями, поставленными в процессе решения некоторой задачи, и конечным результатом в виде алгоритма, программы, последовательности операций.