Способы представления алгоритмов

Типы алгоритмов

Можно выделить набор стандартных алгоритмов, обеспечивающих выполнение самых сложных процессов обработки данных:

1) процесс — изменение значений, формы представления или места хранения элементов данных;

2) следование — выполнение двух структур одна за другой в порядке их расположения в алгоритме;

3) решение — выбор одного из двух возможных разветвлений процесса в зависимости от некоторого условия и последующее соединение обоих разветвлений в общей точке;

4) селектор — множественное ветвление процесса в зависимости от значения управляющей селекторной переменной, также с последующим соединением ветвей;

5) цикл — многократное выполнение участка (сегмента) алгоритма при изменении значений группы переменных величин;

Возможны варианты этих структур и различия в деталях реализации, но одно свойство является неизменным: у каждой имеется единственная точка входа и единственная — выхода. Разбиение алгоритма на совокупность стандартных структур, как и выделение процедур (отдельно описанных автономных частей алгоритма), — это наилучший путь обеспечить его «прозрачность» и облегчить последующие стадии работы над задачей. В случае сложных алгоритмов полезна многоуровневая структуризация: группы связанных между собой простых структур объединяют в супер-структуры, понимаемые далее как некие условные блоки общего алгоритма.

Алгоритм существует в двух основных фазах: внемашинной и машинной. Первая охватывает периоды «общения» человека с алгоритмом вначале в процессе его разработки, затем анализа полученных результатов с учетом особенностей алгоритма и, наконец, при подстройке алгоритма под изменившиеся условия самим разработчиком или иным человеком. Алгоритм может также служить средством консервации и обмена знаниями между людьми.

Машинная фаза — это использование алгоритма в форме программы, по которой ВС ведет обработку информации. Перевод в эту форму осуществляется с помощью лингвистических средств информатики, о которых далее будет сказано.

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

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

Правила изображения схем унифицированы. Ниже приведена таблица основных символов с некоторыми разъяснениями.

Таблица

Основные элементы изображения алгоритмов

Элемент Функции
  Процесс (действие) — выполнение операции или группы операций. (Оператор, группа операторов)  
    Предопределенный процесс — указывает на отдельно описанный модуль. (Процедуры, функции)
  Ввод-вывод данных. Внутри элемента или в комментариях указывают эти данные, при необходимости указывают устройства ввода-вывода.
  Решение (условие) — выбор направления выполнения алгоритма. Внутри элемента указывают условие. Выходные направления помечают «True» и «False».
    Линия потока — указание последовательности связей между элементами.
  Пуск-останов. Начало, конец программы или модуля.  
  Соединитель — указывает связи между разделенными частями алгоритма, расположенными на одной странице. Элементы всегда парные, внутри элемента указывают порядковый номер соединения.
  Межстраничный соединитель — указывает связи между разделенными частями алгоритма, расположенными на разных страницах. Элементы всегда парные, внутри элемента указывают ссылку на страницу и порядковый номер соединения.

 

Размер элементов выбирают из ряда 10, 15, 20 мм, допустимо увеличивать размеры на число, кратное 5. Расстояние между параллельными линиями потока должно быть не менее 3 мм, между остальными элементами схемы не менее 5 мм.