salut a tous!!,je cherche un algo pour l'acquisition d'une fonction booléenne et sa transformation en un arbre binaire(variables sur les feuilles et operateurs sur les noeuds)
merci d'avance![]()
salut a tous!!,je cherche un algo pour l'acquisition d'une fonction booléenne et sa transformation en un arbre binaire(variables sur les feuilles et operateurs sur les noeuds)
merci d'avance![]()
Tu parles de fonction booléenne ou tu veux parler d'une expression logique ?l'acquisition d'une fonction booléenne
bonjour,
c'est une fonction booléenne avec des opérateurs "+" "." et "/" pour les compléments. par exemple une fonction f(a,b,c)=/(a.(b+c))
ok, dans ce cas c'est une expression logique, et pas purement une fonction booléenne, ce qui rend la chose plus facile.
Souhaites tu construire l'arbre pour l'évaluer ensuite ? Il y a des méthodes performantes dans des cours de Compilation utilisant des piles pour réaliser cela.
oui exactement. parce que ensuite il va servir à un autre sous programme qui lui va le simplifier on va dire, en une somme de produit qui va etre retranscrite encore une fois en un arbre. et cette somme de produit sera utiliser et donc doit etre facilement manipulable, par un autre programme.
donc voilà seulement, de l'ADA j'en ai fait peu, et avec un prof passe moi l'expression mais un prf de me***, donc je sèche pas mal sur l'algo et le programme d'ou le coup de main que je demande.
suffit d'une fonction recursive... la difficulté est de parser correctement la formule !
en gros, ca donne un truc du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 arbre A Construct(chaine C) retourne un arbre si C est de la forme /(uneChaine) ajouter a A un noeud avec operateur / et une branche vers Construct(uneChaine) si C est de la forme (uneChaine + uneAutreChaine) ajouter a A un noeud avec operateur + et 2 branche vers Construct(uneChaine) et Construct(uneAutreChaine) //pareil pour l'operateur . si C est une variable, la renvoyer
Envoyé par sad-evil
bein tu vas attendre longtemps avec ce genre de réaction
Envoyé par Nemerle
tu m'etonnes![]()
je t'ai donné un algo, bancal peut etre, improvisé surement, mais je ne suis pas la pour faire ton boulot a ta place...
bonsoir, voilà, vous m'avez bien conseillé pour mon problème, mais je tourne toujours en rond, je tatonne sans avancer dans mon projet pourriez-vous s'il vous plaît m'indiquer des sites internet ou il y aurait un cours sur la construction et surtout transformation de fonction logique en arbre binaire. merci d'avance![]()
je t'ai donné l'algorithme dans mon premier post, qu'est ce qui ne te va pas ?
Partager