public abstract class Exp
extends java.lang.Object
Le but est de pouvoir générer, résoudre, simplifier et afficher les expressions pour d'un côté mettre au point des exercices, et comparer les résultats avec les propositions de l'utilisateur.
La structure utilisé pour répondre à ce problème est l'utilisation d'AST (arbre abstrait de syntaxe) dont chaque noeud représente un opérateur et chaque feuille représente un nombre ou une variable. On utilise aussi le principe de polymorphisme pour ajouter des opérations aisément.
Constructor | Description |
---|---|
Exp(Exp expLeft,
Exp expRight) |
Contructeur de l'expression suivant la structure d'un AST.
|
Modifier and Type | Method | Description |
---|---|---|
static boolean |
areEqual(Exp exp1,
Exp exp2) |
Compare si deux expressions sont égales algébriquement
|
abstract Exp |
copy() |
Permet de faire une "copie profonde" (deep copy) de l'objet.
|
abstract double |
evaluate() |
Évalue l'expression
|
Exp |
fullSimplify() |
Simplifie entièrement l'arbre dans la mesure des opérations de simplification implémentées
|
static void |
main(java.lang.String[] args) |
Zone de tests
|
void |
setBoth(Exp left,
Exp right) |
Remplace les deux sous-arbres par respectivement
left et right . |
abstract Exp |
simplify() |
Lance une itération de simplification de l'arbre
|
abstract java.lang.String |
toLatex() |
Affiche le mot en LaTeX de l'expression
|
abstract java.lang.String |
toLatexTree() |
Affiche le mot en LaTeX pour dessiner l'arbre en suivant la méthode suivante proposé sur
tex.stackexchange.com/
|
abstract java.lang.String |
toString() |
Affiche l'expression à partir de l'arbre
|
public static boolean areEqual(Exp exp1, Exp exp2)
exp1
- expression à comparer avec exp2
exp2
- expression à comparer avec exp1
exp1
et exp2
sont identiques
algébriquement, false dans le cas contraire.public static void main(java.lang.String[] args) throws java.lang.Exception
args
- non utilisé icijava.lang.Exception
public abstract Exp copy()
public abstract double evaluate() throws java.lang.Exception
java.lang.Exception
- si l'arbre contient une variable ou une division par 0public abstract Exp simplify()
public Exp fullSimplify()
public abstract java.lang.String toString()
toString
in class java.lang.Object
public abstract java.lang.String toLatex()
public abstract java.lang.String toLatexTree()