ОСНОВНЫЕ СТРУКТУРЫ АЛГОРИТМОВ

Рис. 1 Объединение двух линий потока

CD


Символ, состоящий из двух частей, отображает начало и конец цикла. Блоки, состав-ляющие тело цикла записыва-ются между этими символами. Обе части цикла имеют один и тот же идентификатор. Условия для инициализации, прираще-ния, завершения и т.д. помеща-ются внутри символа в начале или в конце в зависимости от расположения операции, прове-ряющей условие

Символ отображает выход в
часть схемы и вход из другой
части этой схемы и использует-
ся для обрыва линии и продол-
жения ее в другом месте. Соот-
ветствующие символы-

соединители должны содержать одно и то же уникальное обо-значение

Символ отображает выход во внешнюю среду и вход из внешней среды (начало или ко-нец схемы). Соответствующее действие записывается внутри символа

Символ используют для добав-ления описательных коммента-риев или пояснительных запи-сей в целях объяснений или примечаний. Пунктирные ли-нии в символе комментария связаны с соответствующим символом или могут обводить группу символов. Текст ком-ментариев или примечаний должен быть помещен около ограничивающей фигуры


Символы в схеме должны быть расположены равномерно. Следует придерживаться разумной длины соединений и минимального числа длинных линий. Формы символов, установленные ГОСТ 19.701– 90, должны служить руководством для фактически используемых символов. Не должны изменяться углы и другие параметры, влияющие на соответствующую форму символов. Символы должны быть по возможности одного размера.

>

«

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

Потоки данных в схемах показываются линиями. Направление потока слева направо и сверху вниз считается стандартным. В случаях, когда необходимо внести большую ясность в схему или поток имеет


направление отличное от стандартного, на линиях используются стрелки, указывающие это направле-ние.

В схемах следует избегать пересечения линий. Пересекающиеся линии не имеют логической связи между собой, поэтому изменения направления в точках пересечения не допускаются. Если две или бо-лее входящих линии объединяются в одну исходящую линию, то место объединения линий смещается (рис. 16).


Вход
Действие 1

Основные структуры алгоритмов (ОСА) – это ограниченный набор блоков и стандартных способов их соединения для выполнения типичных последовательностей действий.

Действие 2

ОСА используются при структурном подходе к разработке алгоритмов и программ, предполагающем использование нескольких основных структур, комбинация которых дает все многообразие алгоритмов и программ.

К основным алгоритмическим структурам относятся линейная, разветв-ляющиеся и циклические структуры. Рассмотрим их несколько подробнее.

.:.

1 Линейная структура (следование)
Данная структура предполагает последовательное размещение блоков и групп

Действие N

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

Выход

2 Разветвляющиеся структуры
Эти структуры в своем составе содержат блок условия и различные конст-

Рис. 17 Ли- нейная струк- тура

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

Структура разветвления (рис. 18, а) предполагает проверку условия и в за-висимости от истинности условия будет выполняться "Действие 1" (если усло-вие принимает значение "истина") или "Действие 2" (если условие принимает значение "ложь").

Структуру обхода (рис. 18, б) можно считать частным случаем разветвления, когда в одной из вет-вей обработки данных не содержится никаких действий.

Множественный выбор (рис. 18, в) предполагает возможность развития вычислительного процесса по одному из нескольких направлений. В процессе решения данной алгоритмической схемы будет выполняться та ветвь обработки данных, для которой вычисленное в блоке "Решение" значение переменной D совпадет со значением одной из констант D1, D2, …, Dn.

3 Циклические структуры Циклические алгоритмы являются наиболее распространенным видом алгоритмов, в которых преду-

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

некоторого условия.

Существуют два основных вида циклических алгоритмов: циклические алгоритмы с предусловием (цикл "ПОКА"), циклические алгоритмы с постусловием (цикл "ДО"). Они отличаются друг от друга местоположением условия выхода из цикла.

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

Цикл с постусловием (рис. 19, б) функционирует иначе. Сначала выполняется один раз те действия, которые составляют тело цикла, затем проверяется логическое выражение, определяющее условие вы-хода из цикла. Если условие выхода истинно, то цикл с постусловием прекращает свою работу, в про-тивном случае происходит повторение действий, указанных в цикле. Этот цикл всегда выполняется хо-тя бы один раз, так как первая проверка условия выхода происходит после выполнения действий, со-ставляющих тело цикла.