Способы записи алгоритмов
Марков А.А. (1903—1979) установил, что алгоритмы должны содержать предписания двух видов:
1) функциональные операторы - предписания, направленные на непосредственное преобразование информации;
2) логические операторы - предписания, определяющие дальнейшее направление действий.
Именно эти операторы положены в основу большинства способов записи алгоритмов.
Основные способы записи алгоритма
I. Словесные
А) Словесное описание - самая простая запись алгоритма в виде набора высказываний на обычном разговорном языке.
Пример. Словесное описание алгоритма нахождения наибольшего общего делителя (НОД) пары целых чисел (алгоритм Евклида).
Чтобы найти НОД двух чисел, составьте таблицу из двух столбцов и назовите столбцы X и Y. Запишите первое из заданных чисел в столбец Х, а второе - в столбец Y. Если данные числа не равны, замените большее из них на результат вычитания из большего числа меньшего.
Повторяйте такие замены до тех пор, пока числа не окажутся равными, после чего число из столбца Х считайте искомым результатом.
Б) Построчная запись
Правила построчной записи алгоритма:
- Каждое предписание записывается с новой строки;
- Предписание (шаги) алгоритма нумеруются;
- Исполнение алгоритма происходит в порядке возрастания номеров шагов, начиная с первого, если нет особых указаний.
Кроме слов естественного языка предписания могут содержать математические выражения и формулы.
Пример. Построчная запись алгоритма Евклида
- Начало.
- Обозначить первое из заданных чисел Х, второе - Y.
- Если Х = Y то перейти к п. 9.
- Если X >Y , то перейти к п. 5, иначе перейти к п. 7.
- Заменить X на X-Y.
- Перейти к п. 3.
- Заменить Y на Y-X
- Перейти к п. 3.
- Считать Х искомым результатом.
- Конец.
II. Графические способы:
А) Последовательные картинки;
б) Структурограмма;
в)
Блок-схемы. В блок-схеме предписания изображаются с помощью различных геометрических фигур, а последовательность выполнения шагов указывается с помощью линий.
Пример. Запись алгоритма Евклида с помощью блок-схемы
III. Алгоритмические языки - формальные языки, предназначенные для записи алгоритмов.
Характеристики алгоритмического языка:
- Алфавит - набор используемых символов;
-
Синтаксис - система правил образования конструкций языка;
-
Семантика - система правил, определяющих смысл и способ употребления конструкций языка
А) ШАЯ (школьный агоритмический язык)
Пример. Общий вид программы на школьном алгоритмическом языке:
алг <название алгоритма>
нач
<последовательность команд>
кон
Б) Язык программирования
Пример.
setConnection;
repeat
cmd:= getCommand;
executeCommand(cmd);
until cmd = "stop";
closeConnection;