En REXX, il n'existe aucune fonction «Sqrt» permettant de calculer la racine carré. Pour remédier à se problème, il suffit de créer une fonction ressemblant à ceci :
- R=2.0;
- DO WHILE R<=1000.0
- SAY "Sqrt(" || R || ")=" || Sqrt(R)
- R=R*R
- END
- EXIT
-
- Sqrt :Procedure
- Arg X
- IF X=0.0 THEN Return 0.0
- ELSE
- Do
- M=1.0
- XN=X
- IF XN<0.0 THEN XN=-XN
- DO WHILE XN>=2.0
- XN=0.25*XN
- M=2.0*M
- END
- DO WHILE XN<0.5
- XN=4.0*XN
- M=0.5*M
- END
- A=XN
- B=1.0-XN
- DO Forever
- A=A*(1.0+0.5*B)
- B=0.25*(3.0+B)*B*B
- IF B<1.0E-15 THEN Leave
- END
- RETURN A*M
- End
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 : Lundi, le 10 novembre 2014