Adloun

OCaml (option informatique) · Chapitre 18 · Exercice de TD

Complément

Automates finis · niveau 2

Énoncé

Écrire complement a et vérifier que complement termine_par_a reconnaît les mots qui ne se terminent pas par a.

Corrigé

let complement a = { a with acceptants = Array.map not a.acceptants }

Sur un AFD complet, inverser les états acceptants suffit : un mot est dans le complément ssi il n'était pas accepté. reconnait (complement termine_par_a) sym "bba" vaut false, et ... "bab" vaut true.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre