Структурное программирование

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

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

При таком подходе важна грамотная декомпозиция задачи, что достигается путем использования ограниченного числа управляющих конструкций (следование, ветвление, цикл).

Обязательным элементом структурного программирования является наличие подпрограмм. Чаще всего во многих языках программирования роль подпрограмм выполняют только функции. В языке Pascal есть деление на функции и процедуры.

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

Структурное программирование делает программу более понятной. Ее легче отлаживать и сопровождать. Разные модули (в которых содержатся функции и процедуры) могут разрабатывать разные люди, в результате чего проще организовать коллективное решение одной большой задачи, т.к. каждый будет решать свою подзадачу.
Структурное программирование было особенно популярным в 70-х годах. На сегодняшний день программирование зачастую начинают изучать именно с него.