Section courante

A propos

Section administrative du site

Bien qu'en Turbo Pascal pour Windows, il existe une fonction «Sqrt» 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:

  1. Uses WinCrt; 
  2.  
  3. Function SquareRoot(X:Real):Real; 
  4. Var 
  5.  A,B,M,XN:Real; 
  6. Begin 
  7.  If X=0.0Then Begin 
  8.   SquareRoot:=0.0; 
  9.  End 
  10.   Else 
  11.  Begin 
  12.   M:=1.0; 
  13.   XN:=X; 
  14.   While XN>=2.0 do Begin 
  15.    XN:=0.25*XN; 
  16.    M:=2.0*M; 
  17.   End; 
  18.   While XN<0.5 do Begin 
  19.    XN:=4.0*XN; 
  20.    M:=0.5*M; 
  21.   End; 
  22.   A:=XN; 
  23.   B:=1.0-XN; 
  24.   Repeat 
  25.    A:=A*(1.0+0.5*B); 
  26.    B:=0.25*(3.0+B)*B*B; 
  27.   Until B<1.0E-15; 
  28.   SquareRoot:=A*M; 
  29.  End; 
  30. End; 
  31.  
  32. Var 
  33.  R:Real; 
  34.  
  35. BEGIN 
  36.  R:=2; 
  37.  While R<=1000 do Begin 
  38.   WriteLn('Sqrt(',R:0:5,')=',Sqrt(R):0:5,' ',SquareRoot(R):0:5); 
  39.   R:=R*R; 
  40.  End; 
  41. END.

on obtiendra le résultat suivant:

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


Dernière mise à jour : Dimanche, le 10 décembre 2017