Способы описания алгоритмов
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