[Scheme] Transformer une liste préfixe en arbre général
Transformer une liste préfixe en arbre général [Scheme] - Langages fonctionnels - Programmation
MarshPosté le 03-04-2013 à 22:12:42
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.
Marsh Posté le 03-04-2013 à 22:12:42
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:
(expr->agb ’(non (et (ou v f) (et v v)))) rend l’arbre représenté par:
(expr->agb ’(non (non v))) rend l’arbre représenté par:
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,