Анализ результатов. Уточнение модели.
Последний этап - это использование уже разработанной программы для получения искомых результатов. Проведя вычисления на компьютере, необходимо проанализировать результаты. Ведь сколько бы свойств мы не учитывали, модель всегда основана на некотором упрощении, и трудно быть абсолютно уверенным, что модель соответствует реальной задаче. Такую уверенность можно обрести, лишь сопоставив результаты расчетов с экспериментальными фактами, теоретическими воззрениями и другой информацией об изучаемом объекте. В случае необходимости проводится уточнение математической модели (с последующей корректировкой алгоритма и программы).
Следует отметить, что программы, имеющие большое практическое или научное значение, обычно используются длительное время. Иногда в процессе эксплуатации программы могут исправляться, дорабатываться.
2.8 Эксплуатация и сопровождение программы:
Если же удалось разработать полезную программу, то работа над ней не заканчивается этапом тестирования, а переходит в фазу сопровождения. Программа живет, приобретает новые функции, совершенствует старые, избавляется от последних ошибок и, наконец, умирает, уступив натиску более молодых программ.
На этом этапе происходит:
доработка программы для решения конкретных задач;
составление документации к решенной задаче, к математической модели, к алгоритму, к программе, к набору тестов, к использованию;
разработка инструкции по эксплуатации программы (руководство пользователя)
Разделение процесса разработки программ на 8 этапов носит весьма условный характер. В случае простых программ, которые предстоит писать начинающим программистам, некоторые этапы сливаются, например проектирование с разработкой алгоритма или кодирование с отладкой. В случае сложных программ могут добавиться новые фазы разработки, например проектирование базы данных или создание изображений.
Более важным является то, что работа над сложной программой состоит в многократном прохождении цикла разработки, т.к. в процессе тестирования могут быть обнаружены такие ошибки, для исправления которых придется вернуться не только к кодированию или алгоритмизации, но и к проектированию, а в тяжелых случаях – пересмотреть и постановку задачи.
3. Поняття алгоритму, його властивості та форми подання
Само слово “алгоритм” происходит от имени персидского математика Аль Хорезми, который в IX веке разработал правила четырех арифметических действий (сегодня мы бы сказали алгоритмы арифметических действий).
В начале ХХ века алгоритмы стали объектом изучения математиков, появились различные математические уточнения понятия “алгоритм” и возникла целая отрасль математики – теория алгоритмов. Результаты, полученные теорией алгоритмов, служат теоретическим фундаментом всей компьютерной технологии, но в повседневной программистской практике не используются, поэтому сейчас мы будем обсуждать алгоритмы в их интуитивном, “бытовом” понимании.
Алгоритм – это четкое описание конечной последовательности инструкций (указаний), выполнение которых позволяет получить правильное решение поставленной задачи.
Алгоритм должен отвечать определенным требованиям и обладать следующими свойствами:
· определенность (детерминированность) – алгоритм должен быть четким и однозначным, каждая команда не должна допускать произвольной трактовки, на одинаковых исходных данных алгоритм должен всегда давать одинаковые результаты;
· дискретность – алгоритм должен состоять из отдельных шагов – команд или действий, которые выполняются последовательно. Переход к следующему шагу может произойти только после выполнения предыдущего;
· массовость – алгоритм должен быть по возможности универсальным, то есть решать однотипные задачи при всех допустимых исходных данных;
· результативность – алгоритм должен закончить работу за конечное число шагов и выдать правильный результат;
· формальность – разные исполнители алгоритма должны получать одни и те же результаты.