Алгоритм — формально описанная последовательность действий‚ которые необходимо выполнить для получения требуемого результата.
Основные особенности алгоритма
конечность (алгоритм всегда должен заканчиваться после выполнения конечного числа шагов);
определенность (каждый шаг алгоритма должен быть точно определен);
ввод (алгоритм имеет некоторое‚ возможно равное нулю‚ число входных данных‚ т.е. величин‚ которые задаются до начала его работы или определяются динамически во время его работы);
вывод (у алгоритма есть одно или несколько выходных данных‚ т.е. величин‚ которые имеют вполне определенную связь с входными данными);
эффективность (алгоритм обычно считается эффективным‚ если все его операторы достаточно просты для того‚ чтобы их можно было выполнить в течение конечного промежутка времени с помощью карандаша и бумаги).
Одним из критериев качества алгоритма является время‚ необходимое для его выполнения. Данную характеристику можно оценить по тому‚ сколько раз выполняется каждый шаг. Другими критериями является адаптируемость алгоритма к различным компьютерам‚ его простота‚ изящество и т.д.
Различают последовательности действий линейной‚ разветвленной и циклической структуры.
Линейная структура представляет из себя определенную последовательность операций, выполняемых друг за другом.
Для разветвленной структуры конкретная последовательность операций зависит от значений одного или нескольких параметров.
Циклическая структура включает в себя многократно повторяющуюся последовательность операций.
Циклические структуры можно разделить следующим образом:
счетные циклы — циклические процессы, для которых количество повторений известно;
итерационные циклы — циклические процессы, завершающиеся по достижении или нарушении некоторых условий;
поисковые циклы — циклические процессы, из которых возможны два варианта выхода: выход по завершению процесса и досрочный выход по какому-либо дополнительному условию.
Формальное описание алгоритмов осуществляется с использованием схем алгоритмов и псевдокодов.