program KSP845; { Konecne automaty v case O( An ) } const MaxDelka = 50; { Maximalni delka slova } var delta : array [0..MaxDelka,char] of integer; { Prechodova funkce } ekviv : array [1..MaxDelka] of integer; { Pro kazdy stav je zde cislo } { nejdelsiho kratsiho "ekvi- } { valentniho" stavu } stav : integer; { Pomocna promenna } c,cp : char; { - " - } s : string; { Vstupni slovo, pro ktere vytvarime KA } begin repeat { Nacteme vstup } write('Zadej vstupni slovo : ');readln(s); until (s<>'') and (length(s)delta[stav,c] then begin writeln('delta( D',stav,', ''',cp,''' .. ''', chr(ord(c)-1),''' ) = D',delta[stav,cp]); cp:=c; end; write('delta( D',stav,', ''',cp,''' .. ''',chr(254),''' ) = D',delta[stav,cp]); writeln; end; writeln('delta( D',length(s),', '' '' .. ''',chr(254),''' ) = D',length(s)); end.