На практике используются следующие формы представления алгоритмов:
· словесная – запись на естественном языке,
· графическая – запись в виде схемы (блок-схемы),
· запись на специальном языке (алгоритмическом языке или псевдокоде).
Словесный способ представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.
Например: записать алгоритм определения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Евклида). Алгоритм может быть следующим:
· задать два числа;
· если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма;
· определить большее из чисел;
· заменить большее из чисел разностью большего и меньшего из чисел;
· повторить алгоритм с шага 2.
Данный способ плохо формализуем и практически применяется редко.
Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным. При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий.
Такое графическое представление называется схемой алгоритма или блок-схемой. В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.) соответствует геометрическая фигура, представленная в виде блочного символа. Блочные символы соединяются линиями переходов, определяющими направление потоков данных.
Основные элементы блок-схемы алгоритма. Правила выполнения схем и обозначения для отдельных операций процесса обработки данных регламентирует Государственный стандарт (ГОСТ 19.701-90 «Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Обозначения условные и правила выполнения»).
Алгоритмические языки близки к естественному языку, поэтому для них характерны: алфавит, операции – слова, операторы – предложения, синтаксис – правила написания.
Правила построения конструкций в алгоритмическом языке более «жесткие». Это означает, что алгоритмические языки допускают меньше разнообразия для описания действий алгоритма, чем естественный язык и привычная математическая символика, и машина однозначно понимает любую конструкцию языка. Например, для умножения двух переменных a и b общепринятая математическая символика допускает несколько возможных форм записи:
ab a×b a´b a*b.
На алгоритмическом же языке эту операцию можно записать только единственным образом как a*b. Алгоритмический язык занимает промежуточное место между естественным и формальным языками. С одной стороны, он близок к обычному естественному языку, поэтому алгоритмы могут на нем записываться и читаться как обычный текст. С другой стороны, в алгоритмическом языке используются некоторые формальные конструкции и математическая символика, что приближает запись алгоритма к общепринятой математической записи.
Примером алгоритмического языка является псевдокод, приведенный в таблице:
алг(алгоритм)
сим(символьный)
дано
для
да
арг(аргумент)
лит(литерный)
надо
от
нет
рез(результат)
лог(логический)
если
до
при
нач(начало)
таб(таблица)
то
знач
выбор
кон(конец)
нц(начало цикла)
иначе
и
ввод
цел(целый)
кц(конец цикла)
все
или
вывод
вещ(вещественный)
длин(длина)
пока
не
утв
Общий вид алгоритма:
алг название алгоритма (аргументы и результаты)
нач описание промежуточных величин
| последовательность команд (тело алгоритма)
Кон
Часть алгоритма от слова алг до слова нач называется заголовком, а часть, заключенная между словами нач и кон – телом алгоритма.
В предложении алг после названия алгоритма в круглых скобках указываются характеристики (арг, рез) и тип значения (цел, вещ, сим, лит или лог) всех входных (аргументы) и выходных (результаты) переменных. При описании массивов (таблиц) используется служебное слово таб, дополненное граничными парами по каждому индексу элементов массива.