diff --git a/TEST2024/Polynome.java b/TEST2024/Polynome.java new file mode 100644 index 0000000..a53d36e --- /dev/null +++ b/TEST2024/Polynome.java @@ -0,0 +1,68 @@ + /** + * Classe modelisant un polynome à coefficients entiers + * Un polynome est caracterise par la suite de ses coefficients + * Ils sont stockes dans un tableau d'entiers, coefficient de poids faible en premier + * ex: 3x^2+5x+1 est represente par le tableau [1,5,3] + * Le premier coefficient ne peut pas etre nul + */ + public class Polynome{ + //la liste des coefficients de notre polynome + int[] coefficients; + //le degre du polynome; + + /** + *le constructeur + *@param t un tableau d'entiers + *@throws IllegalArgumentException si le premier coefficient de t est nul + */ + public Polynome(int[] t){ + coefficients=new int[t.length]; + for(int i=0;i=0;i--){ + r+=coefficients[i]*p; + p*=x; + } + return r; + } + + /** + *additionne deux polynome, renvoie le resultat dans un nouveau polynome + *@param p un polynome + *@return un polynome + */ + public Polynome add(Polynome p){ + int d=this.degre()+1; + int[] c=new int[d]; + for(int i=0;i return (this.index); //BUGFIX enlevé +1 si si vous avez enlevé un +1. + + +BUGFIX me permet de voir où vous avez modifié le code. +Si vous ne suivez pas ces consignes vous n'aurez aucun point sur cette partie. + +## Seconde partie : test ## +Vous devez compléter le fichier **TestPolynomeACompleter.java** +Il n'est pas demandé de changer le code de **Polynome.java** pour passer ces nouveaux tests. + +## Modalité de rendu ## +Vous devez envoyer par mail à luc.dartois@u-pec.fr avec comme objet : [TP Test] Nom Prenom + +Le mail devra contenir une archive VotreNom.tar.gz contenant uniquement les deux fichiers .java (on ne veut pas les .class) suivants, édités par vos soins comme indiqué dans les questions ci-dessus : +**Polynome.java** +**TestPolynomeACompleter.java** + +Pour ceux qui ont oublié comment faire : + +> bob@box:~$ tar czvvf VotreNom.tar.gz Polynome.java TestPolynomeACompleter.java \ No newline at end of file diff --git a/TEST2024/TestPolynome.java b/TEST2024/TestPolynome.java new file mode 100644 index 0000000..aaed076 --- /dev/null +++ b/TEST2024/TestPolynome.java @@ -0,0 +1,67 @@ +import static org.junit.Assert.assertTrue; // import static : une facilite offerte depuis java5 (pas besoin de mettre le prefixe) +import static org.junit.Assert.assertFalse; // +import static org.junit.Assert.assertEquals; // +import static org.junit.Assert.assertNull; // +import static org.junit.Assert.assertNotNull; // +import org.junit.Test; +import java.lang.StringBuilder; +import java.util.EmptyStackException; + + + +public class TestPolynome{ + + @Test(expected=IllegalArgumentException.class) + public void LePlusGrandCoeffEstNonNul(){ + Polynome p=new Polynome(new int[] {1,2,0}); + } + + + @Test + public void EvaluerCorrect(){ + Polynome p=new Polynome(new int[] {1,2,1}); + assertEquals(0,p.evaluer(-1)); + } + + @Test + public void EvaluerEncore(){ + Polynome p=new Polynome(new int[] {3,2,-1}); + assertEquals(0,p.evaluer(3)); + } + + @Test + public void AffichageCorrect(){ + Polynome p=new Polynome(new int[] {1,2,3}); + assertEquals("3x^2+2x+1",p.toString()); + } + + @Test + public void AjoutPolynome(){ + Polynome p=new Polynome(new int[] {1,2,3}); + Polynome q=new Polynome(new int[] {9,-4}); + Polynome s=p.add(q); + assertEquals(s.evaluer(0),10); + assertEquals(s.evaluer(1),11); + assertEquals(s.evaluer(3),31); + } + + @Test + public void AjoutPolynomeEncore(){ + Polynome p=new Polynome(new int[] {1,2,3}); + Polynome q=new Polynome(new int[] {9,-4}); + Polynome s=q.add(p); + assertEquals(s.evaluer(0),10); + assertEquals(s.evaluer(1),11); + assertEquals(s.evaluer(3),31); + } + + @Test + public void SommeInverseCreePolynomeNul(){ + Polynome p=new Polynome(new int[] {1,2,3,4,5,7}); + Polynome pm=new Polynome(new int[] {-1,-2,-3,-4,-5,-7}); + assertEquals(-1,p.add(pm).degre()); + } + + + +} \ No newline at end of file diff --git a/TEST2024/TestPolynomeACompleter.java b/TEST2024/TestPolynomeACompleter.java new file mode 100644 index 0000000..874c2fb --- /dev/null +++ b/TEST2024/TestPolynomeACompleter.java @@ -0,0 +1,50 @@ +import static org.junit.Assert.assertTrue; // import static : une facilite offerte depuis java5 (pas besoin de mettre le prsfixe) +import static org.junit.Assert.assertFalse; // +import static org.junit.Assert.assertEquals; // +import static org.junit.Assert.assertNull; // +import static org.junit.Assert.assertNotNull; // +import org.junit.Test; +import java.lang.StringBuilder; +import java.util.EmptyStackException; + + + +public class TestPolynomeACompleter{ + + @Test + public void OnCreeUnPolynome(){ + + } + + @Test() + public void OnCreeUnPolynomeAPartirDeNull(){ + + } + + @Test + public void DegreEstCorrect(){ + + } + + @Test + public OnAfficheLePolynomeNul(){ + + } + + //attention le polynome nul n'est pas null + @Test + public void DegrePolynomeNul(){ + + } + + @Test + public void AddEstCommutatif(){ + + } + + + @Test + public void EvaluerLaSommeEstEgalASommerLesEvaluations(){ + + } +} \ No newline at end of file