Что такое структурное программирование, и какие основные принципы присущи технологии структурного программирования? На эти вопросы ответит небольшая лекция, предвосхищающая практические уроки.
Принципы структурного программирования – это принципы системного подхода в процессе создания и эксплуатации программного обеспечения компьютера. В основе данной парадигмы лежат следующие достаточно простые положения:
- Алгоритм и программа должны составляться пошагово.
- Сложную задачу необходимо разбивать на простые блоки, каждый из которых имеет один вход и один выход.
- Логика алгоритма и всей программы должна опираться на минимальное количество базовых простых управляющих структур.
Базовые элементы структурного программирования или элементарные структуры — это следование, ветвление и цикл; композиция этих трех базовых конструкций реализовывает любой алгоритм.
Структурное программирование по-другому называют программированием без GO TO, то есть считается, что лучше избегать данного оператора перехода.
Кроме того, в структурном программировании повторяющиеся фрагменты программы могут быть воплощены в так называемых подпрограммах – процедуры и функции.
Известны следующие методы структурного программирования (или методики, стратегии):
– программирование сверху вниз;
– программирование снизу вверх.
Структурное программирование сверху и вниз, или нисходящее программирование – это методика составления программ, при которой сначала определяются цели решения проблемы, после чего идет последовательная детализация, завершающаяся детальной программой (метод пошаговой детализации, примеры которого приведены в работах сайта).
Данный подход позволяет человеку постоянно мыслить на предметном уровне, не вникая в уровень конкретных операторов и переменных.
Структурное программирование снизу вверх, или восходящее программирование – это методика разработки программ, которая подразумевает сначала разработку подпрограмм (процедур, функций), в то время когда работа над общей схемой не закончилась.
Данная методика зачастую приводит к нежелательным результатам, необходимостью переписывать код и увеличению времени разработки; по этой причине она является менее предпочтительной.
Достоинства структурного программирования и его недостатки:
– хорошее структурирование при проектировании программы позволяет легко производить тестирование и избегать проблем при отладке; таким образом, повышая надежность программ;
– структурирование программы позволяет с легкостью находить ошибки в коде, и легко модифицировать отдельные подпрограммы независимо от других, таким образом, повышая эффективность программ;
– снижается время и стоимость программной разработки;
– улучшается читабельность кода программ.
Недостатки структурного программирования проявляются при усложнении программ. Так, структурное программирование не позволяет в достаточной степени упростить большие сложные программы. Это связано с неограниченностью доступа функций к глобальным данным и принципом разделения данных и функций.