#Алгоритм

Алгоритм — набор инструкций, описывающих порядок действий исполнителя для достижения некоторого результата. В старой трактовке использовалось слово «последовательность», но по мере развития параллельности в работе компьютеров его стали заменять более общим словом «порядок». Независимые инструкции могут выполняться параллельно, если это позволяют используемые исполнители.

Часто в качестве исполнителя выступает компьютер, но понятие алгоритма необязательно относится к компьютерным программам. Так, например, четко описанный рецепт приготовления блюда также является алгоритмом, где исполнителем является человек. Алгоритмом могут быть продиктованы действия, совершаемые рабочим на конвейере.

Понятие алгоритма относится к первоначальным, основным, базисным понятиям математики. Вычислительные процессы алгоритмического характера (арифметические действия над целыми числами, нахождение наибольшего общего делителя двух чисел и т. д.) известны человечеству с глубокой древности, однако в явном виде понятие алгоритма сформировалось лишь в начале XX века.

Считается, что слово «алгоритм» происходит от имени хорезмского ученого Абу Абдуллах Мухаммеда ибн Муса аль-Хорезми. Около 825 года аль-Хорезми написал сочинение, в котором впервые дал описание придуманной в Индии десятичной системы счисления, которую он назвал словом «алгоритм». Существуют и другие версии происхождения этого термина.

Формальные признаки алгоритма:

  • детерминированность (в каждый момент времени следующий шаг работы однозначно определяется состоянием исполнителя);
  • понятность (алгоритм должен включать только команды из заранее оговоренной системы команд исполнителя);
  • завершаемость (при корректно заданных исходных данных алгоритм должен завершать работу и выдавать результат за конечное число шагов);
  • массовость (алгоритм должен быть применим к разным наборам исходных данных).

Фото: Markusspiske/Pixabay