Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Алгоритмы] Конечные автоматы: распознать выражени


Автор: EugenyPavlenko 17.4.2008, 20:13
Здравствуйте,

Нужно составить таблицу распознания (конеч. автомат)
для переменной массива языка Паскаль:
mas23[ a*(5+4)-1 ]

т.е если подрузамевать переменную неправильного вида:
mas23[ a*(((5+4)-1 ]  (лишнии скобки),
то по таблице автоматов ее получить должно быть нельзя!

Как при помощи КА определять существует ли для каждой "(" закрывающаяся ")" ?
Это вообще возможно? Как считать скобки?

Спасибо за помощь!

Автор: EugenyPavlenko 20.4.2008, 10:29
мм.. никто не знает или информации недостаточно?

Автор: Mayk 20.4.2008, 18:10
В общем случае это (распознования "сбалансированных" структур) невозможно сделать конечными автоматами. 
Можно извратиться и сделать для ограниченного уровня вложенности.

Автор: EugenyPavlenko 21.4.2008, 17:06
А если не особо учитывать скобки, то вот этот вариант правильный (файл приложен)?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)