BE Chapitre #1 - Gestion et manipulation d’un polynôme

S7 Appro – Inf A3 EG - Applications concurrentes, mobiles et réparties en Java

Objectifs :

L’objectif est de créer une classe Polynome pour manipuler des polynômes tels que : 5 + 3 x^1 - 3.5 x^2 (évaluation en x, génération du polynôme dérivé…). Pour cela on commence par implémenter une classe Monome pour manipuler des monômes du type a X^b ; un polynôme étant alors représenté par un vecteur de monômes…


Partie 1 : la classe Monome

Un monôme est caractérisé par un degré (entier positif) et un coefficient (nombre réel). Cette classe comportera :

  • Un constructeur permettant d’initialiser les attributs d’un monôme.
  • Deux méthodes getter qui renvoient les degré et coefficient de l’objet.
  • Une méthode d’affichage du monôme. Pour cela, surchargez la méthode toString de telle manière que l’affichage d’un monôme donne par exemple : 3.4 X^3. Pour améliorer la lisibilité de l’affichage, votre méthode devra respecter les règles suivantes pour les monômes de degrés 0 et 1 :

    • 2.5 X^0 s’affichera 2.5.
    • 3 X^1 s’affichera 3 X.
    • Un monôme de coefficient égal à 0 ne générera aucun affichage.
  • Une méthode addMonomeMemeDegre(...) qui met à jour le coefficient d’un monôme à partir d’un nombre réel transmis comme argument de la méthode. Ainsi, ajouter à un monôme P de coefficient 2.5 et de degré 3 la valeur 4.7 modifiera P en un monôme de coefficient 7.2 et de degré 3.

  1. Écrire un petit programme principal qui utilise les capacités de votre classe (n’oubliez pas d’utiliser addMonomeMemeDegre(...), et qui permet de vérifier que les règles d’affichage sont respectées.

Partie 2 : la classe Polynome

Un objet de la classe Polynome sera représenté par un tableau de monômes. Lors de la création d’un polynôme, on stipulera l’ordre maximum du polynôme. Par exemple, un polynôme d’ordre 3 n’admettra que des monômes de degré 0, 1 et 2, et sera représenté par un tableau de 3 monômes (cette taille ne pourra pas changer au cours de l’existence de l’objet).

  1. Écrire le constructeur en Java qui alloue le tableau de monômes et qui initialise le coefficient de chaque monôme à 0. Si l’ordre maximum transmis en argument est strictement négatif, on générera une exception standard avec un message d’erreur.

  2. Écrire une méthode void addMonome (Monome M) qui met à jour le coefficient du monôme correspondant dans le polynôme avec le monôme M transmis en argument. Penser à vérifier que le degré de M est compatible avec le polynôme.

  3. Surcharger la méthode toString pour l’affichage d’un polynôme.

  4. Écrire un programme principal qui crée le polynôme 11.4-1.45X^2 et l’affiche.


Partie 3 : Compléments sur la classe Polynome

Ajoutez les méthodes suivantes :

  1. double polyEval(double x) qui renvoie la valeur du polynôme en x. On utilisera la méthode Math.pow(x, y) pour calculer x à la puissance y. Ainsi l’évaluation du polynôme de l’exercice 2 en x=1 devra retourner la valeur 9.95.

  2. polynome getPolyDeriv() qui renverra un nouvel objet de la classe Polynome contenant le polynôme dérivé de l’objet sur lequel on applique la méthode. Ainsi le polynôme dérivé de la partie 2 s’affichera -2.9 X.