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.41421Sqrt(4)= 2.0000
Sqrt(16)= 4.0000
Sqrt(256)= 16.0000
Voir également
Dernière mise à jour : Dimanche, le 18 janvier 2015