Exemple d'approche impérative pour le calcul de PI

--> cat Pi1.java
import fr.jussieu.script.*;
class Pi1 {
   static double f(double x){
      return Math.sqrt(1 - (x * x));}
   /* on effectue un lancer et on regarde si on est dans la cible */   
   static boolean dedans(){
   /* on tire au sort deux nombres dans l'intervalle [0:1[ */
   /*     qui seront les coordonnées du point d'impact     */
     double u = Math.random();
     double v = Math.random();
     return v <= f(u);
     }
   /* on effectue une série de n lancers et */
   /*   on comptabilise soi-même son score  */
   static int serieDeLancers(int n) {
     int i, score = 0;
     for (i = 0; i < n; i++)
        if(dedans()) score = score + 1; 
     return score;
     }
   public static void main(String[ ] st){
     int nbLancers, score;
     double pi;
     /* on détermine le nombre de lancers (st[0])
     nbLancers = Deug.stringToInt(st[0]);
     score = serieDeLancers(nbLancers);
     pi = 4 * ((double)score / nbLancers);
     Deug.println("PI = " + pi);
     }
}
--> javac Pi1.java
--> java Pi1 100000
PI = 3.14056
--> java Pi1 1000000
PI = 3.1429
-->