Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ-11 - Технологии проектирования программ.doc
Скачиваний:
12
Добавлен:
30.04.2019
Размер:
341.5 Кб
Скачать

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

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

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

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

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

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

1. Структура типа «следование» (рис.1.3а) – образуется последовательностью действий, S1, S2, …, Sn, следующих одно за другим: выполнить S1; выполнить S2; …; выполнить Sn. В линейном вычислительном процессе все операции выполняются последовательно в порядке их записи. Типовым примером такого процесса является стандартная вычислительная схема, состоящая из трех этапов:

  1. ввод исходных данных;

  2. вычисление по формулам;

  3. вывод результата.

В языке Pascal такая структура заключается в операторные скобки Begin ... End:

Begin s1; s2; ... Sn; End

2. Структура типа «ветвление» (ЕСЛИ – ТО – ИНАЧЕ) (рис.1.3б) – обеспечивает в зависимости от результата проверки условия Р, принимающего одно из двух логических значении Да (True) или Нет (False), выбор одного из альтернативных путей работы алгоритма: если Р, то выполнить S1, иначе выполнить S2. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран.

В языке Pascal такая структура имеет следующий формат:

If p Then s1 Else s2;

3. Структура типа «цикл с предусловием» (рис.1.3в) – обеспечивает многократное выполнение действия S в зависимости от того, какое значение принимает логическое условие Р: до тех пор, пока Р, выполнять S. Выполнение цикла прекращается, когда условие Р не выполняется.

В языке Pascal такая структура имеет следующий формат:

While p Do s;

В расширенный комплект элементарных алгоритмических структур дополнительно входят следующие управляющие конструкции (рис. 1.4).

4. Структура типа «сокращенное ветвление» (ЕСЛИ – ТО) (рис. 1.4а) – если результат проверки условия Р принимает значение Да (True), то выполняется действие S; в противном случае это действие пропускается и управление передается следующей структуре: если Р, то выполнить S1.

В языке Pascal такая структура имеет следующий формат: