Алгоритм - конечное число предписаний однозначно определяющий процесс преобразования исходных данных в искомый результат.
Слово «алгоритм» происходит от имени узбекского математика IX века Аль Хорезми, который сформулировал правила выполнения четырех арифметических действий (+, -, /, х) над десятичными числами.
Свойства алгоритма:
- массовость - применимость для решения задач данного класса, независимо от исходных данных;
- определенность – все инструкции должны выполняться четко и не допускать двусмысленных трактовок
- однозначность (детерминированность) результатов – результат должен совпадать при многократном решении задачи;
- результативность – выполнение алгоритма должно приводить к получению результата;
- конечность – процесс решения задачи должен заканчиваться за конечное число шагов.
Способы описания алгоритмов. Существует несколько способов описания алгоритмов:
- словесный – представляет алгоритм в виде слов и предложений;
- табличный – используется для описания сложных логических условий, определяющих те или другие вычисления;
- операторный – алгоритм представляется в виде последовательности операторов;
- схемный (графический) – алгоритм задается в виде схемы.
В инженерной практике наибольшее распространение получил схемный способ описания алгоритмов, при этом процесс вычислений расчленяется на отдельные операции, отображающиеся в виде условных графических блочных символов. Блоки обычно имеют сквозную нумерацию.
Правила выполнения схем, перечень блоков, их наименование, форму и размеры устанавливается ГОСТом, который соответствует международному стандарту UCO. Программные документы оформляются в соответствии со стандартами:
- Схемы алгоритмов для документов ГОСТ 19.701-90;
- ЕСКД - Единая система конструкторской документации;
- ЕСПД - Единая система программной документации;
- и/или диаграммами международного стандарта UML.
Наиболее часто употребляемые блоки приведены в табл. №1.
Таблица 1
Название символа |
Символ |
Примечание |
Процесс |
|
Вычислительное действие или последовательность действий |
Решение |
|
Проверка условий |
Модификация |
|
Заголовок цикла |
Предопределенный
процесс |
|
Вычисление по подпрограмме. |
Документ
|
|
Вывод данных на печать. |
Вод/вывод |
|
Вод/Вывод данных (вне зависимости от физического носителя информации) |
Пуск/Останов |
|
Начало, конец алгоритма, вход и выход в подпрограммах |
Межстрочный соединитель |
|
Разрыв линий потока в пределах одной страницы |
Межстраничный соединитель |
|
Разрыв линий потока расположенных на различных страницах |
Комментарий |
|
Пояснения блоков и подпрограмм |
Линии |
|
Указывают на ход процесса |
В блоках приняты размеры , . Допустимо увеличение размера а на число кратное 5. Минимальное расстояние между блоками 5 мм.
Рис.4.1. Размеры блоков.
Типовые структуры алгоритмов
По характеру связей между блоками различают следующие типовые структуры алгоритмов: линейной, разветвляющейся и циклической структуры.
Примеры:
Алгоритм линейной структуры
Алгоритм разветвляющейся структуры
Алгоритм циклической структуры