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