Всем привет!
Понимаю, что вопрос по сути фундаментальный, но интересно было бы чуть более детально разобраться в нем.
У алгоритма есть определение и свойства:
Алгоритм - это система точных и понятных предписаний о содержании и последовательности выполнения конечного числа действий, необходимых для решения любой задачи данного типа.
Примеры: правила сложения, умножения, решения алгебраических уравнений и т.п.
Свойства алгоритма:
1.Универсальность (массовость) - применимость алгоритма к различным наборам исходных данных.
2.Дискретность - процесс решения задачи по алгоритму разбит на отдельные действия.
3.Конечность - каждое из действий и весь алгоритм в целом обязательно завершаются.
4.Результативность - по завершении выполнения алгоритма обязательно получается конечный результат.
5.Выполнимость (эффективность) - результата алгоритма достигается за конечное число шагов.
6.Детерминированность (определенность) - алгоритм не должен содержать предписаний, смысл которых может восприниматься неоднозначно. Т.е. одно и то же предписание после исполнения должно давать один и тот же результат.
7.Последовательность – порядок исполнения команд должен быть понятен исполнителю и не должен допускать неоднозначности.
Так же алгоритмы можно классифицировать и они бывают разных видов.
Я часто слышал, что алгоритм это просто последовательность действий, соответственно, хочу уточнить:
1. можно ли написать код, который не будет являться алгоритмом?
2. Является ли алгоритмом инструкция с единственным действием?
3. Является ли алгоритмом верстка и можно ли её вообще считать кодом?