Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоргалка .docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
7.52 Mб
Скачать

49. Технологии разработки программного обеспечения: структурное программирование

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

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

В конструкции выбора Р(х) – это одномерный предикат вида Р(х)=(х*А), где * - отношение, а Р1(х) – это система одномерных предикатов вида:

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

Для суперпозиции допустимых структур, не требуется применение операторов GOTO поэтому, структурное программирование называется еще программированием “без GOTO”. Структурные программы, в отличие от программных, имеют простую, древовидную архитектуру, легко читаются и модифицируются. В структурной программе, нет клубка переходов вперед-назад, нет латок. Это достигается, как преобразованием программы по нисходящей схеме, так и тем, что на этапе проектирования созданы некоторые, искусственные трудности – запрещено использовать оператор GOTO, конструирование программ разрешено проводить только с использованием допустимых структур. Эти трудности удлиняют процесс проектирования программы, что приводит к ее дополнительной проработке, а так же структурированная программа, требует больше ресурсов ЭВМ (памяти и времени) по сравнению с неструктурированной программой. Но на структурированной программе, появляется возможность провести формально доказательство правильности процесса ее проектирования, а так же резко сократить процесс отладки, а, следовательно, сократить и весь процесс изготовления программ.

Теоретическая основа структурного программирования, допускает реализацию его принципов на многих современных языках систем программирования. Исключительными средствами реализации структурного программирования, являются системы программирования – Алгол и ПЛ/1. Системы программирования Кобол и Фортран, по мнению многих сторонников структурного программирования не достаточны, для формализации структуры, не содержащей операторов GOTO.