Алгоритм – это точно определенное описание способа решения задачи в виде конечной (по времени) последовательности действий.
Слово "алгоритм" появилось в результате искаженного перевода с арабского на европейские языки имени узбекского ученого IX века Аль Хорезми, который изложил правила арифметических действий над числами в десятичной системе счисления. Эти правила и назвали алгоритмами.
Свойства алгоритма, отличающие его от любых других предписаний:
- дискретность – разбиение процесса обработки информации на более простые этапы (шаги), выполнение которых человеком или компьютером не вызывает затруднений;
- определенность (детерминированность) – однозначность выполнения каждого отдельного шага преобразования информации;
- результативность (конечность) – завершение работы алгоритма за конечное число шагов;
- массовость – пригодность алгоритма для решения определенного класса задач.
Для представления алгоритма в виде, понятном компьютеру, служат языки программирования. Сначала разрабатывается алгоритм действий, а потом он записывается на одном из таких языков. В итоге получается текст программы – полное, законченное и детальное описание алгоритма на языке программирования. Затем этот текст программы обрабатывается специальными приложениями (трансляторами) – переводится в машинный код, либо исполняется.
Способы представления алгоритма:
– словесный – описание алгоритма словами, возможна любая степень детализации описания; формульно-словесный – более компактный, словесные описания сочетаются с формулами:
1) задать значение погрешности ? и начальное приближение x0;
2) вычислить корень уравнения:
3) если идти к 2;
4) вывод х = ;
5) конец;
– графический – наиболее распространен, алгоритм представляется в виде схемы, состоящей из символов, отражающих отдельные пункты алгоритма; причем различным по типу выполняемых действий блокам соответствуют различные геометрические фигуры согласно стандарту;
линии означают потоки информации, основное направление потока информации – сверху вниз и слева направо (стрелки на линиях могут не указываться), в других случаях применение стрелок обязательно.
– операторный (псевдокод) – в виде последовательности операторов на специальном алгоритмическом языке;
– табличный – представление алгоритма в виде таблицы решений, носит вспомогательный характер;
– с помощью структурограммы (схемы Насси-Шнейдермана) – реализует в себе требования структурного программирования в схемах алгоритмов.