public class DeveloppementLimiteSinus {
  
///////////////////////////////////////////////////////

/* 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) {
    double angle;
    int n;
    double sin;
    Ecran.afficher("SVP, l'angle : ");
    angle = Clavier.saisirDouble();  
    Ecran.afficher("SVP, n       : ");
    n = Clavier.saisirInt();  
    sin = sinus(angle,n);
    Ecran.afficherln("sin(",angle,") = ",sin);
    Ecran.afficherln("Valeur reelle = ",Math.sin(angle));
    Ecran.afficherln("Difference = ",Math.sin(angle)-sin);
  }
}