On adapte l'algorithme du cours pour encadrer √3 au dixième : pas = 0.1 ; x = 0 ; while (x + pas)**2 <= 3 : x = x + pas. Quelles valeurs successives prend x ? Quel encadrement obtient-on ? Comment obtenir un encadrement au centième ?
Voir la correction
la boucle avance x de 0,1 en 0,1 tant que le carré du nombre suivant ne dépasse pas 3. On teste donc successivement (0,1)2, (0,2)2, … : x prend les valeurs 0 ; 0,1 ; 0,2 ; … ; 1,7.
Pour x = 1,7, le nombre suivant est 1,8 et 1,82 = 3,24 > 3 : la condition devient fausse, la boucle s'arrête avec x = 1,7. On a 1,72 = 2,89 ≤ 3 < 3,24 = 1,82, et comme la fonction carré est croissante sur les positifs : 1,7 ≤ √3 < 1,8.
C'est un encadrement d'amplitude 0,1 ; en effet √3 ≈ 1,732. Pour un encadrement au centième, on prend pas = 0.01 : la boucle s'arrête à x = 1,73, car 1,732 = 2,9929 ≤ 3 < 3,0276 = 1,742, d'où 1,73 ≤ √3 < 1,74.
Remarque pratique : les additions répétées de 0,1 en flottants accumulent de petites erreurs (0,1 + 0,1 + 0,1 n'est pas exactement 0,3 en machine) ; pour de nombreuses étapes, on préfère calculer x comme k × pas avec k entier.