nextupprevious

Next:4.3 Поиск с возвращением
Up:4 Разработка алгоритмов
Previous:4.1 Основные типы данных, возникающих при выполнении заданий


4.2 Язык описания алгоритмов

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

Поэтому описание алгоритма должно состоять из двух частей:

1) описание тех типов данных и операторов, которые не являются конструкциями языка Zonnon, но будут использоваться в описании алгоритма,

2) собственно описание алгоритма, в котором шаги алгоритма записываются в терминах конструкций языка Zonnon, введенных типов данных и операторов, с использованием математической и иной удобной символики.

Например, первая часть может содержать описания типов данных, аналогичных рассмотренным в предыдущем параграфе, или описание конструкции цикла-для-всех.

цикл-для-всех::=for all переменная fromмножествоdo последовательность-операторов end

Исполнение цикла-для-всех состоит в исполнении оператора, указанного в теле цикла, для каждого элемента множества, взятого в качестве текущего значения переменной.

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

Next:4.3 Поиск с возвращением
Up:4 Разработка алгоритмов
Previous:4.1 Основные типы данных, возникающих при выполнении заданий


© В.Н. Касьянов, Е.В.Касьянова,2004