En DarkBASIC, il n'existe aucune fonction «ASin» permettant de calculer l'Arc Sinus d'un cercle en degré, mais pas en radian. Pour remédier à se problème, il suffit de créer une fonction ressemblant à ceci:
PRINT ArcSin(0.5)
WAIT KEY
FUNCTION ArcTan(X#)
LOCAL A#,B#,N
A# = 1.0 / Sqrt(1.0 + (X# * X#))
B# = 1.0
N = 1
WHILE N<=11
A# = (A# + B#) / 2.0
B# = Sqrt(A# * B#)
INC N
ENDWHILE
ReturnValue#=X# / (Sqrt(1.0 + (X# * X#)) * A#)
ENDFUNCTION ReturnValue#
FUNCTION ArcSin(a#)
PI#=3.141592653589793
IF Abs(a#)=1
ReturnValue# = a#*PI#/2
ELSE
ReturnValue# = ArcTan(a#/Sqrt(1-a#*a#))
ENDIF
ENDFUNCTION ReturnValue#
La dernière ligne contient une instruction «PRINT» retournant la valeur 0.5235987901687622 lors de l'exécution de se petit programme.
Dernière mise à jour : Samedi, le 4 octobre 2008