Bien qu'en Liberty BASIC, il existe une fonction «Sqr» permettant de calculer la racine carré, il peut quand même être amusant d'effectuer se genre de calcul nous même. Pour remédier à se problème, il suffit de créer une fonction ressemblant à ceci :
- R = 2.0
- WHILE R <= 1000.0
- PRINT "Sqrt("; R; ")="; SquareRoot(R)
- R = R * R
- WEND
-
- FUNCTION SquareRoot(X)
- IF X = 0.0 THEN
- SquareRoot = 0.0
- EXIT FUNCTION
- END IF
- M = 1.0
- XN = X
- WHILE XN >= 2.0
- XN = 0.25 * XN
- M = 2.0 * M
- WEND
- WHILE XN < 0.5
- XN = 4.0 * XN
- M = 0.5 * M
- WEND
- 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 < 0.000000000000001
- SquareRoot = A * M
- END FUNCTION
on obtiendra le résultat suivant :
Sqrt(2)= 1.41421Sqrt(4)= 2.0000
Sqrt(16)= 4.0000
Sqrt(256)= 16.0000
Dernière mise à jour : Samedi, le 23 août 2014