Средства записи алгоритмов.
Средства, используемые для записи алгоритмов, в значительной степени
определяются тем, для кого предназначается алгоритм. Если для человека, то его
запись может быть не полностью формализирована. На первое место выдвигается
понятность и наглядность записи алгоритма. Если алгоритм предназначен для
исполнителя-автомата, необходима строгая формальная запись.
1.
Словесная запись алгоритмов.
Пример: алгоритм Евклида для
нахождения НОД двух натуральных чисел.
Шаг 1. Если
числа равны, то взять первое в качестве ответа и остановиться, иначе перейти к
2.
Шаг 2. Определить большее из двух чисел.
Шаг 3. Заменить большее число разностью большего и меньшего чисел.
Шаг 4. Перейти к шагу 1.
Словесное
описание алгоритма используется на первых этапах разработки алгоритма, т.к.
словесная запись недостаточно формализована (это и плюс и минус).
2. Блок-схема алгоритмов.
Особенности блок-схем. Предписания
алгоритма помещаются внутрь блоков, соединённых стрелками, показывающими
очерёдность выполнения.
Приняты определённые стандарты графических изображений блоков (Гост
19.003-80) (стандарты есть и на документацию!)
Схемы обладают большей
наглядностью, но занимают много места. Поэтому наглядность быстро теряется при
записи больших алгоритмов.
3. Псевдокоды.
Псевдокод
- это система обозначений и правил для записи алгоритмов. Он занимает
промежуточное место между естественным и формальным языком. С одной стороны, не
нужна строгость в синтаксисе, как в естественном языке, с другой стороны в
псевдокоде используется математическая символика и управляющие конструкции,
присущие формальным языкам, что облегчает переход от записи на псевдокоде к
записи алгоритма на формальном языке.
Пример записи алгоритма Евклида
на псевдокоде.
Алгоритм Евклида:
начало
ввод k1, k2
пока k1
k2 повторять
если k1 > k2
то k1 := k1-k2
иначе k2 := k2-k1
всё
кц (* конец цикла пока *)
вывод k1
конец
4. Запись на алгоритмическом языке.
Этот способ и
есть программирование. Такая запись предназначена для выполнения ЭВМ, точнее,
программой - транслятором с данного языка программирования. Однако такая запись
предназначена не только для машины, но и для человека - она должна легко
читаться и содержать пояснения (комментарии), облегчающие её понимание.