Разработка и проек-ие алг-мов и прог-м - это сложный и трудоемкий процесс, j принято делить на след-ие осн этапы:
I. Постановка задач - д/б четко сформ-на исход-ая задача и определены все условия для ее правильного решения. Здесь ставятся вопросы: 1)как найти решение? 2)явл-тся ли исходная задача корректной? 3)какие можно сделать допущения и огрубления при решении задачи;
II. Проек-ие прог-мы - согласно принципу деколизации. 1)опред-ся имя и назначение любого фрагмента прог-мы; 2)неформ-ое написание модуля; 3)опред-ся взаимосвязи м/у модулями; 4)опред-ся ссылки на уже готовые модули; 5)опред-ся форм-ые и факт-ие, локаль-ые и глоб-ые переменные, используемые в данном модуле.
III. Построение модели - при разработке модели испол-ся 2 осн-ых принципов - дедуктивный (от общего к частному) и индуктивный. Модель должна удовл-ть требованиям: 1)модель д/б достаточно простой 2)она д/б адекватной и сходной к задаче.
IV. Разработка алг-ма - мы должны предс-ть посл-ть действий по преобразованию исходных данных и промежуточных результатов в конечные результаты.
V. Реализация алг-ма - разработанный алг-м записывается на каком-либо языке прог-ия в расчте на конкретный компьютер. Он начинается с определния типов и структ-ых данных, j будут использованы в данной прог-ме.
VI. Анализ сложности алг-ма - производят оценку ресурсов компа: - объем памяти; - время работы прог-мы. Если для решения задачи можно предложить несколько алг-мов, то здесь выбирается наиболее эфф-ый.
VII. Отладка прог-мы - прог-ма с помощью транслятора переводится в прог-му на машинном языке. Обе эти прог-мы явл-ся эквивалентными, они описывают один алг-м. здесь производятся синтакс-ий анализ прог-мы - выявление синтакс-ой ошибки: неправильная запись оператора, недопустимая посл-ть символов.
VIII. Тестирование прог-мы - выявл-ся ошибки, j м/б допущены в 3-4 этапах - содержательные ошибки. Тестирование прог-м опред-ся 2 способами: 1)тест-ие прог-м как «черного ящика»: согласно этому принципу анализ-ся только наборы исходных данных и полученный результат. 2)тест-ие прог-мы как «белого ящика»: наборы исходных данных или тесты подбираются с учетом содержания и ломки прог-мы; тесты подбираются так, чтобы проверить правильность каждого маршрута прог-мы. В чистом виде исполь-ся редко, чаще - комбинация. Типы ошибок встреч-ся в прог-мах: 1)обращение к переменной значение j неопред-но; 2)несоответствие типов переменных; 3)лог-ие ошибки; 4)ошибочные передачи управления; 5)неправильная адресация памяти.
IX. Документ-ие прог-ия - оформление прог-мы. Случаи разработки крупных текст-ых прог-м дополняются сопровод-ой докумен-ей: система помощи, файловый тест.