Voici l'implémentation des deux méthodes (en langage Pascal) :
const epsilon=1E-10;
function racine1(y:real):real; // méthode des développements usuels
var n:integer; x,somme,produit,factorielle,puissance,memoire:real;
begin
x:=y-1;
if abs(x)>=1 then begin
writeln('/!\ le calcul de racine(y) necessite y sur ]0;2[');
readln; halt;
end;
n:=0;
somme:=1;
produit:=1;
factorielle:=1;
puissance:=1;
repeat
memoire:=somme;
n:=n+1;
produit:=produit*(0.5-n+1); // a=0.5
factorielle:=factorielle*n;
puissance:=puissance*x;
somme:=somme+produit*puissance/factorielle;
until abs(somme-memoire)<epsilon;
result:=somme;
end;
function racine2(a:real):real; // algorithme de Babylone
var x,y:real;
begin
if a<=0 then begin
writeln('/!\ le calcul de racine(a) necessite a>0');
readln; halt;
end;
y:=a;
repeat
x:=y; // x <=> x(n)
y:=(x+a/x)/2; // y <=> x(n+1)
until abs(x-y)<epsilon;
result:=y;
end;La deuxième est plus simple mais elle ne s'utilise qu'avec le calcul de la racine alors que la première peut facilement se modifier pour s'adapter à tous les développements usuels
La confiance n'exclut pas le contrôle