IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Комментарии Конечного Автомата
Глюк
сообщение 10.11.2007 14:55
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 34
Пол: Мужской

Репутация: -  0  +


Здравствуйте!Я сделал прогу,которая выводит комментарий Конечного Автомата,но она выводит только 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;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 29.07.2025 4:59
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"