Reconnaissance
Exercice · OCaml (option informatique), chapitre 18 — Automates finis
Énoncé
Écrire reconnait et l'appliquer pour vérifier que "bba" se termine par a mais pas "bab".
Corrigé
let reconnait a symbole mot =
let etat = ref a.initial in
for i = 0 to String.length mot - 1 do
etat := a.delta.(!etat).(symbole mot.[i])
done;
a.acceptants.(!etat)
let sym c = int_of_char c - int_of_char 'a'
(* reconnait termine_par_a sym "bba" = true ; ... "bab" = false *)
Sur "bba" : états (acceptant) true. Sur "bab" : (non acceptant) false.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.