3. СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ
В 70-х годах прошлого века, с появлением ЭВМ третьего поколения,
возникает новый подход к разработке алгоритмов и программ, который
получает название структурного проектирования программ. Одним из первых
инициаторов структурного программирования был профессор Э. Дейкстра. В
1965 г. он высказал предположение, что оператор GoTo (оператор безусловного
перехода) вообще может быть исключён из языков
программирования. По
мнению Дейкстры, «квалификация программиста обратно пропорциональна
числу операторов GoTo в его программах».
Достоинства структурного программирования по сравнению с
интуитивным неструктурным программированием:
1) уменьшение трудностей тестирования программ;
2) более высокая производительность программистов;
3) ясность и читаемость программ, что упрощает их сопровождение;
4) эффективность программ.
3.1. Теория структурного программирования
К концепциям структурного программирования относится отказ от
использования оператора безусловного перехода (GoTo), замена его рядом
других, более структурированных операторов и использование идей
нисходящего программирования.
Основное назначение нисходящего проектирования – служить средством
разбиения большой задачи на меньшие подзадачи так, чтобы каждую подзадачу
можно было рассматривать независимо.
В предыдущем разделе была кратко описана суть метода
нисходящего
проектирования. Напомним, что при его использовании вначале проектируется
общая структура алгоритма, без детальной проработки его отдельных частей.
Затем разрабатываются блоки алгоритма, не детализированные на предыдущем
шаге. В результате на каждом шаге разработки детализируется фрагмент
алгоритма, т.е. решается более простая задача.
В основу структурного программирования положено требование, чтобы
каждый
модуль алгоритма (программы) проектировался с единственным
входом и единственным выходом. Программа представляется в виде множества
вложенных модулей, каждый из которых имеет один вход и один выход.
Базой для реализации структурированных программ является принцип
Бома и Джакопини, в соответствии с которым всякая реальная программа
может быть построена с использованием лишь двух управляющих
конструкций.
По Бому и Джакопини логическая структура программы может быть
выражена комбинациями трех базовых структур:
1) функционального блока;