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

Императивная
(контрастирует с декларативной)
Процедурная
Структурная
Аспектно-ориентированная
Объектно-ориентированная
Агентно-ориентированная
Компонентно-ориентированная
Прототипно-ориентированная
Обобщённое программирование
Декларативная
(контрастирует с императивной)
Чистота языка
Чистота функции
Функциональная
В терминах Рефал-машины
Аппликативная
Комбинаторная
Бесточечная
(чистая конкатенативная)
Логическая
Ограничениями
Конкатенативная
Векторная
Метапрограммирование
Языково-ориентированная
Предметно-ориентированная
Пользователями
Автоматизация процесса программирования
Рефлексивность
Гомоиконность
Связанные темы
Программирование в крупном и мелком масштабе
Модульность
Полиморфизм
Продолжения и CPS
Параллелизм и конкурентность
Методы и алгоритмы
Автоматное
Потоков данных
Событийно-ориентированное
Реактивное
Сервис-ориентированное

Структу́рное программи́рование — парадигма программирования, в основе которой лежит представление программы в виде иерархической структуры блоков.
Концептуализирована в конце 1960-х — начале 1970-х годов на фундаменте теоремы Бёма — Якопини, математически обосновывающей возможность структурной организации программ, и работы Эдсгера Дейкстры «О вреде оператора goto» (англ. Goto considered harmful).

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

Методология структурного программирования появилась как следствие возрастания сложности решаемых на компьютерах задач, и соответственно, усложнения программного обеспечения. В 1970-е годы объёмы и сложность программ достигли такого уровня, что традиционная (неструктурированная) разработка программ перестала удовлетворять потребностям практики. Программы становились слишком сложными, чтобы их можно было нормально сопровождать. Поэтому потребовалась систематизация процесса разработки и структуры программ.

Методология структурной разработки программного обеспечения была признана «самой сильной формализацией 70-х годов».

По мнению Бертрана Мейера, «Революция во взглядах на программирование, начатая Дейкстрой, привела к движению, известному как структурное программирование, которое предложило систематический, рациональный подход к конструированию программ. Структурное программирование стало основой всего, что сделано в методологии программирования, включая и объектное программирование».

Содержание 1 История
2 Цель
3 Спагетти-код
4 Оператор goto
5 Теорема о структурном программировании
6 Принципы структурного программирования
7 Метод «сверху вниз»
8 Подпрограмма
9 Достоинства структурного программирования
10 Ясность и удобочитаемость программ
11 Двумерное структурное программирование
12 См. также
13 Примечания
Заметки о структурных трансформациях