program KSP845; { Konecne automaty v case O( n ) } const MaxDelka = 200; { Maximalni delka slova } var delta : array [0..2*MaxDelka] of { Netrivialni slozka prechodove funkce } record znak : char; { Znak pro tento prechod } kam : integer; { Kam se prejde } end; pocdelta : integer; { Pocet polozek v poli delta } stavy : array [0..MaxDelka] of { Informace pro jednotlive stavy } record bdelta: integer; { Zacatek useku prechodove funkce v poli delta pro tento stav} ndelta: integer; { Delka useku prechodove funkce v poli delta pro tento stav} ekviv : integer; { Cislo nejdelsiho kratsiho "ekvivalentniho stavu} end; stav : integer; { Pomocna promenna } i,j : integer; { - " - } s : string; { Vstupni slovo, pro ktere vytvarime KA } begin repeat { Nacteme vstup } write('Zadej vstupni slovo : ');readln(s); until (s<>'') and (length(s)