Типы алгоритмов и формы их представления
Известны три типа алгоритмов — линейный, ветвящийся, циклический. Тип алгоритма определяется характером решаемой в соответствии с его командами задачи. Применяют три формы представления алгоритмов: табличную, словесную, графическую, но не все три формы возможны для любого из алгоритмов. Форма представления алгоритма зависит от его типа.
Алгоритм, в котором команды выполняются в порядке их естественного следования друг за другом независимо от каких-либо условий, является алгоритмом линейного типа.
Таким будет, например, алгоритм вычислений по самым простейшим, формулам, не имеющим ограничений на значения входящих в них переменных.
Задача: вычислить площадь круга.
Дано: R, радиус круга.
Требуется: S, площадь круга.
Связь: S=3,14∙R∙R.
Покажем, что алгоритм решения такой задачи — по типу линейный и допускает любую из трех форм представления.
Табличная форма представления алгоритмов применяется только для линейных вычислительных алгоритмов. Ее пример — табл.4.
Таблица 4
R, см
|
3,14.R, см
|
3,14∙R∙Rсм2
|
1
|
3,14
|
3,14
|
2
|
6,28
|
12,56
|
Словесная форма представления (для всех типов алгоритмов). Выберем русский язык для записи алгоритма в этой форме и запишем последовательность команд, выполнение которых позволит при заданном значении радиуса круга R найти его площадь S:
1. Прочесть значение R.
2. Умножить значение R на 3,14.
3. Умножить результат второго действия на значение R.
4. Записать полученный в предыдущей команде результат как значение S.
Графическая форма представления (применима для алгоритмов всех типов) основана на замене (кодировании) типичных алгоритмических команд определенными геометрическими фигурами. Алгоритм решения нашей задачи при графической форме представления приведен на рис. 1.
Ветвящийся тип алгоритма – это алгоритм, в котором предусматривается возможность выбора в зависимости от выполнения некоторых условий.
Он допускает две формы представления: словесную и графическую. Примеры: 1) расчетY(X) по двум формулам в зависимости от значения X, 2) Три варианта действий в зависимости от результата бросания монеты (орел, решка, ребро).
Циклический тип алгоритма – алгоритм, составленный с использованием многократных повторений одних и тех же действий (циклов).
Такой алгоритм реализует решение очень многих задач. Форма представления для такого алгоритма может быть выбрана как словесная, так и графическая.
Рис.1 Примеры: 1) суммирование 10 чисел, 2) действия слесаря-сборщика на автоконвейере.
На практике чаще всего встречаются алгоритмы смешанного типа, у которых можно выделить участки (блоки), имеющие структуру линейного, ветвящегося или циклического типа.
Задача 1. По словесному описанию алгоритма построить графическую схему алгоритма.
Постановка задачи
Даны два целых числа А и В. Найти наибольший общий делитель.
Алгоритм.
Ввод А и В.
Если А = В, то вывод А и конец.
Если А > В, то А = А – В и к п. 2.
Если В > А, то В = В – А и к п. 2.