Алгоритмы разветвленной структуры

Алгоритмы линейной структуры

Изображение алгоритма в виде блок-схемы

Блок-схемой называется наглядное графическое изображение алгоритма, когда отдельные его этапы изображаются при помощи различных геометрических фигур - блоков, а связи между этапами (последовательность выполнения этапов) указываются при помощи стрелок, соединяющих эти фигуры. Блоки сопровождаются надписями. Типичные действия алгоритма изображаются следующими геометрическими фигурами:
Блок начала-конца алгоритма (рис. 1.1). Надпись на блоке: "начало" ("конец").
Блок ввода-вывода данных (рис. 1.2). Надпись на блоке: слово "ввод" ("вывод" или "печать") и список вводимых (выводимых) переменных.

Рис. 1.1. Блок начала-конца алгоритма Рис. 1.2. Блок ввода-вывода данных

Блок решения или арифметический (рис. 1.3). Надпись на блоке: операция или группа операций.

Условный блок (рис. 1.4). Надпись на блоке: условие. В результате проверки условия осуществляется выбор одного из возможных путей (ветвей) вычислительного процесса. Если условие выполняется, то следующим выполняется этап по ветви "+", если условие не выполняется, то выполняется этап по ветви "–".

Рис. 1.3. Арифметический блок Рис. 1.4. Условный блок

Линейный алгоритм - это такой, в котором все операции выполняются последовательно одна за другой (рис. 1.5).

Рис. 1.5 Размещение блоков в линейном алгоритме

Рассмотрим несколько примеров линейных алгоритмов.

ПРИМЕР 1.1. Зная длины трех сторон треугольника, вычислить площадь и периметр треугольника.

Пусть a, b, c - длины сторон треугольника. Необходимо найти S - площадь треугольника, P - периметр.

Для нахождения площади можно воспользоваться формулой Герона:

, где r - полупериметр

Входные данные:a, b, c.

Выходные данные:S, P.

Блок-схема алгоритма представлена на рис. 1.6.

Рис. 1.6. Алгоритм примера 1.1

Внимание!!!В этих блоках знак "=" означает не математическое равенство, а операцию присваивания. Переменной, стоящей слева от оператора, присваивается значение, указанное справа. Причем это значение может быть уже определено или его необходимо вычислить с помощью выражения. Например, операция r = (a+b+c)/2 - имеет смысл (переменной r присвоить значение r=(a+b+c)/2), а выражение (a+b+c)/2=r - бессмыслица.

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

Пример. Рассмотрим блок схему для жизненной ситуации.

Алгоритмы разветвленной структуры применяются, когда в зависимости от некоторого условия необходимо выполнить либо одно, либо другое действие. В блок-схемах разветвленные алгоритмы изображаются так, как показано на рис. 1.7 - 1.8.

Рис. 1.7. Фрагмент алгоритма Рис. 1.8. Пример разветвления

Рассмотрим несколько примеров построения алгоритмов разветвленной структуры.

Пример. Есть детский сад, в котором много детей. Тренер из балетной школы хочет набрать детей в балетную школу. Подойдут только дети не старше трех лет.

Пример. Исследование медицинских данных детей от 7 до 10 лет. (самотоятельно)

Пример. Вычислить y=(a+b)/c, c=a-b

Пример. Вычислить y=(2x+3)/(z-1), z=4-x.(самостоятельно)

ПРИМЕР 1.2.Известны коэффициенты a, b,и с квадратного уравнения. Вычислить корни квадратного уравнения.

Входные данные:a, b, c.
Выходные данные:x1, x2.

d – дискрименант, вычисляется пл формуле.

Все известные в школе формулы и все вычислительные процедуры высшей математики (интегралы, sin и т.д.), запрограммировано в компьютере.

 

 
  Рис. 1.9. Алгоритм решения квадратного уравнения

Если d<0, нельзя извлекать корень из отрицательного числа.

ПРИМЕР 1.3.Найти наибольшее из трех чисел.

Входные данные:a, b, c.
Выходные данные:m.

  Рис. 1.10. Алгоритм примера 1.3

Пояснения к блок-схеме: вводится дополнительная переменная m, в которой хранится текущее значение наибольшего (максимального) числа. Далее каждое следующее число сравнивается с переменной m и если значение сравниваемого числа оказывается больше, то оно запоминается в переменную m.

ПРИМЕР 1.4. Модель платья окрашена в три базовых цвета: красный, синий, зеленый. Подсчитать частоту встречаемости каждого цвета в модели.

Каждый цвет закодирован: красный – 1, синий – 2, зеленый – 3.

Входные данные:cvet

Выходные данные kol_red, kol_blue, kol_green

 

 

Рис. 1.11. Алгоритм примера 1.4.