109
ную последовательность отдельных предписаний (директив, команд),
образующих прерывную/дискретную структуру алгоритма: только
выполнив требования одного предписания, можно приступить к ис-
полнению следующего.
2. Исполнитель может выполнить алгоритм, если он ему понятен,
т.е. записан на понятном ему языке и содержит предписания, которые
исполнитель может выполнить. Набор действий, которые могут быть
выполнены исполнителем, называется
системой команд исполни-
теля. Алгоритм не должен содержать описания действий, не входящих
в систему команд исполнителя, т. е. своей структурой команд и фор-
мой записи алгоритм должен быть ориентирован на конкретного
исполнителя.
3. Алгоритмы, предназначенные для исполнения техническим
устройством, не должны содержать предписаний, приводящих к не-
однозначным действиям. Алгоритм рассчитан на чисто механическое
исполнение, и если применять его повторно к одним и тем же ис-
ходным данным, то всегда должен получаться один и тот же результат;
при этом и промежуточные результаты, полученные после соответ-
ствующих шагов алгоритмического процесса, тоже должны быть
одинаковыми. Это
свойство определенности и однозначности — де-
терминированности
- алгоритма позволяет использовать в качестве
исполнителя специальные машины-автоматы.
4. Основополагающим свойством алгоритма является его массо-
вость, применимость к некоторому классу объектов, возможность
получения результата при различных исходных данных на некоторой
области допустимых значений. Например, исходными данными в
алгоритмах аль-Хорезми могут быть любые пары десятичных чисел.
Конечно, его
способ не всегда самый рациональный по сравнению с
известными приемами быстрого счета. Но смысл массовости алгорит-
ма состоит как раз в том, что он одинаково пригоден для всех случаев,
требует лишь механического выполнения цепочки простых действий
и при этом исполнителю нет нужды в затратах творческой энергии.
5. Цель выполнения алгоритма — получение конечного результата
посредством выполнения указанных преобразований над исходными
данными. В
алгоритмах аль-Хорезми исходными данными и резуль-
татом являлись числа. Причем при точном исполнении всех пред-
писаний алгоритмический процесс должен заканчиваться за конечное
число шагов. Это обязательное требование к алгоритмам — требова-
ние их результативности или конечности.
В
математике известны вычислительные процедуры алгоритмиче-
ского характера, не обладающие свойством конечности. Например,
процедура вычисления числа
π. Однако если мы введем условие за-
вершения вида «закончить после получения
n десятичных знаков
числа
π», то получим алгоритм вычисления
n десятичных знаков
числа
π. На этом принципе построены многие вычислительные ал-
горитмы.
110
6. Если алгоритм должен быть выполнен не просто за конечное
время, а за разумное конечное время, то речь идет об эффективности
алгоритма. Время выполнения алгоритма — очень важный параметр,
однако понятие эффективности алгоритма трактуется шире, включая
такие аспекты, как сложность, необходимые ресурсы, информационно-
программное обеспечение. Эффективность алгоритма нередко
определяет возможность его практической реализации.
Достарыңызбен бөлісу: