Свойства алгоритма
Практическая работа № 18 «Управление исполнителем с пульта»
Есть три свойства, которыми обладают все алгоритмы. Это значит, что если какое-то описание действий не обладает хотя бы одним из этих свойств, то это уже не алгоритм.
1. Дискретность — алгоритм состоит из отдельных команд, каждая из которых выполняется ограниченное (не бесконечное) время.
2. Понятность — алгоритм содержит только команды, входящие в систему команд исполнителя, для которого он предназначен.
3. Определённость — при каждом выполнении алгоритма с одними и теми же исходными данными должен быть получен один и тот же результат. Другими словами, исполнитель должен однозначно понимать команду и последовательность выполнения команд и выполнять их каждый раз одинаково.
Алгоритмы часто используются для решения массовых задач, т. е. задач, которые нужно уметь решать при разных исходных данных. Примеры таких задач: найти наибольшее из двух чисел; подсчитать количество слов в тексте и т. п. В таких случаях иногда говорят ещё о некоторых дополнительных свойствах алгоритмов.
4. Конечность (результативность) — для любых допустимых исходных данных алгоритм должен заканчиваться с некоторым результатом. Если задача не имеет решения, алгоритм должен остановиться и сообщить об этом.
5. Корректность — для любых допустимых исходных данных алгоритм должен приводить к правильному решению задачи.
6. Массовость — алгоритм можно использовать для решения множества однотипных задач с различными исходными данными (при этом писать алгоритм заново не нужно!). Поэтому обычно для составления алгоритма задачу надо решить «в буквах», вводя имена для исходных данных.
Подчеркнём, что в отличие от свойств 1-3 свойства 4-6 — необязательные. Они выполняются не для всех алгоритмов. Например, при некоторых исходных данных работа алгоритма может никогда не заканчиваться. В этом случае результат работы алгоритма не определён; говорят, что алгоритм зациклился.
Обычно алгоритмы сравнивают по времени выполнения или по количеству действий. При этом лучшим считается тот алгоритм, который быстрее приводит к правильному результату (требует меньше действий исполнителя). Кроме того, нужно учитывать ещё и количество памяти, которое требуется для работы алгоритма. Поэтому выбор алгоритма зависит от особенностей задачи, которую вы решаете.
Следующая страница Как управляют исполнителями?