Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6_Алгоритмы и способы их описания_2012.doc
Скачиваний:
48
Добавлен:
27.09.2019
Размер:
142.34 Кб
Скачать

Исполнители алгоритмов.

Задача составления алгоритма не имеет смысла, если неизвестны или не учитываются возможности его исполнителя, ведь выполнимость алгоритма зависит от того, какие действия может совершить исполнитель. Это означает, что алгоритм пишется для конкретного исполнителя.

Исполнителем алгоритма может быть человек или автомат. Например, банкомат, исправный автомат по продаже напитков работает согласно разработанному специально для него алгоритму, компьютер. Алгоритмом описывается работа любого механического устройства.

В ряду всевозможных автоматов компьютер является частным (хотя и наиболее впечатляющим) примером исполнителя, чье поведение реализуется на основе алгоритма. Более того, создание компьютеров оказало воздействие на развитие теории алгоритмов – одной из областей математики.

От компьютера, как от любого другого исполнителя, требуется четкое выполнение команд алгоритма. А от нас, как от разработчиков алгоритмов работы компьютера, требуется знание и соблюдение правил их составления. Эти правила заключаются в том, что алгоритм должен обладать пятью свойствами (удовлетворять пяти требованиям). Эти требования нашли отражение в приведенном выше определении алгоритма.

Свойства алгоритмов (требования к алгоритмам).

  1. Дискретность. Свойство алгоритма “дискретность” определяется как – возможность разбиения алгоритма на отдельные элементарные действия. Процесс решения задачи должен быть разбит на последовательность отдельных шагов. Так формируется упорядоченная совокупность отделенных друг от друга команд (предписаний). Образованная структура алгоритма оказывается прерывной (дискретной): только выполнив одну команду, исполнитель может приступать к следующей.

  2. Понятность. Свойство алгоритма “понятность ” определяется как – включение в алгоритм команд только из системы команд исполнителя. Алгоритм должен быть понятен исполнителю, и исполнитель должен быть в состоянии выполнить его команды. Следовательно, алгоритм нужно разрабатывать с ориентацией на определенного исполнителя, то есть в алгоритм можно включать команды только из системы команд данного исполнителя.

  3. Детерминированность (определенность). Свойство алгоритма “детерминированность ” определяется как – однозначность получения результата при одних и тех же исходных данных. Будучи понятным, алгоритм не должен содержать команды, смысл которых может восприниматься неоднозначно. (Например, автомат будет поставлен в тупик командой “взять две – три ложки песка”; что означает “две – три ложки”?, какого песка?). Недопустимы ситуации, когда после выполнения очередной команды, исполнителю не ясно, какую команду выполнять на очередном шаге. Нарушение составителем алгоритма этих требований (называемых требованием определенности или детерминированности) приводит к тому, что одна и та же команда, при выполнении разными исполнителями, дает неодинаковый результат.

  4. Результативность. Свойство алгоритма “результативность” определяется как – получение за конечное число шагов результата, определенного постановкой задачи. Смысл этого обязательного требования состоит в том, что при точном исполнении всех команд алгоритма процесс решения задачи должен прекратиться за конечное число шагов и при этом должен быть получен определенный постановкой задачи результат.

  5. Массовость. Свойство алгоритма “массовость ” определяется как – возможность получения искомого результата при решении всего класса задач данного типа для любых допустимых исходных данных. Разработка алгоритма – процесс творческий, но не простой, требующий многих усилий и затрат времени. Поэтому предпочтительно разрабатывать алгоритмы, обеспечивающие решение всего класса задач данного типа. Например, если составляется алгоритм решения квадратного уравнения AX2 + BX + C = 0, он должен быть вариативен, то есть обеспечивать возможность решения для любых допустимых значений коэффициентов A, B, C. Про такой алгоритм говорят, что он удовлетворяет требованию массовости.