révisions automates
This commit is contained in:
@@ -112,6 +112,50 @@ Formalisation d'un if-then-else avec la MVàP.
|
|||||||
|
|
||||||
### séance du lundi 13/10.
|
### séance du lundi 13/10.
|
||||||
|
|
||||||
Fin MVàP + révisions
|
Fin MVàP + révisions automates finis
|
||||||
|
|
||||||
|
#### MVàP
|
||||||
|
|
||||||
|
Exemple de génération de code pour l'expression
|
||||||
|
|
||||||
|
$$[(a+b)(a-b)]+[(b+1)*(b-1)]$$
|
||||||
|
|
||||||
|
Arbre syntaxique de l'expression pour générer le code à pile dans le bon ordre.
|
||||||
|
|
||||||
|
On remarque que l'expression peut s'écrire plus simplement en
|
||||||
|
|
||||||
|
$$ a^2 -1 $$.
|
||||||
|
|
||||||
|
Arbre syntaxique de cette expression simplifiée pour générer le code à pile dans le bon ordre.
|
||||||
|
|
||||||
|
|
||||||
|
#### Révisions automates finis
|
||||||
|
|
||||||
|
Rappel vocabulaire automate.
|
||||||
|
|
||||||
|
* Alphabet formée d'un nombre fini de symboles lus par l'automate,
|
||||||
|
* états (initial un seul, acceptant plusieurs possibles) en un nombre fini
|
||||||
|
* calcul dans l'automate pour un mot en entrée, succession de état initial, première lettre, un état, une lettre lue etc.
|
||||||
|
* Si dernier état (après la dernière lettre) est acceptant, on accepte le mot, sinon on rejette.
|
||||||
|
|
||||||
|
On peut donner l'automate de 2 manières équivalentes.
|
||||||
|
|
||||||
|
* soit graphiquement
|
||||||
|
* soit sous forme de table de transition
|
||||||
|
|
||||||
|
Si un calcul s'arrête en cours de mot on rejette. Cette situation correspond à une case vide de la table de transition.
|
||||||
|
On peut remédier à cet aspect en ajoutant un état poubelle non acceptant (nommons le KO) en dernière ligne de la table de transition (avec KO partout, c'est un puit, on y reste coincé). En jargon de théorie des langages, on dit qu'on complète l'automate.
|
||||||
|
|
||||||
|
Exercices de révision.
|
||||||
|
|
||||||
|
On se place sur l'alphabet a,b.
|
||||||
|
Proposez un automate en expliquant bien le rôle des états pour les langages ci-dessous.
|
||||||
|
|
||||||
|
Pour chaque langage, proposez un mot accepté et un mot rejeté puis illustrer le fonctionnement de votre automate en donnant le chemin de calcul pour ces 2 exemples.
|
||||||
|
|
||||||
|
1. Le langage qui contient juste le mot ab.
|
||||||
|
2. Le langage formée des mots qui contient ab (de la forme n'importe quoi puis ab puis n'importe quoi, n'importe quoi pouvant être vide).
|
||||||
|
3. Le langage formé de successions du mot ab.
|
||||||
|
4. Le langage des mots qui commencent par ab.
|
||||||
|
5. Le langage des mots qui terminent par ab.
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user