Алгоритм – система точных и понятных предписаний (команд, инструкций, директив) о содержании и последовательности выполнения конечного числа действий, необходимых для решения любой задачи данного типа..
Команда алгоритма правильна, если исполнитель ее понял и умеет выполнить.
В качестве исполнителя алгоритмов можно рассматривать человека, любые технические устройства, среди которых особое место занимает компьютер.
Алгоритм обладает следующими свойствами.
- Дискретность (от лат. discretus – разделенный, прерывистый) указывает, что любой алгоритм должен состоять из конкретных действий, следующих в определенном порядке. Образованная структура алгоритма оказывается дискретной: только выполнив одну команду, исполнитель сможет приступить к выполнению следующей.
- Детерминированность (от лат. determinate – определенность, точность) указывает, что любое действие алгоритма должно быть строго и недвусмысленно определено в каждом случае. При этом каждая команда алгоритма входит в состав системы команд исполнителя.
- Конечность определяет, что каждое действие в отдельности и алгоритм в целом должны иметь возможность завершения.
- Результативность требует, чтобы в алгоритме не было ошибок, т.е. при точном исполнении всех команд процесс решения задачи должен прекратиться за конечное число шагов и при этом должен быть получен определенный постановкой задачи результат (ответ).
- Массовость. Это свойство показывает, что один и тот же алгоритм можно использовать с разными исходными данными, т.е. применять при решении всего класса задач данного типа, отвечающих общей постановке задачи. Пример: алгоритмы «Решение квадратного уравнения», «Приготовить бутерброд».
Алгоритм обладает следующими свойствами:
Тип алгоритма определяется характером решаемой (в соответствии с его командами) задачи.
Типовые конструкции алгоритмов:
- Линейная
- Циклическая
- Разветвляющаяся
- Вспомогательная
Линейный (последовательный) алгоритм – описание действий, которые выполняются однократно в заданном порядке.
Циклический – описание действий или группы действий, которые должны повторяться указанное число раз или пока не выполнено заданное условие. Совокупность повторяющихся действий – тело цикла.
Разветвляющийся – алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий. Условие – выражение, находящееся между словом «если» и словом «то» и принимающее значение «истина» (ветвь «да») или «ложь» (ветвь «нет»). Возможна полная и неполная форма ветвления.
Вспомогательный – алгоритм, который можно использовать в других алгоритмах, указав только его имя. Вспомогательному алгоритму должно быть присвоено имя.
Способы описания алгоритмов.
- на естественном языке;
- на специальном (формальном) языке;
- с помощью формул, рисунков, таблиц;
- с помощью стандартных графических объектов (геометрических фигур) – блок-схемы.