Présentation de l'algorithme :
Principe de la méthode pour encadrer racine de a :
- On part d'un rectangle de côté x=1 et y=a. A partir de ce rectangle initial, on construit de proche en proche d'autres rectangles dont l'aire est toujours égale à a mais dont la forme se rapproche d'un carré.
- En pratique, on passe d'un rectangle au rectangle suivant en prenant pour un côté du nouveau rectangle la demi-somme des côtés du rectangle précédent (x prend la valeur (x+y)/2). Comme l'aire du nouveau rectangle doit rester égale à a, on en déduit facilement le deuxième côté (y prend la valeur a/x).
Code de l'algorithme :
VARIABLES
x EST_DU_TYPE NOMBRE
y EST_DU_TYPE NOMBRE
a EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE a
x PREND_LA_VALEUR 1
y PREND_LA_VALEUR a
TANT_QUE (abs(y-x)>1e-8) FAIRE
DEBUT_TANT_QUE
x PREND_LA_VALEUR (x+y)/2
y PREND_LA_VALEUR a/x
SI (x<y) ALORS
DEBUT_SI
AFFICHER x
AFFICHER " < racine < "
AFFICHER y
FIN_SI
SINON
DEBUT_SINON
AFFICHER y
AFFICHER " < racine < "
AFFICHER x
FIN_SINON
FIN_TANT_QUE
FIN_ALGORITHME
Fichier AlgoBox associé : babylone.alg (faire un clic-droit et utiliser l'option "enregistrer sous" pour télécharger le fichier)
Tester l'algorithme :