Структурное программирование. С появлением массовых ЭВМ 3-го поколения устаревшая технология программирования оказалась основным фактором

С появлением массовых ЭВМ 3-го поколения устаревшая технология программирования оказалась основным фактором, сдерживающим развитие и распространение компьютерных (информационных) технологий, что подтолкнуло ведущие в этой сфере деятельности фирмы, в первую очередь IBM, к разработке новых методологий программирования. Появившийся в начале 1970-х годов новый подход к разработке алгоритмов получил название структурного. Эта методология оказалась настолько жизнеспособной, что и до сих пор является основной в большом количестве проектов. Основу этой технологии составляют следующие положения.

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

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

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

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

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

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

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

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

Цикл (или повторение) предусматривает повторное выполнение некоторого набора команд программы. Если бы циклы не существовали, вряд ли занятие программированием было бы оправданным: циклы позволяют записать длинные последовательности операций обработки данных с помощью небольшого числа повторяющихся команд. Разновидности цикла изображены на рис. 5.4 и 5.5.

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: