|
En LotusScript, il n'existe pas toujours une fonction «Sqrt» permettant de calculer la racine carré.
Pour remédier à se problème, il suffit de créer une fonction ressemblant à ceci:
Function SquareRoot(X As Double) As Double
Dim A,B,M,XN As Double
If X=0.0Then
SquareRoot =0.0
Else
M=1.0
XN=X
Do While XN>=2.0
XN=0.25*XN
M=2.0*M
Loop
Do While XN<0.5
XN=4.0*XN
M=0.5*M
Loop
A=XN
B=1.0-XN
Do
A=A*(1.0+0.5*B)
B=0.25*(3.0+B)*B*B
Loop Until B<1.0E-15
SquareRoot=A*M
End If
End Function
Sub Main()
Dim R As Double
R=2
Do While R<=1000
Print "Sqrt(" &Str$(R) &")=" &Str$(Sqr(R)) &" " &Str$(SquareRoot(R))
R=R*R
Loop
End Sub
|
on obtiendra le résultat suivant:
Sqrt(2)= 1.41421
Sqrt(4)= 2.0000
Sqrt(16)= 4.0000
Sqrt(256)= 16.0000
|
|
|
| Dernière mise à jour: Mardi, le 7 février 2006 |