Calcul du sinus d'un angle.


Algorithme pour calculer le sinus d'un angle exprimé en radians

 Lire un angle Rad exprimé en radians
L'utilisation des radians est obligatoire car on utilisera plus tard
un développement en série.
Mettre +1 dans Sign "Enlever" un nombre entier de tours grâce à: * Rad = Rad - 2 * pi * [Rad / (2*pi)] si rad<0 * Rad = Rad + 2 * pi * [-Rad / (2*pi)] + 2*pi si rad>=0 Les opérations précédentes ramènent l'angle au 1er tour (2 pi).
Si Rad>pi, le ramener entre 0 et pi en soustrayant pi et s'en souvenir en mettant -1 dans Sign Si l'angle est dans les 3ème et 4ème quadrants, on soustrait pi pour se retrouver dans les 2 premiers quadrants. Mais le signe du sinus est changé.
Si Rad>pi/2, faire Rad = pi - Rad Si on est dans le 3ème quadrant, on prend l'angle supplémentaire dont le sinus a la même valeur.
Si Rad>pi/4, * faire Rad = pi/2 - Rad * Sinus vaut 1 - Rad*Rad/2 + Rad*Rad*Rad*Rad/24 L'angle est plus grand qu'1/8 tour, pour diminuer la valeur utilisée dans le développement en série, on prend l'angle complémentaire dont on calcule le cosinus en prenant les 3 premiers termes du développement en série. Pour une plus grande précision, on peut augmenter le nombre de termes.
Si Rad<=pi/4, Sinus vaut Rad - Rad*Rad*Rad/6 + Rad*Rad*Rad*Rad*Rad/120 On prend les 3 premiers termes du développement en série de la fonction sinus. Pour une plus grande précision, on peut augmenter le nombre de termes.
Multiplier Sinus par Sign et afficher la réponse On ajuste le signe
réel x, Rad, pi, Sinus
entier Sign
écrire "Introduisez l'angle (en radians):"
lire x
pi <-- 3.1416;
Rad <-- x
Sign <-- +1
si Rad>0 alors Rad <-- Rad - 2*pi * [Rad / (2*pi)]
sinon  Rad <-- Rad + 2*pi * [-Rad / (2*pi)] + 2*pi
fsi
si Rad > pi alors Rad <-- Rad - pi
                  Sign <-- -1
fsi
si Rad > pi/2 alors Rad <-- pi - Rad
fsi
si Rad > pi/4 alors Rad <-- pi/2 - Rad
                    Sinus <-- 1 - Rad*Rad/2 + Rad*Rad*Rad*Rad/24
sinon  Sinus <-- Rad - Rad*Rad*Rad/6 + Rad*Rad*Rad*Rad*Rad/120
fsi
Sinus <-- Sinus * Sign
écrire "sin(",x,")=",Sinus
PROGRAM Calcul_Sinus;
VAR x, Rad, pi, Sinus : REAL;
    Sign : SHORTINT;
BEGIN
WRITELN('Calcul du sinus d''un angle.');
WRITE('Introduisez l''angle (en radians):');
READLN(x);
pi:=3.1416;
Rad := x;
Sign := +1;
IF Rad>0 THEN Rad := Rad - 2*pi * TRUNC(Rad / (2*pi))
ELSE Rad := Rad + 2*pi * TRUNC(-Rad / (2*pi)) + (2*pi);
IF Rad > pi THEN BEGIN
                 Rad := Rad - pi;
                 Sign :=-1
                 END;
IF Rad > pi/2 THEN Rad :=pi - Rad;
IF Rad > pi/4 THEN BEGIN
                   Rad :=pi/2 - Rad;
                   Sinus :=1 - Rad*Rad/2 + Rad*Rad*Rad*Rad/24
                   END
ELSE Sinus :=Rad - Rad*Rad*Rad/6 + Rad*Rad*Rad*Rad*Rad/120;
Sinus := Sinus * Sign;
WRITELN('sin(',x,')=',Sinus)
END.


Page précédente.

Page d'accueil.