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

Понимая, что единого «истинного» определения понятия «алгоритм» нет, приведем еще два определения:

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

«Алгоритм — это всякая система вычислений, выполняемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи». (А. Колмогоров)

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

В математике рассматриваются различные виды алгоритмов – программы для машин Тьюринга, алгоритмы Маркова, рекурсивные функции и т.д. В программировании предполагается, что все языки программирования являются одинаково мощными. То есть любую задачу, имеющую алгоритм решения, можно решить посредством любого языка программирования. Выбор языка в конкретной ситуации зависит от удобства инструментов этого языка для данной задачи. Например, объектно-ориентированные языки удобны для программирования оконных сред, а язык Фортран с успехом используется для выполнения научных и инженерных расчетов.

Многие алгоритмические языки, используемые в программировании, имеют сходства. Но при изложении идеи алгоритма не всегда целесообразно оформлять его на каком-нибудь языке программирования, так как идея алгоритма может быть искажена второстепенными деталями. В таких случаях пользуются близким к человеческому алгоритмическим языком. Такой язык еще называют псевдокодом. Специалисту не трудно перевести алгоритм, описанный на псевдокоде, в программу на конкретном языке программирования.

Запись алгоритма в псевдокоде во многих ситуациях яснее и понятней. Псевдокод дает возможность выбора способа изложения алгоритма: от приведения общего чертежа алгоритма до описания деталей каждой части алгоритма.

Псевдокод включает в себя сущность большинства языков программирования.

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

Алгоритм, в котором есть структура СЛЕДОВАНИЕ называется ЛИНЕЙНЫМ. Следование - это расположение действий друг за другом.
Примерная схема:

 

Алгоритм, в котором есть структура ВЕТВЛЕНИЕ называется РАЗВЕТВЛЯЮЩИМСЯ. Ветвление - это выбор действия в зависимости от выполнения какого-нибудь условия
Примерная схема:

 

Алгоритм, в котором есть структура ЦИКЛ называется ЦИКЛИЧЕСКИМ. Цикл - это неоднократное повторение каких-либо действий.
Примерная схема: