Это описание, которое кажется вполне ясным, далеко от алгоритма.
Действительно, если М=
9
5,
6
2, (1/3)
/2
, то в предложенном варианте
решения поставленной задачи не указано, как искать наименьшее число.
Этот пример показывает, что понятие алгоритма в интуитивном смысле
требует уточнения понятия данных (т.е. указать каким требованиям
должны удовлетворять объекты, чтобы алгоритмы могли с ними
работать), памяти, дискретности, элементарности, конечности числа
шагов, направленности, детерминированности, результативности,
массовости.
Пояснения:
1) Приведенное наивное (интуитивное) определение алгоритма не
является точным математическим определением, а лишь объясняет
смысл слова «алгоритм», в котором это слово используется в
математике.
2) Характеристиками алгоритма являются:
- детерминированность (определенность) – однозначность результата
процесса при заданных исходных данных;
- дискретность – расчлененность процесса на отдельные элементарные
акты (шаги, действия), возможность выполнения которых человеком
или машиной не вызывает сомнений,
- массовость – исходные данные для алгоритма можно выбирать из
некоторого множества данных (потенциально бесконечного), т.е.
алгоритм должен обеспечить решение любой задачи из класса
однотипных задач.
Основные требования к алгоритмам.
1) Очевидно, что каждый алгоритм имеет дело с данными: входными,
выходными и промежуточными. В этом плане уточнение понятия
алгоритм требует и уточнения понятия данных, т.е. указать, каким
требованиям должны удовлетворять объекты, чтобы алгоритмы могли
с ними работать. Ясно, что эти объекты должны быть четко
определены и отличимы как друг от друга, так и от «необъектов». В
теории алгоритмов четкая определенность объектов обусловлена
заданием их в формальном языке L=<A,S>, в котором символы
конечного алфавита А рассматриваются как элементарные объекты
для построения более сложных объектов конечными средствами S
(этот язык часто называется языком операндов в отличие от языка
описания самого алгоритма – алгоритмического языка).
2) В дальнейшем будем различать:
- описание алгоритма (т.е. инструкции или программы);
- механизм реализации алгоритма (это может быть процессор),
включающий средства пуска, остановки, реализации
элементарных шагов, выдачи результатов и обеспечения
детерминированности процесса в управлении ходом вычислений;
- память данных алгоритма;