Понятие алгоритма так же фундаментально для информатики, как и понятие информации.

Само слово «алгоритм» происходит от имени выдающегося математика средневекового Востока Мухаммеда аль-Хорезми (Его полное имя Абу Абдуллах (или Абу Джафар) Мухаммад ибн Муса аль-Хорезми. Известно, что он родился до 800 г., а умер после 847 г., жил и работал в Багдаде – крупном научном центре и влиятельной столице Древнего Востока). Им были предложены приемы выполнения арифметических вычислений с многозначными числами (они всем хорошо знакомы из школьной математики). Позже в Европе эти приемы назвали алгоритмами от «Algorithmi» - латинского написания имени аль-Хорезми.

      В наше время понятие алгоритма понимается шире, не ограничиваясь только арифметическими вычислениями. Термин "алгоритм" стал достаточно распространенным не только в информатике, но и в быту.

Под алгоритмом (в быту) понимают описание какой-либо последовательности действий для достижения заданной цели.

       В этом смысле, например, алгоритмами можно назвать инструкцию по использованию кухонного комбайна, кулинарный рецепт, правила перехода улицы и пр.
       Для использования понятия алгоритма в информатике требуется более точное определение, чем данное выше.
       Ключевыми словами, раскрывающими смысл этого понятия, являются: исполнитель, команда, система команд исполнителя.

       Алгоритм представляет собой последовательность команд (еще говорят - инструкций, директив), определяющих действия исполнителя (субъекта или управляемого объекта). Всякий алгоритм составляется в расчете на конкретного исполнителя с учетом его возможностей. Для того, чтобы алгоритм был выполним, нельзя включать в него команды, которые исполнитель не в состоянии выполнить. Нельзя повару поручать работу токаря, какая бы подробная инструкция ему не давалась. У каждого исполнителя имеется свой перечень команд, которые он может исполнить. Такой перечень называется системой команд исполнителя алгоритмов. (СКИ).
Например:
Исполнитель Система команд исполнителя
“Черепашка” в среде Лого ВП, ПР, ЛВ, ПО, ПИШИ, НЦ, КРАСЬ, БЫСТРО, ПОВТОРИ и т.д.
Операционная система CLS, CD, DIR, COPY, RENAME, TIME, MD и т.д.
СОБАКА “сидеть”, ”лежать”, ”апорт”, ”фас”, ”барьер” и т.д.

Свойства алгоритмов

      Например, если составляется алгоритм решения уравнения А : Х = С, то он должен быть вариативен, т.е. обеспечивать возможность решения для любых допустимых исходных значений коэффициентов А и С. Про такой алгоритм говорят, что он удовлетворяет требованию массовости.
      Свойство массовости не является необходимым свойством алгоритма. Оно скорее определяет качество алгоритма: в то же время свойства точности, понятности и конечности являются необходимыми (иначе это не алгоритм).

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

      Еще пример: для поиска номера телефона нужного вам человека исходными данными являются: фамилия, инициалы человека и телефонная книга (точнее, информация, заключенная в телефонную книгу). Однако этого может оказаться недостаточно. Например, вы ищите телефон А. И. Смирнова и обнаруживаете, что в книге пять строк с фамилией «Смирнов А. И.» Ваши исходные данные оказались неполными для точного решения задачи (вместо одного телефона вы получили пять). Оказалось, что нужно знать еще домашний адрес. Набор: фамилия — инициалы — телефонный справочник — адрес — является полным набором данных в этой ситуации. Только имея полный набор данных, можно точно решить задачу. Обобщая все сказанное, сформулируем определение алгоритма.

Алгоритм — понятное и точное предписание исполнителю выполнить конечную последовательность команд, приводящую от исходных данных к искомому результату.

      Если алгоритм обладает перечисленными выше свойствами, то работа по нему будет производиться исполнителем формально (т.е. без всяких элементов творчества с его стороны). На этом основана работа программно-управляемых исполнителей-автоматов, например промышленных роботов. Робот-манипулятор может выполнять работу токаря, если он умеет делать все операции токаря (включать станок, закреплять резец, перемещать резец, замерять изделие и т.д.). От исполнителя не требуется понимание сущности алгоритма, он должен лишь точно выполнять команды, не нарушая их последовательности.