Алгоритмы

Основные сведения

Алгоритмом называется точное и понятное предписание исполнителю совершать последовательность действий, направленных на решение поставленной задачи.

Или:

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

Под элементарной операцией понимается  простое действие, которое уже не имеет смысла детализировать.

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

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

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

Решение задач на ЭВМ представляет собой сложный процесс, состоящий из нескольких этапов (рис.1). Разработка алгоритма – это один из этих этапов

       Рисунок 1 - Схема процесса решения задачи на ЭВМ

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

Математическая формулировка – заключается в записи условия задачи  помощью математических обозначений, формул, зависимостей, в определении исходных данных и формы выдачи результатов вычислений.

Выбор метода решения задачи на ЭВМ. После построения математической модели необходимо выбрать метод решения задачи на ЭВМ. Выбранный метод является основой построения алгоритма решения задачи.

Разработка алгоритма решения задачи заключается в установлении необходимой последовательности арифметических и логических действий, строгое выполнение которых приводит к решению задачи.

Составление программы – заключается в записи программы на языке программирования.

Отладка программы – этап, необходимый для выявления и устранения ошибок в программе.

Решение задачи на ЭВМ – производится по отлаженной программе для всего множества исходных данных.

Способы описания алгоритмов

Существуют следующие способы описания (представления) алгоритмов:

  1. словесное описание;
  2. описание алгоритма с помощью   математических  формул;
  3. графическое описание алгоритма в виде блок-схемы;
  4. описание алгоритма с помощью псевдокода;
  5. комбинированный способ изображения алгоритма с   использованием словесного, графического и др. способов.

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

Графическое описание алгоритма в виде блок-схемы – это описание структуры алгоритма с помощью геометрических фигур с линиями связи.

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

Символы, из которых состоит блок-схема алгоритма, определяет ГОСТ 19.701-90. Этот ГОСТ соответствует международному стандарту оформления алгоритмов, поэтому блок-схемы алгоритмов, оформленные согласно ГОСТ 19.701-90, в разных странах понимаются однозначно.

Псевдокод – описание структуры алгоритма на естественном, но частично формализованном языке. В псевдокоде используются некоторые формальные конструкции и общепринятая математическая символика. Строгих синтаксических правил для записи псевдокода не предусмотрено.

Рассмотрим простейший пример. Пусть необходимо описать алгоритм вывода на экран монитора наибольшего значения из двух чисел.


Рисунок 1 - Пример описания алгоритма в виде блок-схемы

Описание этого же алгоритма на псевдокоде:

  1. Начало
  2. Ввод чисел: Z, X
  3. Если Z > X то Вывод Z
  4. Иначе вывод Х
  5. Конец

Каждый из перечисленных способов изображения алгоритмов имеет и достоинства и недостатки. Например, словесный способ отличается многословностью и отсутствием наглядности, но дает возможность лучше описать отдельные операции. Графический способ более наглядный, но часто возникает необходимость описать некоторые операции в словесной форме. Поэтому при разработке сложных алгоритмов лучше использовать комбинированный способ.