Алгоритмы бывают линейные, разветвляющиеся и циклические.
Линейный алгоритм не содержит логических условий, имеет одну ветвь обработки и изображается линейной последовательностью связанных друг с другом блоков. Условное изображение линейного алгоритма может быть представлено на рис. 1.1
Рис. 1.1. Условное изображение линейного алгоритма.
Пример простейшего линейного процесса
Наиболее часто в практике программирования требуется организовать расчет некоторого арифметического выражения при различных исходных данных. Например, такого:
где x > 0 – вещественное, m – целое.
Разработка алгоритма обычно начинается с составления схемы. Продумывается оптимальная последовательность вычислений, при которой, например, отсутствуют повторения. При написании алгоритма рекомендуется переменным присваивать те же имена, которые фигурируют в заданном арифметическом выражении либо иллюстрируют их смысл.
Для того чтобы не было «длинных» операторов, исходное выражение полезно разбить на ряд более простых. В нашей задаче предлагается схема вычислений, представленная на рис. 1.2.
Рис. 1.2. Схема линейного процесса
Она содержит ввод и вывод исходных данных, линейный вычислительный процесс, вывод полученного результата. Заметим, что выражение вычисляется только один раз. Введя дополнительные переменные a, b, c, мы разбили сложное выражение на ряд более простых.
Разветвляющийся алгоритм содержит одно или несколько логических условий и имеет несколько ветвей обработки.
Условное изображение разветвления представлено на рис. 1.3. Структура РАЗВЕТВЛЕНИЕ предусматривает проверку условия, после которого вычислительный процесс развивается по одной из двух ветвей (в зависимости от ответа на поставленный в условии вопрос). Каждый из путей (ветвей) ведет к общему выходу.
Рис. 1.3. Условное изображение разветвляющегося алгоритма
Циклический алгоритм содержит один или несколько циклов – многократно повторяемых частей алгоритма. Цикл, не содержащий внутри себя других циклов, называют простым. Если он содержит внутри себя другие циклы или разветвления, то цикл называют сложным или вложенным. Любой цикл характеризуется одной или несколькими переменными, называемыми параметрами цикла, от анализа значений которых зависит выполнение цикла. Параметр цикла – переменная, принимающая при каждом вхождении в цикл новое значение. Условное изображение циклического алгоритма представлено на рис. 1.5.
Базовую структуру Цикл с предусловием можно использовать для описания циклического процесса при решении любой задачи, т.к. она предусматривает возможность обхода этого цикла в случае невыполнения условия при первой проверке условия. Базовую структуру Цикл с постусловием можно использовать только в тех случаях, когда из условия задачи следует, что хотя бы один раз цикл обязательно должен выполниться.
Рис. 1.5 Условное изображение циклического алгоритма
Пример циклического процесса
Вычислить значение функции y = sin x, представленной в виде разложения в ряд, с заданной точностью, т.е. до тех пор, пока разность между соседними слагаемыми не станет меньше заданной точности:
.
Схема алгоритма, приведенная на рис. 1.7, реализует циклический процесс, в состав которого (в блоке проверки |E|< eps) входит участок разветвления.