Section courante

A propos

Section administrative du site

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 :

  1. R=2.0;   
  2. DO WHILE R<=1000.0
  3.    SAY "Sqrt(" || R || ")=" || Sqrt(R)
  4.    R=R*R
  5. END
  6. EXIT
  7.  
  8. Sqrt :Procedure  
  9.    Arg X 
  10.    IF X=0.0 THEN Return 0.0 
  11.     ELSE  
  12.    Do 
  13.       M=1.0 
  14.       XN=X 
  15.       IF XN<0.0 THEN XN=-XN 
  16.       DO WHILE XN>=2.0 
  17.          XN=0.25*XN 
  18.          M=2.0*M 
  19.       END 
  20.       DO WHILE XN<0.5  
  21.          XN=4.0*XN 
  22.          M=0.5*M 
  23.       END  
  24.       A=XN 
  25.       B=1.0-XN 
  26.       DO Forever 
  27.          A=A*(1.0+0.5*B) 
  28.          B=0.25*(3.0+B)*B*B 
  29.          IF B<1.0E-15 THEN Leave 
  30.       END 
  31.       RETURN A*M 
  32.    End

on obtiendra le résultat suivant :

Sqrt(2)= 1.41421
Sqrt(4)= 2.0000
Sqrt(16)= 4.0000
Sqrt(256)= 16.0000

Voir également

Science - Mathématique

Dernière mise à jour : Lundi, le 10 novembre 2014