Основные способы записи алгоритмов.

1. Словесное описание - используется естественный язык.

2. Графическое. С помощью специальных изображений, которые называют блок—схемами.

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

С учетом введенных обозначений множеств Е и R задача алгоритма заключается в определении выходных данных (результата задачи R) по ее заданным входным данным (аргументам Е). Обозначим алгоритм решения задачи через А. Тогда связь множеств Е и R с помощью А можно условно представить в следующем виде: R = А(Е).

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

В качестве примеров словесного описания алгоритмов рассмотрим задачи из примеров 1 и 2 п. 1.1.

Пример 3. Дать словесное описание алгоритма расчета площади прямоугольника с учетом постановки задачи, данной в примере 1.

Решение. Зависимость результата от аргументов задачи R = А(Е)в данной задаче принимает форму: {S} = А({a,b}). Последовательность действий по получению S состоит всего из одного шага – умножения a на b и присваиванию полученной величины переменной S: S = a ´ b. Таким образом, словесно искомый алгоритм А можно представить в виде следующей записи:

Шаг 1. S = a ´ b.

Действия, выполняемые алгоритмом, составляют тело алгоритма. В примере 3 дано тело алгоритма. Полным описанием алгоритма А называют совокупность, состоящую из:

I) названия алгоритма с указанием аргументов Е и результатов задачи R;

II) вспомогательная информация (комментарий), поясняющая назначение алгоритма;

III) тело алгоритма.

Таким образом полное описание алгоритма наряду с описанием задачи содержит метод ее решения (тело алгоритма) и поясняющие комментарии к нему.

Пример 4. Дать полное словесное описание алгоритма определения величины и номера минимального элемента в вещественном числовом массиве с учетом постановки задачи, данной в примере 2.

Решение. Зависимость результата от аргументов задачи имеет вид: {М_min, i_min}=А({n,М[1:n]}). Для решения задачи путем перебора вначале в качестве минимального элемента примем первый элемент массива, а затем будем сравнивать его со всеми последующими элементами, при необходимости уточняя его. Для перебора элементов массива используем вспомогательную целочисленную переменную i . Словесно искомый алгоритм А представим в виде набора из 5 шагов. Вставляя перед телом алгоритма его название и поясняющий комментарий, получим его полное словесное описание:

IНазвание алгоритма, аргументы Е и результаты R. Алгоритм определения величины и номера минимального элемента в вещественном числовом массиве. Аргументы: Е = {n, М[1: n]}, результаты R ={М_min, i_min}.

II Комментарий.Решение задачи производится путем перебора элементов массива.

III. Тело алгоритма.

Шаг 1. М_min = М[1], i_min = 1, i = 1.

Шаг 2. i = i +1.

Шаг 3. Если i > n, то выход из алгоритма. Иначе – продолжение расчетов.

Шаг 4. Если М[i] < М_min, то выполняем присваивания: М_min = М[i], i_min = i .

Шаг 5. Переход на Шаг 2.

Вопросы для проверки знаний.

1. Что означает термин “алгоритм”?

2. Назовите свойства алгоритмов и раскройте их смысл.

3. Назовите основные способы задания алгоритмов.

4. В чем отличие полного описания алгоритма от постановки задачи?

5. Назовите основные составляющие полного описания алгоритма.

Практические задания.

1. Дать полное описание алгоритма решения практического задания 1 из п.1.1.

2. Дать полное описание алгоритма решения практического задания 2 из п.1.1.

3. Дать полное описание алгоритма решения практического задания 3 из п.1.1.