Структурное программирование - методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков.
I. Структура программы
Любая программа должна иметь структуру, построенную из трех типовых конструкций:
- последовательное исполнение. Однократное выполнение операций в порядке, в котором они записаны в программе.
- ветвление. Однократное выполнение одной из двух и более операций, в зависимости от выполнения заданного условия.
- цикл. Многократное использование одной и той же операции до тех пор, пока выполняется заданное условие.
II. Вложенность
В программе базовые конструкции могут быть вложены друг в друга произвольным образом, но никаких других средств управления последовательностью выполнения операций не предусматривается.
III. Подпрограммы
Повторяющиеся фрагменты программы могут оформляться в виде подпрограмм (процедур или функций). В этом случае в тексте основной программы, вместо помещенного в подпрограмму фрагмента, вставляется инструкция вызова подпрограммы. При выполнении такой инструкции выполняется вызваная подпрограмма, после чего использование программы продолжается с инструкции, следующей за командой вызова подпрограммы.
IV. Разработка
Разработка программы ведётся пошагово, методом "сверху-вниз". Сначала пишется текст основной программы, в котором, вместо каждого связанного логического фрагмента текста, вставляется вызов подпрограммы, которая будет выполнять этот фрагмент. Вместо настоящих, работающих подпрограмм, в программу вставляются "заглушки", которые ничего не делают. После того, как программист убедится, что подпрограммы вызываются в правильной последовательности, подпрограммы-заглушки последовательно заменяются на реально работающие, причём разработка каждой подпрограммы ведётся тем же методом, что и основной программы.
Подветем итоги
Использование методологии структурного программирования:
- является следствием возрастания сложности решаемых на компьютерах задач, и усложнения программного обеспечения;
- позволяет сделать тексты программ, даже довольно крупных, нормально читаемыми;
- облегчает понимание и возможность разработки программ в промышленном режиме, когда программу может без особых затруднений понять не только её автор, но и другие программисты;
- сильно упрощает процесс тестирования и отладки структурированных программ.