/* Recherche de la racine carree d'un reel */ /* compris entre 0.0 et 100.0 */ /* Utilisation d'une methode dichotomique */ public class RechercheRacineCarree { /////////////////////////////////////////////////// static final double EPSILON = 0.0000001; /* Recherche de la racine carree d'un reel */ /* compris entre 0.0 et 100.0 */ /* Utilisation d'une methode dichotomique */ /* v : Valeur dont on recherche la racine carree */ /* (comprise entre 0.0 et 100.0) */ static double racine(double v) { double ai = 0.0; double af = 10.0; double mid; do { mid = (af+ai)/2.0; if ( mid*mid > v ) { af = mid; } else { ai = mid; } } while ( af-ai > EPSILON ); return mid; } /////////////////////////////////////////////////// /* Programme principal */ public static void main(String [] args) { double v; Ecran.afficher("Valeur : "); v = Clavier.saisirDouble(); Ecran.afficherln("Racine carree de ",v," = ",racine(v)); } }