logo

Crowdly

Browser

Додати до Chrome

Navrhnite deterministický konečnostavový automat (DFA) pre jazyk špecifikov...

✅ Перевірена відповідь на це питання доступна нижче. Наші рішення, перевірені спільнотою, допомагають краще зрозуміти матеріал.

Navrhnite deterministický konečnostavový automat (DFA) pre jazyk špecifikovaný nasledujúcim regulárnym výrazom využitím metódy tokenov a naprogramujte jeho iteratívnu implementáciu:

{o|(o|qC)q}

Pri riešení zadania sa riaďte nasledujúcimi technickými pokynmi k jeho vypracovaniu a odovzdaniu. Stiahnite si a dekomprimujte kostru riešenia, ktorá má nasledujúcu štruktúru:

  • specification.fsa – súbor s formálnou špecifikáciou výsledného DFA. Súbor musí obsahovať abecedu automatu, stavy vrátane ich anotácií, prechody, počiatočný stav a akceptačné stavy zapísané v doménovo-špecifickom jazyku predstavenom na prednáškach. Samotný postup návrhu automatu je nutné taktiež písomne zdokumentovať na priloženom pomocnom hárku papiera.
  • automaton.py – skript s definíciou triedy DFA, ktorú je potrebné implementovať. Táto trieda musí obsahovať verejnú metódu check s parametrom reprezentujúcim vstupný reťazec a návratovou (pravdivostnou) hodnotou určujúcou, či daný reťazec patrí alebo nepatrí do jazyka špecifikovaného zadaným regulárnym výrazom. V tomto skripte nie je povolené využívať žiadnu rekurziu.
  • main.py – skript na manuálne testovanie implementácie. Tento skript spustíte v adresári so súbormi riešenia príkazom py main.py.
  • check_fsa_syntax.py – skript na overenie syntaxe súboru specification.fsa. Tento skript spustíte v adresári so súbormi riešenia príkazom py check_fsa_syntax.py.

Pri riešení nie je povolené pridávať žiadne dodatočné importy, meniť názvy jednotlivých súborov, tried alebo metód ani štruktúru riešenia. Po doplnení formálnej špecifikácie automatu a požadovanej funkcionality jeho implementácie skomprimujte vaše riešenie (súbory specification.fsa, automaton.py, main.py a check_fsa_syntax.py) do zip archívu bez akýchkoľvek podadresárov a nahrajte ho ako odpoveď. Na pomenovaní archívu nezáleží.

    Більше питань подібних до цього

    Хочете миттєвий доступ до всіх перевірених відповідей на moodle.fei.tuke.sk?

    Отримайте необмежений доступ до відповідей на екзаменаційні питання - встановіть розширення Crowdly зараз!

    Browser

    Додати до Chrome