Voilà j'ai besoin de vous pour créer une fonction, cela fait 2 jours que je comprend vraiment pas comment je peux faire ça:
Écrire la définition complète de la fonction expr->agb qui, pour une ExprBoolPrefixe E donnée, représentant une expression bien formée, rend l’ArbreGenBool représentant cette liste E.
Par exemple :
(expr->agb ’v) rend l’arbre représenté par:
(expr->agb ’(et (ou v f) (non f))) rend l’arbre représenté par:
Code : Sélectionner tout - Visualiser dans une fenêtre à part (ag-noeud ’v (list))
(expr->agb ’(non (et (ou v f) (et v v)))) rend l’arbre représenté par:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 (ag-noeud ’et (list (ag-noeud ’ou (list (ag-noeud ’v (list)) (ag-noeud ’f (list)))) (ag-noeud ’non (list (ag-noeud ’f (list))))))
(expr->agb ’(non (non v))) rend l’arbre représenté par:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 (ag-noeud ’non (list (ag-noeud ’et (list (ag-noeud ’ou (list (ag-noeud ’v (list)) (ag-noeud ’f (list)))) (ag-noeud ’et (list (ag-noeud ’v (list)) (ag-noeud ’v (list))))))))
Le principe c'est que je dois créer un évaluateur et je dois pouvoir etudier 4 formules qui sont:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 (ag-noeud ’non (list (ag-noeud ’non (list (ag-noeud ’v (list))))))
v
(et (ou v f) (non f))
(non (et (ou v f) (et v v)))
(non (non v))
mais pour ça faut pouvoir les transforrmer en arbre.
Si vous pouviez m'aider, me mettre sur la piste ou n'importe quoi d'autre je suis preneur.
Merci d'avance,
Partager