Алгоритм
Алгоритм — это точное описание последовательности действий, выполнение которых приводит к решению задачи. Алгоритм предназначен для исполнителя: человека, компьютера или специального устройства.
Любой алгоритм связан с входными и выходными данными. На вход поступают исходные значения, а после выполнения команд получается результат. Отдельное действие алгоритма называется шагом, а набор значений, важных в данный момент выполнения, образует его состояние.
Свойства алгоритма
Алгоритм должен обладать несколькими основными свойствами: дискретностью, определённостью, конечностью, результативностью и массовостью. Дискретность означает, что решение состоит из отдельных шагов. Определённость требует однозначности каждой команды: при одинаковом состоянии исполнитель выбирает одно и то же действие. Конечность означает завершение за ограниченное число шагов, а результативность — получение результата или сообщения о невозможности решения. Массовость показывает, что алгоритм подходит для целого класса похожих задач, а не только для одного набора чисел. Подробнее эти признаки разобраны на странице свойства алгоритма.
Как записывают алгоритмы
Алгоритм можно представить словесно, в виде последовательности команд, таблицы, блок-схемы или программы. В учебных задачах часто используют школьный алгоритмический язык и блок-схемы. Выбор записи не меняет сам алгоритм, а только делает его понятнее исполнителю и читателю. Основные способы описания собраны на странице способы описания алгоритма. Чтобы проверить работу алгоритма, выполняют трассировку алгоритма — пошагово записывают изменения данных.
Алгоритм нахождения большего из двух чисел \(a\) и \(b\): 1) ввести \(a\) и \(b\); 2) если \(a > b\), вывести \(a\); 3) иначе вывести \(b\). Он подходит для любых двух чисел, содержит однозначные команды и заканчивается после вывода результата.
Алгоритм — это описание способа решения, а программа — его запись на языке программирования, которую может выполнить компьютер. Один алгоритм можно записать разными способами.
Какое свойство нарушено, если команда алгоритма допускает два разных толкования?
Главное
- Алгоритм — конечная последовательность точных команд для решения задачи.
- Его важные свойства: дискретность, определённость, конечность, результативность и массовость.
- Алгоритм можно записать словами, схемой или программой; способ записи не меняет саму идею решения.