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

  • docx
  • 11.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л2-00592.docx

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

 

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

При процедурном подходе операторы объединяются в группы – процедуры. Структурное программирование в целом не выходит за рамки этого направления, оно лишь дополнительно фиксирует некоторые полезные приемы технологии программирования.

Структурное программирование, наиболее отчетливо выраженное в языке Паскаль (PASCAL), возникло в ходе развития процедурно-ориентированного подхода, заложенного в исторически первом из языков программирования Фортране (FORTRAN).

Основу     технологии      структурного      программирования

составляют следующие положения:

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

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


3.       Детально проработанные алгоритмы изображаются в виде

блок-схемы.

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

Три базовые структуры были рассмотрены в разделе «Основы алгоритмизации» (линейный алгоритм, разветвленный алгоритм, циклический алгоритм). Здесь лишь напомним их.

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

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

Эта структура называется также «ЕСЛИ ТО ИНАЧЕ», или

«развилка». Каждый из путей (ТО или ИНАЧЕ) ведет к общей точке слияния, так что выполнение программы продолжается независимо от того, какой путь был выбран.

Может оказаться, что для одного из результатов проверки ничего предпринимать не надо. В этом случае можно применять только один обрабатывающий блок (структура «ЕСЛИ ТО»).

Цикл «Пока» (цикл с предусловием) начинается с проверки логического выражения. Если оно истинно, то выполняется тело цикла, затем все повторяется снова, пока логическое выражение сохраняет значение «истина». Как только оно становится ложным, управление передается по программе дальше (см. рис. 1.6).

В цикле «До» (цикл с постусловием) проверка условия выполняется после операторов тела цикла. Цикл повторяется, если условие ложно. Как только оно становится истинным, управление передается по программе дальше (см. рис. 1.7).


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

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

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

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

Использование модулей имеет следующие преимущества:

1)    возможность          создания          программы          несколькими программистами;

2)    простота    проектирования    и    последующих    модификаций программы;

3)    упрощение отладки программы поиска и устранения в ней ошибок;

4)    возможность   использования   готовых    библиотек   наиболее употребительных модулей.

Сегодня дополняющим структурное программирование, создающим основу для разработки современных программных комплексов стало объектное объектно-ориентированное


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