Author Topic: Помогите написать программу с тех.заданием конечный автомат  (Read 4239 times)

0 Members and 1 Guest are viewing this topic.

Offline Lirya

  • Newbie
  • *
  • Posts: 2
  • Karma: +0/-0
На входе: вещественная константа (строка символов в формате 12.25e-5)
На выходе: проанализированная строка (12.25*10-5).
Программу для анализа строки я написала, все работает, все класс.
Только нужно написать программу для конечного автомата.
Может, кто писал, подскажите. Подскажите где найти литературу или сайт.

Offline nuclight

  • Full Member
  • ***
  • Posts: 207
  • Karma: +1/-2
    • http://antigreen.org
Если программа считывает строку посимвольно одним проходом, и на каждом символе меняет состояние, т.е. case цифра: ..., case минус: ... - это и будет конечным автоматом. Подробнее см. в википедии или литературе по компиляторам.
WBR, Nuclear Lightning
[FreeBSD][Давить зелёных]

Offline Эдуард

  • Newbie
  • *
  • Posts: 13
  • Karma: +0/-0
Вот примерчик с конечными автоматами для разбора файлов. storages.h, хотя лучше это делать не на конечных автоматах, а на регулярных выражениях
« Last Edit: June 24, 2008, 13:26:58 by Эдуард »

Offline nuclight

  • Full Member
  • ***
  • Posts: 207
  • Karma: +1/-2
    • http://antigreen.org
Регулярные выражения - они тоже конечные автоматы в конечном счете :D
WBR, Nuclear Lightning
[FreeBSD][Давить зелёных]

Offline postman

  • Newbie
  • *
  • Posts: 31
  • Karma: +0/-0
автомат - это просто блоки алгоритма, проверяющие на входе/выходе (чаще на выходе) какое-то условие и производящие соответственно с ним переход к другому блоку влгоритма
блок - набор последовательных операторов между двумя узлами
состояние программы - нахождение в одном из этим блоков
вроде примерно так теория говорит