Алгоритмы и исполнители
Теория
Каждый человек в повседневной жизни, в учёбе или на работе решает огромное количество задач самой разной сложности. Сложные задачи требуют длительных размышлений для нахождения решения; простые и привычные задачи человек решает не задумываясь, автоматически. В большинстве случаев решение каждой задачи можно разбить на простые этапы (шаги). Для многих таких задач (установка программного обеспечения, сборка шкафа, создание сайта, эксплуатация технического устройства, покупка авиабилета через Интернет и т. д.) уже разработаны и предлагаются пошаговые инструкции, при последовательном выполнении которых можно прийти к желаемому результату.
Последовательность действий при решении задач называют алгоритмом
Алгоритм — это последовательность команд, предназначенная исполнителю, в результате выполнения которой он должен решить поставленную задачу.
Каждый алгоритм создается человеком или группой людей. Алгоритм выполняется исполнителями алгоритмов.
Исполнитель алгоритма - человек или техническое устройство, которые понимают команды алгоритма и умеют правильно их выполнять.
Выполнять алгоритм может не только человек (группа людей), но и робот, станок, детская игрушка, стиральная машина и т. д. Исполнителем алгоритма может быть животное (например, дрессированная собака, лошадь), которое понимает и умеет выполнять набор команд.
Человека окружает множество технических устройств: телевизор, телефон, автомобиль, фотоаппарат и т. д.
Каждое устройство имеет свое назначение, свой набор выполняемых функций (команд). Команды, которые понимает и может выполнить исполнитель команд, образуют систему команд исполнителя.
Любой исполнитель имеет ограниченную систему команд. Команды алгоритма исполнитель выполняет последовательно, в порядке записи команд алгоритма.
Исполнитель выполняет команды формально, не рассуждая над их смыслом. Поэтому процесс исполнения алгоритма можно автоматизировать.
Каждый алгоритм предназначен для определённого исполнителя.
Исполнитель — это некоторый объект (человек, животное, техническое устройство), способный выполнять определённый набор команд.
Различают формальных и неформальных исполнителей. Формальный исполнитель одну и ту же команду всегда выполняет одинаково. Неформальный исполнитель может выполнять команду по-разному.
Рассмотрим более подробно множество формальных исполнителей. Формальные исполнители необычайно разнообразны, но для каждого из них можно указать следующие характеристики: круг решаемых задач (назначение), среду, систему команд и режим работы.
Круг решаемых задач. Каждый исполнитель создаётся для решения некоторого круга задач — построения цепочек символов, выполнения вычислений, построения рисунков на плоскости и т. д.
Среда исполнителя. Область, обстановку, условия, в которых действует исполнитель, принято называть средой данного исполнителя. Исходные данные и результаты любого алгоритма всегда принадлежат среде того исполнителя, для которого предназначен алгоритм.
Система команд исполнителя. Предписание исполнителю о выполнении отдельного законченного действия называется командой. Совокупность всех команд, которые могут быть выполнены некоторым исполнителем, образует систему команд данного исполнителя (СКИ). Алгоритм составляется с учётом возможностей конкретного исполнителя, иначе говоря, в системе команд исполнителя, который будет его выполнять.
Режимы работы исполнителя. Для большинства исполнителей предусмотрены режимы непосредственного управления и программного управления. В первом случае исполнитель ожидает команд от человека и каждую поступившую команду немедленно выполняет. Во втором случае исполнителю сначала задаётся полная последовательность команд (программа), а затем он выполняет все эти команды в автоматическом режиме. Ряд исполнителей работает только в одном из названных режимов.