Next:5.15
Логическая формула
Up:5
Выбор представления данных
Previous:5.13
Грамматика
автоматная-диаграмма::= количество-состояний пробел
начальное-состояние пробел
конечное-состояние пробел {переход}*
переход::= состояние пробел буква пробел состояние пробел
состояние ::= натуральное число
начальное-состояние::= состояние
конечное-состояние::= состояние
Абстрактный тип АВТОМАТ со следующим набором операций:
НачальноеСостояние(АВТОМАТ):СОСТОЯНИЕ;
КонечноеСостояние(АВТОМАТ):СОСТОЯНИЕ;
НовоеСостояние(АВТОМАТ,СОСТОЯНИЕ,СИМВОЛ):СОСТОЯНИЕ;
Мы снова не приводим возможно необходимые процедуры для перестройки диаграмм.
Естественным в н у т р е н н и м представлением автоматной диаграммы на языке Zonnon будет следующее:
const N=20; (*Мощность алфавита состояний *)
M=33; (*Мощность
входного алфавита *)
type СОСТОЯНИЕ=integer; СИМВОЛ=char;
ФункПереход = array N,
M of СОСТОЯНИЕ;
object { public, value } АВТОМАТ;
var { public} Начальное,Конечное: СОСТОЯНИЕ;
Переход:ФункПереход;
end АВТОМАТ;
procedure НачальноеСостояние(var A: АВТОМАТ):СОСТОЯНИЕ;
begin НачальноеСостояние:=
A.Начальное end;
procedure КонечноеСостояние(var A: АВТОМАТ):СОСТОЯНИЕ;
begin КонечноеСостояние:=
A.Конечное end;
procedure НовоеСостояние(var A: АВТОМАТ; S:СОСТОЯНИЕ;
C:СИМВОЛ):СОСТОЯНИЕ;
begin НовоеСостояние
:= А.Переход[S,C] end;
Next:5.15
Логическая формула
Up:5
Выбор представления данных
Previous:5.13
Грамматика