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

В настоящее время используется несколько таких способов:

1. Словесно-формульное описание алгоритма, т. е. описание алгоритма с помощью слов и формул. Это наиболее простой способ. Для его понимания достаточно рассмотреть пример, приведенный ниже.

Задача. Составить алгоритм начисления зарплаты согласно следующему правилу: если стаж работы сотрудника менее 5 лет, то зарплата 130 тыс. руб., при стаже работы от 5 до 15 лет — 180 тыс. руб., при стаже свыше 15 лет зарплата повышается с каждым годом на 10 тыс. руб.

Сформулируем задачу в математическом виде: вычислить

ZP = { 130,если ST < 5
180,если 5 <= ST <= 15
180 + (ST — 15) * 10,если 15 < ST

где ZP — зарплата; ST — стаж работы.

Словесно-формульное описание алгоритма решения этой задачи:

1. Ввести ST, перейти к п. 2.

2. Если ST < 5, то ZP := 130, перейти к п. 4, иначе - перейти к п. 3.

3. Если ST < 15, то ZP : = 1SO, перейти к п. 4, иначе

ZP := 180 + (ST — 15) * 10, перейти к п. 4.

4. Вывести (отпечатать) значение ZP, перейти к п. 5.

5. Вычисления прекратить.

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

Название блокаОбозначениеНазначение блока
ТерминаторНачало, завершение программы или подпрограммы
ПроцессОбработка данных (вычисления, пересылки и т.д.)
ДанныеОперации ввода-вывода
РешениеВыбор действия в зависимости от истинности или ложности условия
ПодготовкаПовторение действий заданное количество раз (счетные циклы)
Типовой процессРанее созданная программа или подпрограмма (вызов процедур)
СоединительМаркировка разрывов линий
КомментарийПояснения к операциям

Ниже показана схема алгоритма решения предыдущей задачи:

3. Описание алгоритма на алгоритмическом языке (алгоязыке или псевдокоде). Алгоритмический язык — это средство для записи алгоритмов в аналитическом виде, промежуточном между записью алгоритма на естественном (человеческом) языке и записью на языке ЭВМ (языке программирования).

Запись алгоритма нашей задачи на алгоритмическом языке показана ниже:

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

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

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