Здравствуйте!Я сделал прогу,которая выводит комментарий Конечного Автомата,но она выводит только 1 комментарий,а если вводить 2 и более - нет.Как это реализовать?И автомат может двигаться только вперед,а назад возвращаться не может...
procedure TForm1.Button1Click(Sender: TObject);
type Qka=(H,K,C,D,S,E); {Cостояния КА} var qa : Qka; Sa,Sc: string; i: byte; begin edit2.Text:=''; Sc:=''; Sa:=edit1.Text; qa:=H; i:=1; repeat case qa of H : begin case Sa[i] of '{' : qa:=K; '(' : qa:=D; end; i:=i+1; end; K : begin case Sa[i] of '}' : qa:=S else begin qa:=K;Sc:=Sc+Sa[i]; end; end; i:=i+1; end; D : begin case Sa[i] of '*' : qa:=C else begin qa:=H; Sc:=''; end; end; i:=i+1; end; C : begin case Sa[i] of '*' : qa:=E else begin qa:=C; Sc:=Sc+Sa[i]; end; end; i:=i+1; end; E : begin case Sa[i] of '*' : begin qa:=E; Sc:=Sc+Sa[i]; end; ')' : qa:=S; else begin qa:=C; Sc:=Sc+Sa[i]; end; end; i:=i+1; end; end; until (i>length(Sa)) or (qa=S); if qa<>S then edit2.Text:='Без комментариев' else edit2.Text:=Sc; end;