1.2. Словесная форма записи алгоритмов
Первоначально для записи алгоритмов пользовались средствами обычного языка, но с тщательно отобранным набором слов и фраз, не допускающим повторений, синонимов, двусмысленностей, лишних слов. Кроме того, принимались определённые соглашения о форме записи, порядке выполнения действий, допускалось использование математических символов.
Рассмотрим
пример — алгоритм отыскания минимума
и максимума в любой конечной
последовательности из n
вещественных чисел а
,
а
,...,
а
,…,
а
.
При небольшом количестве чисел достаточно
беглого взгляда, чтобы указать максимум
и минимум. Однако, если n
велико, задача усложняется. В этом легко
убедиться, если попытаться отыскать
максимум и минимум среди нескольких
сотен многоразрядных чисел. Поэтому
необходимо придерживаться определенной
системы. Например, взять в качестве
начального значения
как для максимума, так и для минимума первое число, далее последовательно перебирать числа и сравнивать каждое из них с установленным к текущему моменту значением максимума. Если очередное число превышает максимум, считать его новым значением максимума (прежнее значение «забыть»), после чего можно переходить к новому числу. Если анализируемое число не больше максимума, то сравнить его с установленным к текущему моменту значением минимума. Если число оказывается меньшим минимума, считать его новым значением минимума и перейти к следующему числу; если число не меньше минимума, просто переходить к анализу следующего числа. Перебрав, таким образом, все числа, получим окончательные значения максимума и минимума. Изложенные правила можно представить в виде словесной записи:
Начало.
1. Ввести (а , i= 1, 2, ..., n).
2. min:=a ; max:=a .
3. i:=2.
4. Если а > mах, то перейти к п. 5, иначе перейти к п. 6.
5. max:=a ; перейти к п. 8.
6. Если a < min, перейти к п. 7, иначе перейти к п. 8.
7. min:=a .
8. i:=i+1.
9. Если i ≤ n, то перейти к п. 4, иначе перейти к п. 10.
10. Печатать (max, min).
Конец.
1.3. Псевдокод
Псевдокод представляет собой метод применения естественного языка для описания алгоритма, но с конструкциями, близкими к конструкциям структурных языков программирования. Это позволяет создавать машинно-независимое описание процесса решения задачи, допускающее последовательное использование языков программирования. Псевдокод
состоит из таких предложений, которые могла бы выполнить ЭВМ, но которые содержат фразы в свободной форме. Основные команды псевдокода аналогичны командам для ЭВМ, т. е. операторам языка программирования. Они комбинируются стандартным способом, в результате чего образуются более сложные команды и предложения. Псевдокод отличается от обычных детализированных устных алгоритмов (словесной формы записи) стандартизацией конструкций, более четкими описаниями, использованием ключевых (служебных) слов, строгим оформлением.
Ключевые слова выбираются так, чтобы сделать алгоритм ясным, строгим и однозначным. Ключевые слова псевдокода обязательно выделяются подчёркиванием, более крупным шрифтом (написанием иностранных слов и т. п.
Примером псевдокода является алгоритмический язык акад. А.П. Ершова, который изучается в старших классах средней школы. Ключевые слова алгоритмического языка выделяются более жирным написанием и подчеркиванием. В качестве основных в нем используются конструкция последовательности (отдельные операторы записываются на отдельных строках друг за другом или отделяются точкой с запятой), конструкция если — то — иначе, конструкция повторения пока — нц — кц (служебные слова нц и кц служат для выделения в алгоритме тела цикла). Ниже приведены примеры записи алгоритмов на языке А. П. Ершова:
алг нахождение минимума и максимума в последовательности
чисел (цел k, n, вещ таб a [k : n], вещ max, min)
арг k, n, а
рез mах, min
нач цел i
min:
= a[
k
]
max: = a[ k ]
i : = k +1
пока i ≤ n
нц
если а[ i ] > max
то max: = а[ i ]
иначе если а[ i ] < min
то min: = а[ i ]
все
i : = i + 1
кц
кон
