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:
Code :
- (ag-noeud ’v (list))
|
(expr->agb ’(et (ou v f) (non f))) rend l’arbre représenté par:
Code :
- (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 (et (ou v f) (et v v)))) rend l’arbre représenté par:
Code :
- (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))))))))
|
(expr->agb ’(non (non v))) rend l’arbre représenté par:
Code :
- (ag-noeud ’non
- (list (ag-noeud ’non
- (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:
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,