Алгоритмические структуры (типы алгоритмов)
В рамках структурного программирования задачи, имеющие алгоритмическое решение, могут быть описаны с использованием следующих алгоритмических структур:
- Следование. Предполагает последовательное выполнение команд сверху вниз. Если алгоритм состоит только из структур следования, то он является линейным.
- Ветвление. Выполнение программы идет по одной из двух, нескольких или множества ветвей. Выбор ветви зависит от условия на входе ветвления и поступивших сюда данных.
- Цикл. Предполагает возможность многократного повторения определенных действий. Количество повторений зависит от условия цикла.
- Функция (подпрограмма). Команды, отделенные от основной программы, выполняются лишь в случае их вызова из основной программы (из любого ее места). Одна и та же функция может вызываться из основной программы сколь угодно раз.
Алгоритмические структуры на языке блок-схем
Ветвление if – самый простой тип ветвления. Если результат вычисления выражения-условия (логического выражения) возвращает true (правда, истина), то выполнение алгоритма идет по ветке "Да", в которую включены дополнительные выражения-действия. Если условие возвращает false (ложь), то выполнение алгоритма идет по ветке "Нет", т.е. продолжает выполняться основная ветка программы.

Ветвление if-else. Если условие возвращает истину, то выполнение алгоритма идет по ветке "Да", если условие не выполняется, то выполнение идет по ветке "Нет". При любом результате логического выражения нельзя вернуться в основную ветку программы, минуя дополнительные действия.

Множественное ветвление. Количество условий может быть различно. Если выполняется первое, то после выполнения действий, программа переходит к основной ветке, не проверяя дальнейшие условия. Если первое условие возвращает ложь, то проверяется второе условие. Если второе условие возвращает правду, то выполняются действия, включенные во вторую ветку конструкции. Последнее условие проверяется лишь в том случае, если ни одно до него не дало в результате true. Данную алгоритмическую конструкцию (if – else_if – else) не следует путать с алгоритмической конструкцией "Выбор".

Цикл while. Пока условие выполняется (результат логического выражения дает true), будут выполняться действия тела цикла. После очередного выполнения вложенных действий условие снова проверяется. Для того чтобы выполнение алгоритма не зациклилось, в теле цикла (помимо прочих действий) должно быть выражение, в результате выполнения которого будет изменяться переменная, используемая в условии. Тело цикла может ни разу не выполнится, если условие с самого начала давало false.

Цикл do. В этом цикле первый раз условие проверяется лишь после выполнения действий тела цикла. Если условие возвращает true, то выражения-действия повторяются снова. Каким бы ни было условие, тело данного цикла хотя бы раз, но выполнится.

Цикл for. В его заголовке указывается три параметра: начальное значение переменной (от), конечно значение (до) и ее изменение с помощью арифметической операции на каждом "обороте" цикла (шаг).

Изучить, как представленные выше алгоритмические структуры используются в блок-схемах решения задач, можно на таких примерах как "Алгоритм Евклида", "Проверка простоты числа", "Решето Эратосфена" (на страницах есть описание алгоритмов с помощью языка блок-схем).