Свойства алгоритмов
Для того чтобы алгоритм был корректным (правильно исполнялся и приводил к желаемому результату), он должен обладать некоторыми свойствами:
- Понятность. Исполнитель алгоритма должен знать, как его выполнять.
- Дискретность. Алгоритм должен состоять из конечного числа отдельных шагов.
- Результативность. Выполнение алгоритма должно закончиться выдачей результата (или сообщением о том, что результата в данной ситуации достичь не удалось).
- Конечность. Выполнение алгоритма должно когда-нибудь закончиться. Если не следить за выполнением этого условия, можно написать такой алгоритм, который будет выполняться бесконечно, по кругу.
- Однозначность. Каждый шаг алгоритма может быть истолкован исполнителем одним единственным образом и не предусматривать возможности для двух и более способов выполнения этого шага. Это очень важное свойство. Если алгоритм, написанный с нарушением этого свойства, будет исполнять человек, он может выбрать тот вариант исполнения, который кажется ему более правильным, и при этом вполне может ошибиться. Если же такой алгоритм попадет на исполнение к исполнителю с формальным списком команд, он просто не сможет быть исполненным.
- Массовость. Желательно, чтобы алгоритм был универсальным, то есть подходил для решения всех однотипных задач.