Пошаговая детализация как метод проектирования алгоритмов

 

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

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

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

Как только найдены и исправлены ошибки в основной программе, можно начинать отладку первой процедуры. Теперь в программе восстанавливается текст этой процедуры, а следующая, остается в качестве «заглушки».

После того, как первая процедура отлажена, приступают к другой. В последнюю очередь отлаживаются функции, определяемые пользователем.

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

Таким образом, при этом методе подвигаются от низшего уровня к высшему, от простого к сложному. Программа постепенно усложняется и расширяется.