Il fonctionne à l'aide d'un formule bien connu de Lebniz qui nous dit que pi/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + 1/13...
Une précision est demandée pour savoir combien de boucle le programme doit faire donc plus la précision est grande plus la valeur de PI sera proche. Rien qu'avec 5000 qui se calcul rapidement (instantané presque) nous avons la même valeur qu'une simple calculatrice ! A savoir 3,141592653...
Source / Exemple :
pi_reel_txt.text = String(Math.PI);
pi_reel_txt.text = String(Math.PI);
go_btn.addEventListener(MouseEvent.CLICK, getPI);
function getPI(event:MouseEvent):void
{
var precision:uint = uint(precision_txt.text);
var j:uint;
var h:uint;
var xpi:Number;
var ypi:Number;
var PI:Number;
xpi = 0;
ypi = 0;
j = 1;
h = 3;
for (var i:int = 0; precision != i; i++)
{
ypi += (1/j);
j += 4;
}
for (var g:int = 0; precision != g; g++)
{
xpi -= (1/h);
h += 4;
}
PI = 4*(ypi + xpi) + ((1/precision)/2);
result_txt.text = String(PI);
}
Conclusion :
Voilà mon but étant de recevoir toutes les bonnes ou mauvaises critiques !