On cherche au cours de cet exercice à modéliser un polynôme comme une collection de Monomes
Reprendre la classe Monome du corrigé de l'épreuve de contrôle continu.
Ecrire une classe Polynome qui sera composée d'une ArrayList de monomes
Ecrire la méthode Monome getMonome(int i) qui retourne le monome à l'indice i de la liste
Ecrire la méthode public int Ajoute (Monome m) qui ajoute un monome à la liste et qui retourne le nombre de monome dans la liste. Si un monome de même degré est déjà présent dans la liste, on le remplacera par un monome de ce degré et dont le coefficient est la somme des coefficients du monome ajouté et du monome déjà présent, sauf si cette somme est nulle.
Ecrire une méthode public String toString() qui présente la liste sous la forme d'une chaîne. On veillera à obtenir une présentation élégante du style P(x)=3x^2-2x+1 en évitant d'avoir plusieurs signes dans le cas d'un monome négatif.
Ecrire une méthode public double calcul(double x) qui calcule la valeur du polynome pour une valeur de x, en faisant la somme de toutes les valeurs des monomes de la liste pour cette valeur de x
Cette méthode n'est pas optimal, car on effectue de nombreuses fois le calcul de xn.
On cherche à mettre en uvre le schéma de Horner qui écrit le polynome
P(x) = a4 x4 + a3 x3 + a2 x2 + a1 x + ao
sous la forme P(x) = ((a4 x + a3) x + a2 ) x + a1 ) x + a0
Ecrire une méthode public double calculHorner(double x) qui effectue le calcul avec cette méthode. NB : il sera judicieux de trier préalablement la liste des monomes.