Алгоритм и его свойства. В основе решения любой задачи лежит понятие алгоритма
В основе решения любой задачи лежит понятие алгоритма. Под алгоритмом принято понимать "точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату" (ГОС 19.781-74).
Задача составления алгоритма не имеет смысла, если не известны или не учитываются возможности его исполнителя, ведь выполнимость алгоритма зависит от того, какие действия может совершить исполнитель. Важно также, что исполнителем алгоритмов может быть не человек, а автомат. В ряду всевозможных автоматов компьютер является лишь частным (хотя и наиболее впечатляющим) примером исполнителя, чье поведение реализуется на основе алгоритма. От компьютера, как и от любого другого исполнителя, требуется четкое выполнение команд алгоритма. А от разработчиков алгоритмов, требуется знание и соблюдение правил их составления. Эти правила заключаются в том, что алгоритм, предназначенный для исполнения автоматом, должен обладать пятью свойствами (удовлетворять пяти требованиям). Эти требования к алгоритму объясняются тем, что исполнитель-автомат не имеет своего интеллекта, его возможности всегда ограничены.
При составлении алгоритмов следует учитывать ряд требований, выполнение которых приводит к формированию необходимых свойств. Алгоритм должен быть однозначным, исключающим произвольность толкования любого из предписаний и заданного порядка исполнения. Это свойство алгоритма называется определенностью. Будучи понятным, алгоритм не должен содержать команды, смысл которых может восприниматься неоднозначно (например, робот будет поставлен в тупик командой “Взять две-три ложки песка”: что значит “две-три”, какого песка?). Кроме того, недопустимы ситуации, когда после выполнения очередной команды исполнителю неясно, какую команду выполнять на следующем шаге. Нарушение составителем алгоритма этих требований (называемых требованиями определенности или детерминированности) приводит к тому, что одна и та же команда после выполнения разными исполнителями дает неодинаковый результат.
Процесс решения задачи должен быть разбит на последовательность отдельных шагов. Таким образом, формируется упорядоченная совокупность отделенных друг от друга команд (предписаний). Образующаяся структура алгоритма оказывается прерывной (дискретной): только выполнив одну команду, исполнитель сможет приступить к выполнению следующей. Предопределенный алгоритмом вычислительный процесс можно расчленить на отдельные этапы, элементарные операции. Это свойство алгоритма называется дискретностью.
Алгоритм должен быть понятен исполнителю, и исполнитель должен быть в состоянии выполнить его команды. Следовательно, алгоритм нужно разрабатывать с ориентацией на определенного исполнителя, т.е. он может содержать команды только из набора команд данного исполнителя.
Обязательное требование к алгоритмам результативность. Смысл его состоит в том, что при точном исполнении всех команд алгоритма процесс решения задачи должен завершится за конечное число шагов и при этом должен быть получен определенный ответ на вопрос задачи. Реализация вычислительного процесса должна через определенное число шагов привести к выдаче результатов или сообщения о невозможности решения задачи. Это свойство алгоритма называется результативностью.
Разработка алгоритмов - процесс интересный, творческий, но непростой, требующий многих умственных усилий и затрат времени. Поэтому предпочтительно разрабатывать алгоритмы, обеспечивающие решение всего класса задач данного типа. Например, если составляется алгоритм решения квадратного уравнения АХ2+ВХ+С=0, то он должен быть вариативен, т.е. обеспечивать возможность решения для любых допустимых исходных значений коэффициентов А,В,С. Про такой алгоритм говорят, что он удовлетворяет требованию массовости. Решение однотипных задач с различными исходными данными можно осуществлять по одному и тому же алгоритму, что дает возможность создавать типовые программы для решения задач при различных вариантах задания значений исходных данных. Это свойство алгоритма называется массовостью.
Таким образом, метод алгоритмизации имеет широкие сферы применения. Алгоритмизация - общий метод кибернетики, которая рассматривает процессы управления в различных системах как реализацию определенных алгоритмов. Алгоритмизация – техника составления алгоритмов и программ для решения задач на ЭВМ.
Дата добавления: 2015-08-08; просмотров: 1622;