Способы описания работы дискретных устройств
3.5 Логические схемы алгоритмов
Основное достоинство рассматриваемых ниже логических схем алгоритмов (ЛСА) состоит в том, что, являясь по существу разновидностью языка операторных схем, они допускают запись алгоритма в строчку, что часто является удобным, т.к. появляется возможность исключить процесс рисования, вычерчивания, как это имеет место в ГСА. Важным является также наличие развитой системы преобразований ЛСА и возможности формального перехода к автоматному отображению.
Основными элементами ЛСА являются так же, как и в ГСА, операторы и логические условия.
Основные отличия от ГСА состоят в том, что для указания взаимосвязей между операторами и логическими условиями используются верхние и нижние стрелки.
Логической схемой алгоритма называется строчка, составленная из символов операторов , или и логических условий , а также верхних и нижних стрелок. Иногда верхние и нижние стрелки заменяют на правые и левые полускобки.
Итак, ЛСА- строчка, составленная из символов операторов , логических условий и верхних и нижних стрелок, причем:
- Сильная операторная вершина и одна конечная ;
- Строка начинается с и заканчивается ;
- Не должно быть двух нижних стрелок с одинаковыми номерами;
- Для каждой нижней стрелки должна быть по крайней мере одна верхняя;
Переход по логическому условию , стоящему в ЛСА
осуществляется так:
- Если , то после выполнится ,
- Если , то после выполнится .
Безусловный переход для ясности может быть обозначен дополнительным символом, например .
ЛСА для МП, представленной на рис. 3.7 выглядит так:
Правило чтения ЛСА состоит в следующем.
Вначале анализируется элемент ЛСА, следующий непосредственно за оператором . Если рассматриваемым элементом является оператор, то он отмечается (выписывается) и на следующем шаге анализируется стоящий справа элемент (оператор или логическое условие).
Если рассматриваемым элементом является логическое условие производится проверка этого условия;
Анализ ЛСА при соблюдении сформулированных правил приводит через некоторое количество шагов к получению строчки операторов, называемой значением ЛСА при заданной последовательности наборов логических условий.
Построим соответствующую ей ГСА. За начальным оператором следует оператор и далее логическое условие . Если логическое условие выполняется, то есть , то следующим оператором выполняется . Если логическое условие не выполняется, то есть , то следующим оператором выполняется , то есть оператор, стоящий за нижней стрелкой с номером 1.
Далее в ЛСА за оператором стоит оператор и . В такой последовательности и изображаем их на ГСА. Далее строим аналогичным образом.
Одной важной особенностью ЛСА является возможность неоднозначной записи одного и того же алгоритма.
Так, ГСА на рис.3.8 может быть описана еще несколькими вариантами ЛСА: