Термин алгоритм происходит от имени узбекского ученого 9в. Аль-Хорезми, который в своем труде "Арифметический трактат", переведенном в 12в. с арабского на латынь, изложил правила арифметических действий над числами. Эти правила и называли алгоритмами. Таким образом, правила вычитания, сложения, умножения, построения геометрических фигур - все это алгоритмы.
С течением времени данное понятие расширялось и теперь, алгоритмами называют определенную последовательность действий, приводящую к определенному результату.
Рассмотрим пример:
Дано: улица с движением, пешеходный переход.
Найти: переход на другую сторону улицы.
1) остановиться на тротуаре;
2) посмотреть налево;
3) если транспорта нет, то идти до середины дороги и остановиться, иначе ждать пока проедет транспорт, затем идти до середины дороги и остановиться;
4) посмотреть направо;
5) если транспорта нет, то идти до тротуара противоположной стороны улицы, иначе ждать пока проедет транспорт, затем идти до тротуара противоположной стороны улицы;
6) конец.
Свойства алгоритмов:
1. Дискретность (разбиение на последовательность отдельных шагов)
2. Понятность
3. Детерминированность или однозначность (не должно быть шагов, которые можно воспринять неоднозначно)
4. Результативность
5. Массовость
Способы записи алгоритмов:
1. словесный
Ø естественный язык (кулинарный рецепт)
Ø язык программирования
2. графический (блок-схемы)
Ни один алгоритм не может работать без исполнителя – человека, животного или машины который понимает команды и исполняет их формально, т.е. не задумываясь.
У каждого исполнителя есть своя система команд исполнителя (СКИ). Если по каким-либо причинам он не может выполнить команду, поступает сообщение «не могу». Если команда не входит в СКИ, поступает сообщение «не понимаю».