Mathématiques en seconde générale et technologique – Algorithmes

Encadrement de \(\sqrt{2}\) par balayage

Déterminer par balayage un encadrement de \(\sqrt{2}\) d'amplitude inférieure ou égale à \(10^{-n}\).
from fractions import Fraction
def racine_2(n) :
    pas = Fraction(1, 10 ** n)
    x = 1
    for i in range(10 ** n) :
        x += pas
        if x ** 2 > 2 :
            return x - pas, x

def run(k) :
    a, b = racine_2(k)
    print("{} < √(2) < {}".format(float(a), float(b)))

for k in range(7) :
    run(k)
from math import sqrt
print(sqrt(2))
1.0 < √(2) < 2.0
1.4 < √(2) < 1.5
1.41 < √(2) < 1.42
1.414 < √(2) < 1.415
1.4142 < √(2) < 1.4143
1.41421 < √(2) < 1.41422
1.414213 < √(2) < 1.414214
1.4142135623730951
Lionel Avon