Simuler des équations logiques
Bonjour :D,
Pour un de mes logiciels, j'ai besoin de simuler des équations logiques. Je dois savoir faire des opérations AND et OR (pas plus). Cela revient respectivement à faire des * et des +.
J'ai des objets "Input" qui contiennent la valeur logique d'une entrée:
Code:
1 2 3 4 5 6 7
| class Input
{
public bool Value
{
return mValue_b;
}
} |
Je dois par exemple faire: G + (A * B * C + D * E ) * F + H.
Cette formule sera stockée dans un objet s'appelant Expression. Celui-ci a une méthode Evaluate qui permet de calculer le résultat des différents opérations (donc à chaque fois en fonction de l'opération à réaliser il faut appeler GetValue):
Code:
1 2 3 4 5 6 7
| class Expression
{
public bool Evaluate()
{
...
}
} |
J'ai essayé de partir sur une liste avec un appel récursif pour évaluer mon expression mais ce n'est pas vraiment génial :D
Pour info, les formules sont générées à partir de diagramme Ladder.
Si quelqu'un pouvait m'aider à me dépatouiller, ce serait cool :ccool: