Exercice04_SeriesMathematiquesRetourTélécharger Application de la généricité : traitement générique de calcul d'une série mathématique convergente. Exercice04_SerieMathematique.pdf compil.bat mkdir bin del /f /s /q bin\*.class javac -d bin -classpath "src" src/fr/cnam/programme/*.java pause run.bat java -classpath "bin" fr.cnam.programme.Exercice04 pause src fr cnam programme CalculerSerie.java package fr.cnam.programme; public class CalculerSerie { public static double maxIteration = 1000000; public double calculer(Serie serie,double precision) { int nbBoucle=0; boolean fini = false; double Unmoins1 = serie.getU0(); double Un = serie.suivant(Unmoins1); while(!fini) { if (nbBoucle >maxIteration) fini = true; if (Math.abs(Un-Unmoins1)<precision) fini = true; else { Unmoins1 = Un; Un = serie.suivant(Unmoins1); } nbBoucle++; } return Un; } } Exercice04.java package fr.cnam.programme; public class Exercice04 { public static void main(String[] args) { // TODO Auto-generated method stub CalculerSerie cal = new CalculerSerie(); System.out.println("racine carree de 81: "+cal.calculer(new SerieRacineCarree(81.0), 0.00001)); System.out.println("racine carree de 3: "+cal.calculer(new SerieRacineCarree(3.0), 0.001)); System.out.println("racine carree de 3: "+cal.calculer(new SerieRacineCarree(3.0), 0.0000001)); System.out.println("Nombre d'OR : "+cal.calculer(new SerieNombreOr(), 0.00001)); System.out.println("Nombre d'OR : "+(1.0+Math.sqrt(5.0))/2.0); } } Serie.java package fr.cnam.programme; public abstract class Serie { abstract public double getU0(); abstract public double suivant(double Unmoins1); } SerieNombreOr.java package fr.cnam.programme; public class SerieNombreOr extends Serie { @Override public double getU0() { return 1.0; } @Override public double suivant(double Unmoins1) { // TODO Auto-generated method stub return 1.0+1.0/Unmoins1; } } SerieRacineCarree.java package fr.cnam.programme; public class SerieRacineCarree extends Serie { private double a; public SerieRacineCarree(double a) { this.a=a; } @Override public double getU0() { return 1.0; } @Override public double suivant(double Unmoins1) { // TODO Auto-generated method stub return (Unmoins1+a/Unmoins1)*0.5; } }