- •Литература
- •Введение
- •1. Структурное проектирование
- •1.1. Нисходящее проектирование
- •1.2. Модульное программирование
- •1.3. Структурное программирование
- •Begin s1; s2; ... Sn; End
- •If p Then s1 Else s2;
- •While p Do s;
- •If p Then s;
- •2. Объектно-ориентированное проектирование
- •2.1. Основные понятия объектно-ориентированного проектирования
- •2.2. Пример объектно-ориентированного проектирования
- •Приложение 1 Структура программных продуктов
- •Цели структурного программирования.
- •Основные принципы структурной методологии
If p Then s;
5. Структура типа «выбор – иначе» (рис. 1.4б) являются расширенным вариантом структуры типа ЕСЛИ – ТО – ИНАЧЕ. Здесь проверяемое условие Р может принимать не два логических значения, а несколько порядковых значений, например, 1, 2, …, n. Если Р = i, то будет выполняться действие Si. Если же значение Р будет выходить из диапазона допустимых значений, то выполняется действие S (в укороченном варианте «выбор» никакого действия не производится и управление передается к следующей структуре.
Case P Of
1: S1;
2: S2;
…
n: Sn
Else S
End
6. Структура типа «цикл с постусловием» (рис. 1.4в) – обеспечивает многократное выполнение действия S до тех пор, пока не выполняется условие Р.
В языке Pascal такая структура имеет следующий формат:
Repeat
S
Until P;
7. Структура типа «цикл с параметром» (рис. 1.4г) – обеспечивает заранее определенное многократное выполнение действия S. При этом здесь последовательно выполняются следующие типовые операции:
задание начального значения используемого параметра цикла (например, если переменной цикла является i, то ей присваивается значение i1, т.е. i:=i1);
выполнение действий S, предусмотренных в теле цикла;
изменение параметра цикла, который обеспечивает вычисление результата с новыми начальными данными (например, если параметр цикла i изменяется с шагом i3, i:=i i3);
проверка текущего значения параметра цикла с заданным конечным значением (i<=i2);
переход к повторению тела цикла, если параметр цикла не превысил конечного значения, иначе — выполнение следующих действий или вывод результата.
В языке Pascal такая структура имеет следующий формат:
For Переменная:=i1 To (Downto) i3 Do S;
Рассматривая схему программы, можно выделить в ней части (фрагменты), достаточно простые и понятные по структуре. Представление этих фрагментов укрупненными блоками существенно облегчает восприятие алгоритма (а в дальнейшем и программы) в целом.
Структурные операторы обычно применяются уже на ранних стадиях нисходящего проектирования программы.
Таким образом, структурное программирование основано на модульной структуре программного продукта и типовых (базовых) управляющих структурах алгоритмов обработки данных различных программных модулей.
Структурированность программы может нарушаться операторами безусловного перехода GoTo. Бессистемное употребление этих операторов является источником многих ошибок, а также затрудняет восприятие и тестирование программы. В свое время даже возник термин «программирование без goto». Однако умеренное использование переходов в виде процедур break, continue и exit языка Pascal обычно упрощает программу.
Выводы
В основе структурного проектирования лежат принципы последовательной декомпозиции задачи и целенаправленного ее структурирования на отдельные составляющие. Методы структурного проектирования представляют собой комплекс технических и организационных принципов системного проектирования программных продуктов.
Постепенное уточнение проекта называется методом нисходящего проектирования (пошаговой детализации или проектирования сверху вниз). Средства достижения целей на предыдущем уровне превращаются в цели на нижнем.
Модульное программирование связано с проектированием сверху вниз и заключается в том, что программа разбивается на части, которые называются модулями и разрабатываются по отдельности.
Структурное программирование (кодирование) — это метод написания программ, имеющих определенную структуру. Он основан на использовании небольшого набора структурных операторов, правильность которых легко проанализировать и установить. При этом одни операторы состоят из других, вложенных в них.