public class DeveloppementLimiteSinusEnConsole {

///////////////////////////////////////////////////////

/* Calcul de la valeur de sin(a) au voisinage de 0.0 */
/* Utilisation du developpement limite               */
/* Les valeurs a et n sont donnees                   */

  static double sinus(double a,int n) {
    double sn;
    double terme;
    sn = a;
    terme = a;
    for ( int i = 3 ; i <= n ; i = i+2 ) {
      terme = -terme*a*a/i/(i-1);
      sn = sn + terme; }
    return sn;
  }

///////////////////////////////////////////////////////

/* Programme principal                               */

  public static void main(String [] args) {
    Console.setTitle("DeveloppementLimiteSinus");
    double angle;
    int n;
    double sin;
    Console.afficher("SVP, l'angle : ");
    angle = Console.saisirDouble();
    Console.afficher("SVP, n       : ");
    n = Console.saisirInt();
    sin = sinus(angle,n);
    Console.afficherln("sin(",angle,") = ",sin);
    Console.afficherln("Valeur reelle = ",Math.sin(angle));
    Console.afficherln("Difference = ",Math.sin(angle)-sin);
  }
}