- •Курсовая работа
- •Теоретический вопрос «Виды и свойства алгоритмов»
- •Введение
- •Виды алгоритмов
- •Свойства алгоритмов
- •Дискретность
- •Детерминированность (определенность)
- •Результативность
- •Массовость
- •Допустимость начальных данных
- •Решение задачи Майхилла (о стрелках)
- •Постановка задачи
- •Решение задачи
- •Перечень блоков
- •Функционирование модели
- •Заключение
- •Список использованных источников
Свойства алгоритмов
Для алгоритмов характерны общие черты и особенности.
Дискретность
Применение каждого алгоритма осуществляется путем выполнения дискретной цепочки (последовательности) неких элементарных действий. Эти действия называют шагами, а процесс их выполнения называют алгоритмическим процессом [4, С. 314].
Детерминированность (определенность)
Каждый шаг алгоритма должен быть точно определен. Действия, которые нужно выполнить, должны быть строго и недвусмысленно определены для каждого конкретного случая. Предписания алгоритма единственным и вполне определенным путем всякий раз приводят к искомому результату. Для описания алгоритмов были разработаны формально определенные языки программирования, или машинные языки, в которых каждый оператор имеет строго определенное значение [5, С. 23-24].
Результативность
Данное свойство требует от алгоритма остановки после конечного числа шагов (зависящего от данных) с указанием того, что считать результатом. В частности, всякий, кто предъявляет алгоритм решения некоторой задачи, например вычисления функции f(x), должен показать, что алгоритм останавливается после конечного числа шагов (говорят, сходится) для любого x из области задания f. Проверить результативность (сходимость) непросто. Сходимость обычно не удается установить простым просмотром описания алгоритма; общего же метода проверки сходимости, пригодного для любого алгоритма А и любых данных х, не существует [2, С. 149].
Массовость
Имеется в виду возможность применять алгоритм к обширному классу начальных данных, возможность достаточно широко эти начальные данные варьировать. Другими словами, каждый алгоритм призван решить ту или иную массовую проблему, т.е. решать класс однотипных задач. Например, задача нахождения наибольшего общего делителя чисел 4 и 6 есть единичная проблема, но задача нахождения наибольшего общего делителя произвольных натуральных чисел т и п – уже проблема массовая.
Допустимость начальных данных
Говоря о начальных данных для алгоритма, имеют в виду так называемые допустимые начальные данные, т. е. такие начальные данные, которые сформулированы в терминах данного алгоритма.
Среди допустимых начальных данных для алгоритма могут быть такие, к которым он применим, т.е. отправляясь oт которых можно получить искомый результат, а могут быть и такие, к которым данный алгоритм неприменим, т.е. отправляясь от которых искомого результата получить нельзя. Неприменимость алгоритма к допустимым начальным данным может заключаться либо в том, что алгоритмический процесс никогда не оканчивается, либо в том, что его выполнение во время одного из шагов наталкивается на препятствие, заходит в тупик. [4, С. 314-315]
Также следует различать:
а) описание алгоритма (инструкцию или программу);
б) механизм реализации алгоритма (например, ЭВМ), включающий средства пуска, остановки, реализации элементарных шагов, выдачи результатов и обеспечения детерминированности, т. е. управления ходом вычисления;
в) процесс реализации алгоритма, т. е. последовательность шагов, которая будет порождена при применении алгоритма к конкретным данным. [2, С. 149]
