Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Справочник Pascal ABC.doc
Скачиваний:
66
Добавлен:
07.11.2018
Размер:
985.6 Кб
Скачать

Алгоритмизация

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

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

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

Сам термин “алгоритм” ведет начало от перевода на европейские языки имени арабского математика IX в. аль-Хорезми, которым были описаны правила (в нашем понимании - алгоритмы) выполнения основных арифметических действий в десятичной системе исчисления.

Алгоритм и его свойства

В основе решения любой задачи лежит понятие алгоритма. Под алгоритмом принято понимать "точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату" (ГОС 19.781-74).

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

При составлении алгоритмов следует учитывать ряд требований, выполнение которых приводит к формированию необходимых свойств. Алгоритм должен быть однозначным, исключающим произвольность толкования любого из предписаний и заданного порядка исполнения. Это свойство алгоритма называется определенностью. Будучи понятным, алгоритм не должен содержать команды, смысл которых может восприниматься неоднозначно (например, робот будет поставлен в тупик командой “Взять две-три ложки песка”: что значит “две-три”, какого песка?). Кроме того, недопустимы ситуации, когда после выполнения очередной команды исполнителю неясно, какую команду выполнять на следующем шаге. Нарушение составителем алгоритма этих требований (называемых требованиями определенности или детерминированности) приводит к тому, что одна и та же команда после выполнения разными исполнителями дает неодинаковый результат.

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

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

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

Разработка алгоритмов - процесс интересный, творческий, но непростой, требующий многих умственных усилий и затрат времени. Поэтому предпочтительно разрабатывать алгоритмы, обеспечивающие решение всего класса задач данного типа. Например, если составляется алгоритм решения квадратного уравнения АХ2+ВХ+С=0, то он должен быть вариативен, т.е. обеспечивать возможность решения для любых допустимых исходных значений коэффициентов А,В,С. Про такой алгоритм говорят, что он удовлетворяет требованию массовости. Решение однотипных задач с различными исходными данными можно осуществлять по одному и тому же алгоритму, что дает возможность создавать типовые программы для решения задач при различных вариантах задания значений исходных данных. Это свойство алгоритма называется массовостью.

Таким образом, метод алгоритмизации имеет широкие сферы применения. Алгоритмизация - общий метод кибернетики, которая рассматривает процессы управления в различных системах как реализацию определенных алгоритмов. Алгоритмизация – техника составления алгоритмов и программ для решения задач на ЭВМ.