Polynome

publicité
Programmation orientée objet
CP 2 TD/TP n°5
année 2015
Objectif
L'objectif de cette partie du TD est de programmer une classe permettant de gérer les
polynômes, d’étudier certaines spécificités du langage Java (nombre d’arguments
quelconques) et de regarder comment se déroule l’ouverture d’un fichier.
écriture de la classe Polynôme
La classe Polynôme permet de modéliser tous les polynômes de la forme :
Cette classe contiendra les attributs et méthodes suivants !
•
La classe contiendra un unique attribut privé de type tableau qui contiendra la totalité des
coefficients du polynôme. Un polynôme de degré n sera stocké dans un tableau de taille
n+1, le coefficient c0 étant stocké dans la cellule 0 ;
•
un constructeur public Polynome(double... coeffs) qui prend un nombre
d’arguments variable de type « double » afin d’initialiser le polynôme. Le
coefficient c0 étant le premier argument. Les 3 petits points indiquent qu’il y a
un nombre quelconque d’arguments, qui est une nouvelle caractéristique
introduite dans la jdk 1,5 de Java. Le compilateur Java transforme
automatiquement les arguments en un tableau
exemple :
public static void main(String [] args){
}
•
// Programme de Test
Polynome p1 = new Polynome(1.1,2.2,3.3);
Polynome p2 = new Polynome(1.1,2.2,3.3,4.4,5.5);
un autre constructeur qui lit les coefficients à partir d’un fichier, qui a le format ci-dessous
Degree-n(int)
c0(double)
c1(double)
......
......
cn-1(double)
cn(double)
Le début du constructeur suivant devrait vous aider :
public Polynome(String filename){
Scanner in = null;
try {
in = new Scanner(new File(filename));
} catch (FileNotFoundException e){
e.printStackTrace();
}
int degre = in.nextInt();
}
•
une méthode public int getDegre() qui retourne le degré du polynôme ;
•
une méthode public String toString() qui retourne
"cnx^n+cn-1x^(n-1)+...
+c1x+c0"
•
une méthode public double evaluate(double x) qui évalue le polynôme en x ;
•
des méthodes public Polynome add (Polynome unAutrePolynome) et public
Polynome multiplie(Polynome unAutrePolynome) qui effectuent les opérations
d’addition et de multiplication de polynômes.
A vous de programmer cette classe ainsi qu’une classe TestePolynome qui
comprendra un certain nombre de tests sur les polynômes.
Téléchargement