ATLAS Ouvrir dans l'atlas →

ExercicePremière, chapitre 2 — Suites · Généralités

Exercice 11 Méthode de Héron

AlgorithmiqueCalcul

On reprend la méthode présentée en introduction du cours : pour approcher a\sqrt{a}, on remplace à chaque étape la longueur xx par la moyenne de xx et de ax\dfrac{a}{x}. Pour a=2a=2, cela conduit à la suite (un)(u_{n}) définie par : {un+1=12(un+2un)u0=1\left\{ \begin{array}{ll} u_{n+1}=\dfrac{1}{2}\left(u_{n}+\dfrac{2}{u_{n}}\right)\\ u_{0}=1 \end{array} \right.

1. Calculer u1u_{1}, u2u_{2} et u3u_{3} sous forme de fractions irréductibles.

2. Donner une valeur approchée de u3u_{3} à 10−610^{-6} près, puis la comparer à celle de 2\sqrt{2}. Combien de décimales exactes obtient-on en trois étapes seulement ?

3. Recopier et compléter la fonction Python suivante, qui renvoie le terme unu_{n} :

def heron(n):
    u = 1
    for i in range(n):
        u = ...
    return u

4. Modifier cette fonction pour qu'elle prenne le nombre aa en argument et approche a\sqrt{a}. La tester avec a=5a=5.

5. À l'aide de la calculatrice ou de Python, déterminer le plus petit rang nn tel que : ∣un−2∣⩽10−9|u_{n}-\sqrt{2}|\leqslant 10^{-9}

Corrigé

1. On applique la relation de récurrence : u1=12(1+21)=32;u2=12(32+43)=12×176=1712u_{1}=\frac{1}{2}\left(1+\frac{2}{1}\right)=\frac{3}{2} \qquad ; \qquad u_{2}=\frac{1}{2}\left(\frac{3}{2}+\frac{4}{3}\right)=\frac{1}{2}\times\frac{17}{6} =\frac{17}{12}

u3=12(1712+2417)=12×289+288204=577408u_{3}=\frac{1}{2}\left(\frac{17}{12}+\frac{24}{17}\right) =\frac{1}{2}\times\frac{289+288}{204}=\frac{577}{408}
u1=32;u2=1712;u3=577408\boxed{u_{1}=\frac{3}{2} \quad ; \quad u_{2}=\frac{17}{12} \quad ; \quad u_{3}=\frac{577}{408}}

2. On compare les deux écritures décimales : u3≈1,414216et2≈1,414214u_{3}\approx 1,414216 \qquad\text{et}\qquad \sqrt{2}\approx 1,414214

les 5 premieˋres deˊcimales sont exactes apreˋs trois eˊtapes seulement\boxed{\text{les }5\text{ premières décimales sont exactes après trois étapes seulement}} L'écart vaut environ 2×10−62\times 10^{-6} : la méthode double approximativement le nombre de décimales exactes à chaque étape.

3. Il suffit de traduire la relation de récurrence :

def heron(n):
    u = 1
    for i in range(n):
        u = (u + 2/u)/2
    return u

4. On remplace 22 par le paramètre a :

def heron(a, n):
    u = 1
    for i in range(n):
        u = (u + a/u)/2
    return u

Pour a=5a=5, on obtient heron(5, 5)≈2,236068\texttt{heron(5, 5)}\approx 2,236068, alors que 5≈2,2360680\sqrt{5}\approx 2,2360680.

5. En comparant les termes successifs à 2\sqrt{2} : ∣u3−2∣≈2,1×10−6et∣u4−2∣≈1,6×10−12|u_{3}-\sqrt{2}|\approx 2,1\times 10^{-6} \qquad\text{et}\qquad |u_{4}-\sqrt{2}|\approx 1,6\times 10^{-12}

n=4\boxed{n=4}

Dans l'édifice

Thèmes

suites, suite définie par récurrence, Python

Notions

suite

Ouvrir dans l'atlas interactif →