Алгоритмы
Как в литературе, по мнению Кристофера Букера, есть только семь основных сюжетов 1), так и в программировании базовых алгоритмов всего три. Это те «кубики», из которых создаются программы.
На самом деле их больше, но здесь ситуация схожа с описанием свойств алгоритмов – многие из них являются частными случаями существующих и не вполне понятно, почему авторы учебных пособий выделяют для них особое место в классификации.
Линейный
В линейном (последовательном) алгоритме команды выполняются последовательно. Одна за другой, всегда одинаково.
действие 1 действие 2 действие 3
Шаг вперёд-назад, влево-вправо! Шаг вперёд-назад, влево-вправо!
Шаг вперёд-назад! Шаг вперёд-назад! Шаг вперёд-назад! 2)
Условный (ветвление)
При помощи ветвления можно задать разное поведение программы в разных условиях.
ЕСЛИ условие ТО действие ИНАЧЕ другое действие
К сведению: отступы не имеют никакого значения и использованы исключительно для наглядности 3).
Условие - это логическое выражение, исчислимая формула. Всю теорию множеств можно уместить в вычисление логических выражений, но нам сейчас важно только то, что результатом этого вычисления будет 1 или 0. В первом случае выполнится «команда», во втором - «другая_команда».
Если ясный день - это хорошо,
А когда наоборот - плохо. 4)
Цикл
Циклический алгоритм позволяет выполнять команды многократно. Сколько именно - зависит от условия повторения. В циклах с предусловием сначала проверяется условие, потом выполняется команда. В циклах с постусловием сначала выполняется команда, а потом проверяется условие.
ПОКА 0 ВЫПОЛНЯТЬ действие --> не выполнится ВЫПОЛНЯТЬ действие ПОКА 0 --> выполнится один раз
Во время исполнения действия условие может измениться. В первом случае на исполнение алгоритма это не повлияет.
ПОКА 1 ВЫПОЛНЯТЬ действие --> будет выполняться вечно ВЫПОЛНЯТЬ действие ПОКА 1 --> будет выполняться вечно
На самом деле, безусловный цикл скорее исключение, ведь в этом случае нарушается одно из свойств алгоритма – конечность. Поэтому там, где есть безусловный цикл, все равно есть условие выхода каким-нибудь нестандартным способом. Например, отключением питания.