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 exp2exp2 - expression à comparer avec exp1exp1 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.Exceptionpublic 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.Objectpublic abstract java.lang.String toLatex()
public abstract java.lang.String toLatexTree()