Дополнительные управляющие структуры
Управляющая структура Обход предполагает выполнение или невыполнение (обход) некоторого действия в вычислительном процессе в зависимости от выполнения условия и представляет собой алгоритмическую структуру вида:
Вход |
условие |
нет
да
оператор |
Выход |
Реализация этой управляющей структуры на языке Турбо Паскаль имеет вид:
If условие
Then оператор;
При этом условие – это выражение логического типа, а оператор – любой оператор языка.
Если результат вычисление логического выражения (условия) истина (да), то выполняется оператор, если результат ложь (нет), то оператор пропускается.
Управляющая структура Выбор варианта предполагает выбор одного действия из некоторого непустого множества действий в вычислительном процессе в зависимости от значения заданного ключа выбора и представляет собой алгоритмическую структуру вида:
Вход |
ключ выбора |
оператор_1 |
K1
оператор_2 |
K2
…
оператор_n |
Kn
оператор |
Выход |
Реализация этой управляющей структуры на языке Турбо Паскаль имеет вид:
Case ключ выбора Of
K1: оператор_1;
K2: оператор_2;
…
Kn: оператор_n;
[Else оператор;]
End;
При этом ключ выбора – это выражение любого порядкового типа, – константные выражения того же типа, а оператор_i – любой оператор языка.
При входе в оператор выбора вычисляется результат выражения ключ выбора, который последовательно сравнивается с результатами константных выражений . Если совпадение значений произошло, то выполняется соответствующий оператор_i, и выполнение оператора выбора заканчивается.
Если сравнение значений не произошло, то выполняется оператор ветки Else (при его наличии), либо выполнение оператора выбора заканчивается.
Управляющая структура Цикл с постусловием предполагает многократное выполнение некоторого действия, после чего проверяется сохранение значения условия, и представляет собой алгоритмическую структуру вида:
Вход |
оператор |
условие |
Выход |
Реализация этой управляющей структуры на языке Турбо Паскаль имеет вид:
Repeat
оператор
Until условие;
При этом условие – это выражение логического типа, а оператор – любой оператор языка, который в данном случае называется оператором тела цикла.
Поскольку зарезервированные слова Repeat и Until строго ограничивают начало и конец тела цикла, то если тело цикла по схеме алгоритма включает в себя несколько операторов, использование операторных скобок не обязательно, но возможно.
Управляющая структура Цикл с параметром предполагает многократное выполнение некоторого действия с изменением значения параметра цикла от начального значения до конечного с заданным шагом изменения и представляет собой алгоритмическую структуру вида:
Вход |
P = Pн (шаг) Pк |
оператор |
Выход |
Реализация этой управляющей структуры на языке Турбо Паскаль имеет вид:
For P := Pн To Pк
Do оператор;
При этом P – параметр цикла любого порядкового типа, Рн – его начальное значение, Рк – его конечное значение, а оператор – любой оператор языка, который в данном случае называется оператором тела цикла.
Количество исполнений оператора тела цикла зависит только от соотношения значений Рн и Рк: значение параметра цикла меняется от начального значения Рн до конечного значения Рк, при этом шаг изменения зависит только от типа параметра цикла: на каждом следующем шаге берётся очередное по порядку значение P из ряда допустимых.
Достоинства структурного программирования:
- уменьшаются затраты времени на отладку программ (до 10 раз);
- повышается надежность разработанных программ;
- обеспечивается наиболее легкая модификация программ;
- упрощается эксплуатация программ.
Недостаток структурного программирования заключается в незначительном увеличении объема программ на величину не более чем 10%.