Основные способы записи алгоритмов.
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.