Последовательность (последовательное соединение)

Выполняется несколько последовательных команд (операторов). На рис.2 они обозначаются буквами А и В.

Рис.2. Последовательность действий
Последовательность (последовательное соединение) - student2.ru

Условие (проверка условия).

2.1. Условие с двумя вариантами действий.
Если истинно условие, то выполняется блок (оператор) А, иначе выполняется блок В (оператор В) (рис.3).

Рис.3.Условие с двумя вариантами действий
Последовательность (последовательное соединение) - student2.ru

2.2. Условие с одним вариантом действий.
Если истинно условие, то выполняется блок (оператор) А, иначе ничего не выполняется и управление передается следующему оператору (рис.4).

Последовательность (последовательное соединение) - student2.ru

Цикл (циклическое повторение).

Цикл с предусловием.

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

На алгоритмическом языке На языке программирования
Си Паскаль
Начало цикла пока Условие выполнять A; Конец цикла while (Условие) { A; } while Условие do begin A end;
Последовательность (последовательное соединение) - student2.ru

Цикл с постусловием.

 
  Последовательность (последовательное соединение) - student2.ru

Некоторое действие А (блок операторов) повторяется до тех пор, пока условие в конце цикла не станет верным (истинным). Как только условие в конце цикла становится истинным, цикл завершается (рис.5).

Во всех трёх случаях, во всех стандартных структурах блоки А и В могут в свою очередь состоять из таких же стандартных структур. Т.е. одна структура может быть вложена в другую произвольное количество раз. Структурный алгоритм – это алгоритм, в котором используются только стандартные структуры – последовательность, условие, цикл, а также ввод-вывод. Структурная программа – это программа, которая точно соответствует структурному алгоритму. Структурное программирование – процесс разработки структурных алгоритмов и программ. Справедлива следующая теорема о структурных алгоритмах: для каждого алгоритма существует эквивалентный ему структурный алгоритм.

Пример 4. Напишем два варианта структурных алгоритмов решения задачи табулирования функции, на основе циклов (рис.6).

Последовательность (последовательное соединение) - student2.ru

 
  Последовательность (последовательное соединение) - student2.ru

В некоторых языках программирования отсутствуют полноценные структуры для реализации условий и циклов. Поэтому в дополнение к трём стандартным структурам иногда применяется безусловный переход. При выполнении безусловного перехода управление передается на указанный шаг (пункт) в алгоритме (рис.7).

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

Наши рекомендации