En REXX, il n'existe aucune fonction «Sin» ou «Sinus» permettant de calculer le Sinus d'un cercle. Pour remédier à se problème, il suffit de créer une fonction ressemblant à ceci :
- I = 0
- PI = 3.14159265359
- DO WHILE I < PI
- SAY "Sinus(" || I || ")=" || Sin(I)
- I = I + 0.1
- END
- EXIT
-
- Sin :PROCEDURE
- Numeric DIGITS 12
- Arg X
- PI = 3.14159265359
- X = X // (PI * 2)
- IF X>+PI THEN X = X - (PI * 2) ELSE
- IF X<-PI THEN X = X + (PI * 2)
- F = X
- Y = X
- YY = X
- X = X * X
- DO N=2 BY 2
- F = -F * X / (N * (N + 1))
- Y = Y + F
- IF YY = Y THEN LEAVE
- YY = Y
- END
- IF Abs(Y) < 1E-8 THEN Y = 0
- RETURN Y
on obtiendra le résultat suivant :
Sinus(0)=0Sinus(0.1)=0.0998334166465
Sinus(0.2)=0.198669330795
Sinus(0.3)=0.295520206661
Sinus(0.4)=0.389418342308
Sinus(0.5)=0.479425538605
Sinus(0.6)=0.564642473394
Sinus(0.7)=0.644217687238
Sinus(0.8)=0.717356090900
Sinus(0.9)=0.783326909628
Sinus(1.0)=0.841470984805
Sinus(1.1)=0.891207360066
Sinus(1.2)=0.932039085967
Sinus(1.3)=0.963558185413
Sinus(1.4)=0.985449729992
Sinus(1.5)=0.997494986609
Sinus(1.6)=0.999573603033
Sinus(1.7)=0.991664810456
Sinus(1.8)=0.973847630879
Sinus(1.9)=0.946300087685
Sinus(2.0)=0.909297426829
Sinus(2.1)=0.863209366650
Sinus(2.2)=0.808496403817
Sinus(2.3)=0.745705212180
Sinus(2.4)=0.675463180551
Sinus(2.5)=0.598472144102
Sinus(2.6)=0.515501371823
Sinus(2.7)=0.427379880234
Sinus(2.8)=0.334988150158
Sinus(2.9)=0.239249329220
Sinus(3.0)=0.141120008060
Sinus(3.1)=0.0415806624350
Dernière mise à jour : Dimanche, le 16 novembre 2014