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

1. Словесно-формульный. Описание алгоритма с помощью слов и формул на естественном языке.

Словесный способ не имеет широкого распространения по следующим причинам:

- такие описания строго не формализуемы;

- страдают многословностью записей;

- допускают неоднозначность толкования отдельных предписаний. «Он встретил ее на поле с цветами».

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

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

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

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

3. Если ST<15, то ZP:=180, перейти к п.4, иначе ZP:=180+(ST-15)10, перейти к п. 4.

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

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

2. Табличный. Алгоритм представляется в форме таблицы и расчётных формул (физика, химия и т. д.).

3. Структурограмма

4. Синтаксическая диаграмма (формулы Бэкуса-Наура)

5. Псевдокоды. Полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.

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

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

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

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

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

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

алгзарплата(цел.ST, вещZP)

аргST

резZP