Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2331.pdf
Скачиваний:
11
Добавлен:
15.11.2022
Размер:
1.42 Mб
Скачать

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

4. СПОСОБЫ ЗАДАНИЯ АБСТРАКТНЫХ И СТРУКТУРНЫХ АВТОМАТОВ

Взависимости от способа задания функцией переходов

ивыходов (δ и λ) в настоящее время выделяют два класса языков – начальные языки и стандартные, или автоматные языки, которые используют для задания (описания) абстрактных автоматов [12].

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

Вавтоматных языках поведение автомата задается путем явного задания функций переходов и выходов.

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

4.1.Начальные языки

4.1.1.Язык регулярных выражений алгебры событий

Рассмотрим кратко язык регулярных выражений алгебры событий. Для заданного конечного множества входных букв X={x1...xn} регулярное выражение задается следующим образом. Для построения языка регулярных выражений используется три операции над событиями (две бинарных и одна унарная):

34

1)A B объединение (дизъюнкция);

2)AB умножение (конкатенация);

3){A} итерация (обозначается также A*). Выражение, построенное из букв алфавита X и из сим-

волов операций объединения, умножения и итерации с использованием соответствующим образом круглых скобок, называется регулярным выражением в алфавите X. Всякое регулярное выражение R определяет некоторое событие S (S получается в результате выполнения всех операций, входящих в выражение R). События, определяемые таким образом, называется регулярными событиями над алфавитом X. Другими словами, регулярным событием называется событие, полученное из элементарных событий (однобуквенных слов xi) применением конечного числа раз операций дизъюнкции, умножения и итерации. Например, в алфавите из трех букв x, y, z регулярное

выражение x{x y z} (y z) задает регулярное событие из всех слов, которые начинаются буквой x и заканчиваются буквой y или z.

Пусть необходимо описать автомат, выдающий сигнал ω1 всякий раз, когда происходит изменение входной буквы с x1 на x2. Другими словами, сигнал ω1 должен выдаваться в ответ на любые входные последовательности, кончающиеся последовательностью x1x2. Фраза «любые входные последовательности» формализуется всеобщим, или универсальным, событием, состоящим из всех возможных слов в алфавите x1x2. Такое событие записывается как {x1 x2}. Тогда событие S1, в ответ на которое должен выдаваться сигнал ω1, будет описываться регулярным выражением: S1/ω1={x1 x2} x1x2.

4.1.2.Язык логических схем

В1953 г. А.А. Ляпунов предложил записывать алгоритмы в виде конечной строчки, состоящей из символов операторов, логических условий и верхних и нижних стрелок, которым приписаны натуральные числа.

35

Порядок выполнения операций в автомате определяется

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

Под микрооперацией обычно понимается элементарный процесс переработки информации в одной из частей автомата, происходящий за время такта работы автомата. При этом устройство управления вырабатывает управляющие сигналы, которые обозначим символом V={v1,v2...vn}. Ход выполнения микроопераций может нарушаться в зависимости от условий, задаваемых множеством Z={z1,z2...z3}.

Запись алгоритма, выполненная с учетом вышеизло-

женного, называется логической схемой алгоритма (ЛСА).

Логические схемы алгоритмов удовлетворяют следующим условиям:

1)содержат один начальный (vn) и один конечный оператор (vk);

2)перед оператором vn и после оператора vk стрелок быть не должно;

3)вслед за каждым логическим условием всегда стоит верхняя стрелка;

4)не существует двух одинаковых (с одинаковыми цифрами) нижних стрелок;

5)для каждой нижней стрелки должна быть, по крайней мере, одна соответствующая ей (с одинаковой цифрой) верхняя стрелка;

6)для каждой верхней стрелки должна быть точно одна соответствующая ей (с одинаковой цифрой) нижняя стрелка.

Описание поведения автомата с помощью ЛСА поясним на следующем примере:

1

1

2

2

2

 

vnz1 v1 z2 v2v3z3 v4 v5vk.

(4.1)

Эта ЛСА имеет операторы начала и конца (vn и vk), пять операторов (v1÷v5) и три логических условия (z1, z2, z3). На-

36

чальному оператору соответствует некоторое начальное состояние автомата, при котором никакие микрооперации не выполняются. Если в начальном состоянии на первый вход устройства придет сигнал, равный единице (z1=1), то устройство перейдет в новое состояние, в котором выполняется оператор v1 - первый справа после логического условия z1, а затем проверяется логическое условие z2. Если же z1=0, то выходим по верхней стрелке и входим по нижней стрелке с той же цифрой на проверку логического условия z2, минуя выполнение оператора v1. Если же z2=1, то выполняются операторы v2 и v3 и проверяется условие z3; если z3=0, то оператор v4 не выполняется, происходит переход к оператору v5. После выполнения оператора v5 происходит переход к конечному оператору, т.е. работа дискретного устройства заканчивается.

4.1.3. Язык граф – схем алгоритмов

Другой разновидностью языка, позволяющего описывать логические схемы алгоритмов, является язык граф-схем алгоритмов (ГСА). Граф-схема алгоритма ориентирован-

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

а), б) - начальная и конечная вершины; в) - операторная вершина; г) - условная вершина.

Рис. 4.1. Графическое представление вершин ГСА

Конечная, операторная и условная вершины имеют по одному входу, начальная вершина входов не имеет. Начальная

37

и операторная вершины имеют по одному выходу. Конечная вершина выходов не имеет. Условная вершина имеет два выхода, помеченных символами 1 и 0.

Граф-схема алгоритма удовлетворяет следующим усло-

виям:

1)входы и выходы вершин соединяются друг с другом

спомощью дуг, направленных всегда от выхода к входу;

2)каждый выход соединен только с одним входом;

3)любой вход соединяется, по крайней мере, с одним

выходом;

4)любая вершина графа лежит, по крайней мере, на одном пути из начальной к конечной вершине;

5)в каждой условной вершине записывается один из

элементов множества логических условий Z={z1...zl}, разрешается в различных условных вершинах записывать одинаковые элементы множества Z;

6)в каждой операторной вершине записывается один из

элементов множества операторов V={v1...vt}, разрешается в различных операторных вершинах запись одинаковых элементов множества V.

На рис. 4.2 представлена граф-схема алгоритма, соответствующая ЛСА, заданной (4.1). Язык ГСА используется очень часто при описании алгоритмов функционирования, как самого цифрового автомата, так и программ, выполняющих то или иное действие.

38

Vn

 

z

 

1

 

1

V1

0

0

 

z 2

 

 

 

 

 

1

 

 

V 2

 

 

V 3

 

 

 

 

0

 

z 3

V 4

 

1

 

 

V 5

 

V k

Рис. 4.2. Пример граф - схемы алгоритма

4.1.4. Язык схем алгоритмов

При проектировании различных устройств ЭВМ обыч-

но используются содержательные схемы алгоритмов, кото-

рыми описываются не только формальные элементы, а также логические условия и микрооперации в содержательных терминах. Основные правила выполнения содержательных схем алгоритмов и программ, которым студенты должны следовать в процессе выполнения курсового проекта, представлены в соответствующих ГОСТах.

Графическое описание алгоритма дается в виде чертежа, состоящего из ограниченного числа геометрических фигур

39

(называемых символами), соединенных стрелками, указывающими последовательность некоторых действий.

Различают безусловные и условные типы символов. Безусловные позволяют описывать операции, связанные с вводом/выводом и выполнением операторов (инструкций) алгоритма. Символы условного типа позволяют отобразить ситуации, требующие ветвления вычислительного процесса в зависимости от выполненного результата.

Конфигурацию и размер символов, а также порядок построения схем алгоритмов определяет ГОСТ 19.701-90 Единой Системы Программной Документации (ЕСПД).

Все символы (блоки) в алгоритме нумеруются. Номера проставляются в разрыве верхней линии блока слева (рис. 4.3).

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

Линии потока могут подвергаться изломам до 90°. В этом случае на линиях потока также ставится стрелка.

В состав схемы алгоритма могут быть включены соединитель и межстраничный соединитель.

Соединитель используется для обозначения связи между блоками (символами) при необходимости обрыва линии потока. Такая потребность возникает в том случае, когда участок схемы алгоритма слишком насыщен линиями потока или когда соединяемые символы находятся далеко друг от друга, но в пределах одного и того же листа. На рис. 4.4 иллюстрируется использование соединителя между блоками 2 и 7 (линии потока направлены от блока 2 к блоку 7).

40

Рис. 4.3. Обозначение и нумерация блоков алгоритма

Если приходится изображать алгоритм на нескольких листах, то используют межстраничный соединитель. Внутри символа межстраничного соединителя указывают номер листа (трехзначный) и номер символа, с которым должно быть соединение. На рис. 4.5 а) показано, что линия потока уходит на второй лист к 23 блоку, а на рис. 4.5 б) - что, к 23 блоку идет линия потока с первого листа от пятого блока.

Рекомендуется использовать соединители в крайних случаях, так как иначе снижается наглядность схемы алгоритма и ее понимание.

41

Рис. 4.4. Пример использования соединителя

Рис. 4.5. Пример использования межстраничного Соединителя

42

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]