Линейная последовательность шагов
Группа шагов алгоритма, всегда выполняемых последовательно друг за другом без каких-либо условий, называется линейной последовательностью. Если весь алгоритм представляет собой линейную последовательность шагов, то его называют линейным.
На рисунке 30 изображена блок-схема линейного алгоритма, состоящего из двух шагов.
Рисунок 30 – Пример линейного алгоритма
Пример блок-схемы алгоритма, решающего следующую задачу. Даны три вещественных положительных числа a, b и c. Найти площадь треугольника, стороны которого равны a, b и c. Для нахождения площади треугольника по трем его известным сторонам воспользуемся формулой Герона:
,
где – полупериметр треугольника, равный
.
Алгоритм будет выглядеть следующим образом:
Рисунок 31 – Блок-схема решения задачи линейного алгоритма
Задача решена. Обратите внимание, что в отличие от математики, где приводимые формулы декларируют некоторые факты, соотношения и порядок указания которых не так важен (или важен только с точки зрения логичности изложения), в алгоритмических схемах важна в первую очередь правильная последовательность действий (формул), которая и определяет порядок выполнения шагов. Например, если в приведенной блок-схеме переставить местами шаги, вычисляющие S и p, то алгоритм не будет правильным, так как до вычисления S необходимо предварительно вычислить p.
Задача для самостоятельного решения
Аналогичным образом создайте блок-схему для решения следующей задачи: Необходимо вычислить сумму НДС (N) реализованного магазином товара и его общую стоимость (S) по заданному количеству реализованного товара (K) и цене единицы товара (P), при условии, что НДС = 18%. Вывести значения НДС и общей стоимости.
Ветвление
Ветвление представляет собой алгоритмическую конструкцию, в которой выполнение того или иного шага зависит от истинности условия.
На рисунке 32 приведена блок-схема ветвления.
Рисунок 32 - Пример блок-схемы с ветвлением
Если условие истинно, то будет выполнено только действие1, в противном случае будет выполнено только действие2.
В языках программирования высокого уровня ветвление обычно реализуется с помощью оператора (команды) IF. (Например оператор If в Паскале, оператор If в языке Basic).
Пример решения задачи на алгоритм с ветвлением. Даны значения трех действительных переменных a, b и c. Найти наибольшее значение из a, b и c. Для решения подобной задачи вначале нужно найти наибольшее значение из a и b, а потом сравнив его и c, снова найти наибольшее из двух. Это можно представить такой блок-схемой (рисунок 33).
Рисунок 33 – Блок-схема решения задачи алгоритма с ветвлением
Примечание: в данной блок-схеме функцию Да выполняет T (True – Истина), а функцию Нет – F (False – Ложь).