Основные алгоритмические конструкции

Условные обозначения

Основные структуры алгоритмов:

  1. Линейная.
  2. Разветвляющаяся (альтернатива «если–то–иначе» или «если–то»).
  3. Циклическая (повторение).

Линейная структура – является основной. Она означает, что действия выполняются друг за другом.

Прямоугольник, показанный на рисунке 1, может представлять как одну единственную команду, так и множество операторов, необходимых для выполнения сложной обработки данных, где F1 и F2 – некоторые команды для соответствующего исполнителя. Команды записываются с помощью операции присваивания.


Рис.1 Линейная структура

Разветвляющаяся структура (ветвление) – это структура, обеспечивающая альтернативный выбор в зависимости от заданного условия. Выполняется проверка условия, а затем выбирается один из путей (рис. 2), где P – это условие, в зависимости от истинности (Да) или ложности (Нет) которого управление передается по одной из двух ветвей.

Может оказаться, что для одного из результатов проверки условия ничего предпринимать не надо. В этом случае можно применять только один обрабатывающий блок.


Рис.2 Разветвляющаяся структура

Эта структура называется также ЕСЛИ –ТО – ИНАЧЕ. Каждый из путей (ТО или ИНАЧЕ) ведет к общей точке слияния, так что выполнение программы продолжается независимо от того, какой путь был выбран.

Циклическая структура (или повторение) предусматривает повторное выполнение некоторого набора действий.

Различают цикл с предусловием и цикл с постусловием.

Цикл начинается с проверки логического выражения «P». Если оно истинно, то выполняется «F», затем все повторяется снова, до тех пор, пока логическое выражение сохраняет значение «истина». Как только оно становится ложным, выполнение операций «F» прекращается и управление передается по программе дальше. Рассмотренная циклическая конструкция называется цикл с предусловием(см. рис. 3).


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

Существует и иная конструкция цикла, которая предусматривает проверку условия после выполнения команд, встроенных внутрь цикла. Это цикл с постусловием(см. рис. 4).


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

Циклические структуры можно комбинировать одну с другой – как путем организации их следований, так и путем создания суперпозиций (вложений одной структуры в другую).

Схематические изображения нескольких суперпозиций базовых алгоритмических структур представлены на рис. 5–9.


Рис. 5 Алгоритм типа «цикл, вложенный в неполную развилку».


Рис. 6 Алгоритм типа «цикл в цикле».


Рис. 7 Алгоритм типа «развилка в развилке».


Рис. 8 Трехкратное вложения одной базовой структуры в другую.