Существует 3 типа основных алгоритмических структур:
следование;
развилка;
цикл.
Следование
Следование представляет собой последовательное выполнение операций.
Алгоритмически это последовательностью блоков «Процесс», «Данные», «Предопределенный процесс».
Развилка (условие)
Развилка, в свою очередь, делится на
неполную развилку;
полную развилку;
ветвление.
Развилка представляет собой блок выбора (проверка условия), у которого есть как минимум 2 альтернативных выхода.
Неполная развилка выполняет последовательность операций только по одной из веток.
Реализация неполной развилки в Си имеет вид:
if (условие) { операции; }
Полная развилка выполняет последовательность операций по каждой из двух веток (при выполнении или невыполнении условия).
Реализация полной развилки в Си имеет вид:
if (условие) { операции блока 1; } else { операции блока 2; }
Ветвление представляет собой операцию множественного выбора, при которой проверка условия может иметь более двух возможных вариантов:
Реализация ветвления в Си имеет вид:
switch (выражение) { case 1: блок операций 1; break; case 2: блок операций 2; break; … case n: блок операций n; break; default: блок операций по умолчанию; }
Цикл
Существует 3 основных вида циклов:
цикл с предусловием;
цикл с постусловием;
параметрический цикл.
Цикл с предусловием осуществляет проверку условия перед началом своего выполнения. В случае если условие не выполняется, происходит выход из цикла. Цикл с предусловием может не выполниться ни одного раза.
Реализация на Си
while (условие) { операции; }
Цикл с постусловием всегда выполняется хотя бы один раз, поскольку проверка условия осуществляется после выполнения операций цикла.
Такой цикл удобно использовать, например, для проверки диапазона введенных значений — значение нужно ввести по крайней мере 1 раз.
Реализация на Си цикла с постусловием:
do { операции; } while (условие);
Параметрический цикл — это цикл с заданным числом повторений.
Параметру цикла присваивается начальное значение, затем проверяется условие продолжение цикла, и (в случае выполнения условия) производится итерация цикла. После этого происходит модификация параметра, как правило, каким-то постоянным приращением.
Поскольку условие, которому должен удовлетворять параметр, проверяется до входа в цикл, оно записывается в блоке «начало цикла».
Параметрический цикл можно считать модификацией цикла с предусловием. Такой цикл тоже может не выполниться ни одного раза.
Реализация параметрического цикла на Си:
П — параметр,
НЗ — начальное значение,
КЗ — конечное значение (в общем случае — условие продолжения цикла),