TP LC209 : CC3, avec documents, 06/01/2006

P.Reinhardt

Laboratoire de Chimie Théorique, Université Pierre et Marie Curie - Paris VI,
4 place Jussieu, F - 75252 Paris CEDEX 05, France
Peter.Reinhardt@upmc.fr

Temps de l'éxercice : 30 min



Essayons de calculer sin(x) par


sin(x) = x - x3
3!
+ x5
5!
- x7
7!
+ x9
9!
¼




Ecrire un programme qui

  1. lit un angle ALPHA
  2. le transforme en argument entre 0 et 2p par
          X = ALPHA * PI / 180.
    
  3. contient une somme d'increment 2
          DO N=3,7,2
    
  4. calcule chaque terme en multipliant le précedent par
          -1., X*X, 1/N, 1/(N-1)
    
    (attention aux types de variables!);
  5. continue jusqu'à N=13, si le dernier (N=7) était encore plus grand que 10-4
  6. affiche le résultat et la différence avec le ``vrai'' sinus par SIN(X).

      PROGRAM MAIN
      IMPLICIT NONE

      REAL ALPHA,SUM,SINUS,TERM,X,PI
      INTEGER N

      WRITE(6,*) ' donner un angle '
      READ(5,*) ALPHA

      PI=2.*ACOS(0.)
      X=ALPHA*PI/180.

      TERM=X
      SINUS=TERM
      DO N=3,7,2
       TERM=-TERM*X/REAL(N-1)*X/REAL(N)
       SINUS=SINUS+TERM
      END DO

      IF (ABS(TERM).GT.1.E-4) THEN
       WRITE(6,*) ' dernier terme : ',TERM,'; nous continuons'
       DO N=9,13,2
        TERM=-TERM*X/REAL(N-1)*X/REAL(N)
        SINUS=SINUS+TERM
       END DO
      END IF

      WRITE(6,*) ' notre sinus vaut : ',SINUS
      WRITE(6,*) ' nous aurons du trouver : ',SIN(X)
      WRITE(6,*) ' la difference est de ',SINUS-SIN(X)

      END


File translated from TEX by TTH, version 2.72.
On 5 Jan 2006, 22:55.