Алгоритм

Алгоритм – фундаментальное понятие в информатике, поэтому имеет большое количество интерпретаций. Приведем несколько таких определений.

Алгоритм — это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность» . (Д. Э. Кнут) 

Алгоритм — это последовательность действий, направленных на получение определённого результата за конечное число шагов

Алгоритм — это последовательность действий, либо приводящая к решению задачи, либо поясняющая почему это решение получить нельзя

Исходя из определений алгоритма, можно выделить его свойства:

  • Дискретность  – алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов. Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего.
  • Определенность – каждое правило алгоритма должно быть четким и однозначным.
  • Результативность (конечность) – алгоритм должен приводить к решению задачи за конечное число шагов.
  • Массовость – алгоритм решения задачи разрабатывается в общем виде, то есть, он должен быть применим для некоторого класса задач, различающихся только исходными данными.

Виды алгоритма:

Скриншот 25-04-2016 202943

  • Линейный алгоритм – набор команд (указаний), выполняемых последовательно во времени друг за другом.
  • Циклический алгоритм– алгоритм, предусматривающий многократное повторение одного и того же действия (одних и тех же операций) над новыми исходными данными. К циклическим алгоритмам сводится большинство методов вычислений, перебора вариантов. Цикл программы – последовательность команд (серия, тело цикла), которая может выполняться многократно (для новых исходных данных) до удовлетворения некоторого условия.
  • Разветвляющийся алгоритм – алгоритм, содержащий хотя бы одно условие, в результате проверки которого происходит переход на один из двух возможных шагов.
  • Вспомогательный (подчиненный) алгоритм (процедура) – алгоритм, ранее разработанный и целиком используемый при алгоритмизации конкретной задачи. В некоторых случаях при наличии одинаковых последовательностей указаний (команд) для различных данных с целью сокращения записи также выделяют вспомогательный алгоритм.