Previous Up Next

Chapitre 5  Exemples d’exercies utilisant le tableur

5.1  PGCD

5.1.1  L’algorithme d’Euclide

Voici la description de cet algorithme pour obtenir le pgcd de deux entiers a et b :
on effectue des divisions euclidiennes successives :

a =b × q1+r10 ≤ r1 < b 
b  =r1 × q2+r20 ≤ r2 < r1 
r1  =r2 × q3+r30 ≤ r3 < r2 
.......

Après un nombre fini d’étapes (au plus b), il existe un entier n tel que : rn = 0.
on a alors :
PGCD(a,b )= PGCD(b,r1) =....PGCD(rn−1,rn) = PGCD(rn−1,0)
donc
PGCD(a,b ) = rn−1

5.1.2  Une mise en œuvre simple

On effectue une commande en appuyant sur enter, si on appuie à nouveau sur enter Xcas exécute à nouveau la même commande puisque cette commande reste inscrite dans la ligne des commandes.
Les différentes commandes et réponses sont numérotées à partir de 0.
Les réponses sont alors ans(0), ans(1) etc ... La dernière réponse peut aussi être désignée par ans() ou par ans(-1), et l’avant dernière réponse peut être désignée par ans(-2) etc...
Pour calculer PGCD(78,56), on tape :
78 enter puis 56 enter puis,
irem(ans(-2),ans()) enter
On obtient 22 (car 22 est le reste de la division de 78 par 56)
puis enter enter enter etc...et cela nous permet d’obtenir la suite des restes.

5.1.3  La suite des restes avec le tableur

Voici une mise en œuvre de l’algorithme d’Euclide avec un tableur.
À l’aide d’un tableur que l’on obtient avec le raccourci clavier Alt+t, on écrit la suite des restes. Si l’on veut déterminer le PGCD(78,56), on définit la suite des restes dans la colonne A par :
On met 78 dans A0
On met 56 dans A1
On met =irem(A0,A1) dans A2
puis on utilisee le menu du tableur Edit puis Remplir et Copier vers le bas, lorsque A2 est en surbrillance et l’on a ainsi la suite des restes des divisions successives dans la colonne A.
Le dernier reste non nul 2 est donc le pgcd de 78 et de 56.

5.2  Identité de Bézout

L’algorithme d’Euclide permet aussi de trouver un couple u, v vérifiant :
au + bv= PGCD(a,b)

5.2.1  Avec le tableur

On pose a=r0 et b=r1, et on définit, dans la colonne A, "la suites des restes" rn : pour n ≥ 2, rn−2=qnrn−1+rn avec rn<rn−1.
Puis on définit, dans les colonnes B et C, deux suites un et vn de façon qu’à chaque étape on ait : rn=una+vnb pour n ≥ 0.
Puisque r0=a on a : u0=1 et v0=0
Puisque r1=b on a : u1=0 et v1=1
Puisque rn=rn−2qnrn−1 pour n ≥ 2, un et vn vérifient la même relation de récurrence pour n ≥ 2 à savoir :
un=un−2qnun−1 et vn=vn−2qnvn−1 avec
qn= quotient entier de rn−2 par rn−1 pour n ≥ 2.
On a au début :
A0 vaut r0=a et A1 vaut r1=b,
B0 vaut u0=1 et B1 vaut u1=0 puisque a=1*a+0*b,
C0 vaut v0=0 et C1 vaut v1=1 puisque b=0*a+1*b.
Dans la colonne A on veut avoir la suite des restes et dans les colonnes B et C les suites u et v qui seront les coefficients de a et b pour avoir sur chaque ligne n du tableur : An=aBn+bCn.
Pour cela on a besoin de la suite des quotients qn= (quotient entier de rn−2 par rn−1 pour n ≥ 2) que l’on met dans la colonne D (D2=iquo(A0,A1) puis on tape sur remplir et vers le bas, lorsque D2 est en surbrillance).
Les lignes ln des colonnes A, B, C vérifient la même relation de récurrence :
ln=ln−2qnln−1
On definit donc :
A0 par a
A1 par b
A2 par =irem(A0,A1)
puis on tape sur remplir et vers le bas, lorsque A2 est en surbrillance et on obtient la suite des restes des divisions successives.
B0 par 1
B1 par 0
B2 par =B0-D2*B1
puis, on tape sur remplir et vers le bas, lorsque B2 est en surbrillance et on obtiendra la suite des "u" lorsqu’on aura rempli la colonne D.
C0 par 0
C1 par 1
C2 par =C0-D2*C1
puis, on tape sur remplir et vers le bas, lorsque C2 est en surbrillance et on obtiendra la suite des "v" lorsqu’on aura rempli la colonne D.
D0 par 0
D1 par 0
D2 par =iquo(A0,A1)
(en fait D0 et D1 ne servent pas)
puis, on tape sur remplir et vers le bas, lorsque D2 est en surbrillance, pour avoir la suite des quotients des divisions successives.
Le tableur va alors afficher les valeurs de ces différentes suites et sur la ligne du dernier reste non nul on pourra lire les coefficients de l’identité de Bézout.
Pour l’exemple a=78 et b=56, on trouve :
- sur la ligne 6 : A6=0 et,
- sur la ligne 5 : A5=2, B5=-5, C5=7 (et D5=1),
ce qui signifie que :
2=-5*78+7*56

5.2.2  Les pas de Louis

Louis marche sur la bordure du trottoir, comptant les fois où une de ses semelles chevauche un joint entre deux blocs (si son talon est tangent il chevauche le joint, mais si la pointe est tangente il ne chevauche pas).
Le trottoir comporte 150 blocs d’un mètre (il n’y a pas de joint au debut ni à la fin du trottoir).
Son pas est de 61 cm et ses semelles mesurent 21 cm et les joints n’ont pas d’épaisseur.
Combien de fois Louis marche-t-il sur un joint?
Réponse
Il y a 149 joints.
Il faut tout d’abord voir qu’au p-ième pas les semelles de Louis sont entre (p*61) cm et (p*61+21) cm. Ses semelles couperont le n-ième joint si :
100*n=pn*61+rn avec 0 ≤ rn<21
On va donc dans un premier temps écrire la suite des restes rn à l’aide du tableur.
On definit donc :
A0 par 0
A1 par =A0+1
puis, on tape sur remplir et vers le bas, lorsque A1 est en surbrillance, pour avoir la suite des entiers 0,1, etc...
B0 par 0
B par 1=irem(100*A1,61)
puis on tape sur remplir et vers le bas, lorsque B1 est en surbrillance, pour avoir la suite des restes rn.
Bien sûr il n’est pas facile de compter les restes inférieurs à 21.
On va donc définir une colonne qui fera ce comptage.
On definit donc :
C0 par 0
C1 par =ifte(B1<21,C0+1,C0)
La réponse au problème est donc la valeur de C149 et on trouve 51.
Louis marche donc 51 fois sur un joint.

On peut aussi utiliser la commande count (ou la commande count_inf) qui compte les éléments du tableur pour lesquels une fonction booléenne est vraie :
On tape, par exemple dans D0 :
count(x->x<21,B1:B149)
ou on tape dans D0 :
count_inf(21,B1:B149)
On prend en compte les cellules B1:B149, car il n’y a pas de joints au début, ni à la fin.
On obtient dans D0 : 51.

On peut aussi écrire un petit programme dont voici l’algorithme :

louis nbloc
0 -> k
pour n de 1 a nbloc-1 faire
si (n*100 mod 61 <21) alors k+1 -> k 
fsi
fpour
afficher k

qui se traduit en langage Xcas par :

louis(nbloc):={
k:=0;
for (n:=1;n<nbloc:n++){
if (irem(n*100,61)<21) k:= k+1; 
}
return k;
}

Puis, on tape louis(150)
et on obtient 51.

5.3  Accélération de convergence vers π2/6

On considère la série de terme général 1/n2, et on souhaite déterminer une valeur approchée de sa somme pour n allant de 1 à l’infini.
On rappelle que la valeur exacte de cette somme est égale à π2/6 : pour cela on développe en séries de Fourier la fonction f qui est 2π-périodique et est égale à x2 sur [−π, π].
On a :
f(x)=x22/3+4*∑n=1(−1)n/n2cosnx pour x ∈ [−π, π]
Pour x=π on obtient : ∑n=11/n22/6.

  1. Déterminer à l’aide de Xcas une valeur approchée de π2/6 puis de:
    n
    j=1
     
    1
    j2
     
    pour n=10, n=100 et n=1000.
    Définir et observer dans le tableur la suite récurrente :
    u1=1
    u2=1+1/4
    un=un-1+1/n2 pour n>1.
    Réponse :
    On cherche une valeur approchée de π2/6 et on tape :
    evalf(pi^2/6)
    On obtient :
    1.64493406685
    On tape :
    evalf(sum(1/j^2,j,1,10))
    On obtient :
    1.54976773117
    On tape :
    evalf(sum(1/j^2,j,1,100))
    On obtient :
    1.63498390018
    On tape :
    evalf(sum(1/j^2,j,1,1000))
    On obtient :
    1.64393456668
    Puis on ouvre un tableur (avec Alt+t) et on tape :
    dans A0 : 0
    dans A1 : =A0+1
    puis, on tape sur remplir et vers le bas, lorsque A1 est en surbrillance, pour avoir la suite des entiers 0,1, etc...
    On tape :
    dans B0 : 0
    dans B1 : =B0+1/A1^2
    puis, on tape sur remplir et vers le bas, lorsque B1 est en surbrillance, pour avoir la suite des valeurs exactes de un.
    On tape :
    dans C0 : =evalf(B0)
    puis, on tape sur remplir et vers le bas, lorsque C0 est en surbrillance, pour avoir la suite des valeurs approchées de un.
  2. Comparer ces valeurs à la valeur approchée de π2/6 : donner le nombre de décimales exactes pour les 3 valeurs de n.
  3. On souhaite accélérer la convergence des sommes partielles. On va donc déterminer un encadrement de ∑j=n+11/j2 à l’aide de l’intégrale de la fonction 1/x2. Montrer que:


    n+1
    1
    x2
      dx  ≤ 
    j=n+1
    1
    j2
     ≤ 


    n
    1
    x2
     dx 
  4. En déduire que:
    0 ≤ 


    n
    j=1
     
    1
    j2
     +
    1
    n



    π2
    6
    ≤ 
    1
    n(n+1)
      
  5. Calculer 1/n+ ∑j=1n 1/j2 pour n=10, n=100 et n=1000 et déterminer le nombre de décimales exactes pour ces 3 valeurs de n, justifier ce nombre de décimales pour n=10, n=100 et n=1000.

    Avec le tableur, il suffira d’ajouter 1/n à la colonne où se trouve un.

  6. Montrer que pour k≥ 2 on a :
    1
    k
    1
    k+1
    +
    1
    2k(k+1)
    1
    2(k+1)(k+2)
    <
    1
    k2
    <
    1
    k
    1
    k+1
    +
    1
    2(k−1)k
    1
    2k(k+1)
    En déduire que :
    wn=un+1/(n+1)+1/2/(n+1)/(n+2) converge vers π2/6 et que l’on a :
    0<π2/6−wn<1/n3

Réponse :
On tape :
normal(1/k^2-1/k+1/(k+1)-1/2/k/(k+1)+1/2/(k+1)/(k+2))
On obtient :
2/(k^4+3*k^3+2*k^2)
On tape :
normal(1/(k^2)-1/k+1/(k+1)-1/2/k/(k-1)+1/2/(k+1)/k)
On obtient :
-1/(k^4-k^2)

5.4  ln(2)

Il s’agit ici d’obtenir un encadrement de ln(2) en utilisant des méthodes numériques approchées de calcul de l’intégrale: I= ∫01 1/1+x dx

  1. Tracer le graphe de la fonction f définie par f(x)=1/(1+x) entre 0 et 1, la corde qui relie les points d’abscisses 0 et 1 et la tangente au point d’abscisse 1/2.
    Réponse :
    On change l’initialisation de la fenêtre graphique avec le bouton rouge geo. On prend :
    X-=WX-=-0.1 X+=WX+=1.1
    Y-=WY-=0.4 Y+=WY+=1.1
    On tape :
    f(x):=1/(1+x)
    G:=plotfunc(1/(1+x),x)
    segment(i*f(0),1+i*f(1))
    tangent(G,1/2)
  2. On subdivise l’intervalle [0,1] en n parties et on encadre l’intégrale par la méthode des rectangles inférieurs et supérieurs.
    Montrez que: un <I< vn avec pour n≥ 1 :
    un=1/(n+1)+1/(n+2)+...+1/(n+n) et
    vn= 1/n+1/(n+1)+...+1/(n+n−1).
    Calculer un et vn pour n=10, 100, 1000.
    Réponse :
    Avec le tableur on écrit la suite récurrente :
    u1=1/2
    u2=1/3+1/4
    un=un−1+1/((2n−1)*2n) pour n> 1 et
    v1=1
    v1=1/2+1/3
    vn=un+1/(2n) pour n≥ 1
    pour cela on tape :
    0 dans A0
    =A0+1 dans A1
    puis, on tape sur remplir et vers le bas, lorsque A1 est en surbrillance, pour avoir la suite des entiers 0,1, etc...
    On tape :
    0 dans B0
    1/2 dans B1
    =B1+1/((2*A2-1)*2*A2) dans B2
    puis, on tape sur remplir et vers le bas, lorsque B2 est en surbrillance, pour avoir la suite des valeurs exactes de un.
    On tape :
    =evalf(B0) dans C0
    puis, on tape sur remplir et vers le bas,lorsque C0 est en surbrillance, pour avoir la suite des valeurs approchées de un.
    On tape :
    0 dans D0
    =B1+1/(2*A1) dans D1
    puis, on tape sur remplir et vers le bas, lorsque D1 est en surbrillance, pour avoir la suite des valeurs exactes de vn.
    On tape :
    =evalf(D0) dans E0
    puis, on tape sur remplir et vers le bas, lorsque E0 est en surbrillance, pour avoir la suite des valeurs approchées de vn.
  3. On subdivise l’intervalle [0,1] en n parties et on applique la méthode du point milieu et la méthode des trapèzes. On obtient ainsi deux suites wn et tn.
    Montrez que: wn= ∑j=0n−1 1/n+j+1/2 et que tn=(un+vn)/2.
    Calculer wn et tn pour n=10, 100, 1000.
    Réponse :
    Le rectangle de base [j/n;(j+1)/n] au point milieu d’abscisse (2j+1)/2n a pour surface :
    1/n*1/1+(2j+1)/2n=2/2n+2j+1=1/n+j+1/2
    Le trapèze de base [j/n;(j+1)/n] a pour surface :
    1/2n*(1/1+j/n+1/1+(j+1)/n)=1/2(1/n+j+1/n+j+1)
    Avec le tableur, on écrit les suites récurrentes :
    w0=2/3
    w1=2/5+2/7
    wn=wn−1+1/((2n−1/2)*(2n−3/2)(n−1/2)) et
    t0=3/4
    t1=1/3+3/8
    tn=(un+vn)/2 pour cela on tape :
    0 dans F0
    2/3 dans F1
    =F1+1/(2*A2-1/2)+1/(2*A2-3/2)-1/(A2-1/2) dansF2
    puis, on tape sur remplir et vers le bas, lorsque F2 est en surbrillance, pour avoir la suite des valeurs exactes de wn.
    G0=evalf(F0)
    puis, on tape sur remplir et vers le bas, lorsque G0 est en surbrillance, pour avoir la suite des valeurs approchées de wn.
    On tape :
    0 dans H0
    =(B1+D1)/2 dans H1
    puis, on tape sur remplir et vers le bas, lorsque H1 est en surbrillance, pour avoir la suite des valeurs exactes de tn.
    =evalf(H0) dans I0
    puis, on tape sur remplir et vers le bas, lorsque I0 est en surbrillance, pour avoir la suite des valeurs approchées de tn.
    On trouve pour n=10 :
    u10=155685007/232792560 ≃ 0.668771403175
    v10=33464927/46558512 ≃ 0.718771403175
    w10=358143560536/516924483075 ≃ 0.69283536041
    t10=161504821/232792560 ≃ 0.693771403175
  4. Vérifiez que la fonction f est convexe en montrant que f′′>0.
    On admettra les propriétés suivantes des fonctions convexes :
  5. En comparant graphiquement des aires, montrez que :
    tn≥ 
    1


    0
     f(x)  dx 
    .
  6. On considère une subdivision [j/n,j+1/n]. Tracer sur cet intervalle la courbe de f et la tangente de f au point milieu de l’intervalle. Par une comparaison graphique d’aires (aire sous la tangente=aire du rectangle) montrez que :
    wn ≤ 
    1


    0
     f(xdx 
  7. Indiquez le nombre de décimales exactes obtenues lorsque l’on approche ln(2) à l’aide de un,vn,wn,tn pour n=10, n=100, n=1000.

    Montrez qu’en général un et vn donnent un encadrement d’ordre 1/n de ln(2), et que wn et tn donnent un encadrement d’ordre 1/n2 de ln(2).

5.5  L’algorithme de Héron avec Xcas

5.5.1  Les fonctions de Xcas utilisées

Voici les fonctions de Xcas qui vous seront utiles dans ce TP.
ans() renvoie la dernière réponse obtenue.
numer renvoie le numérateur de la fraction n/d, ainsi numer(n/d) vaut n et denom renvoie le dénominateur de la fraction n/d, ainsi denom(n/d) vaut d.
evalf(a) évalue a à l’aide d’un nombre flottant comportant 12 chiffres significatifs (sauf si on a changé ce nombre dans la configuration du cas obtenu avec le bouton rouge cas).
iquo(a,b) calcule le quotient entier q de a par b (a=b*q+r avec 0 r <b).
f(x):=exprxexprx représente une expression de x permettant de définir la fonction f.
plotseq(f(x),x=a,n) permet de visualiser les n premiers termes de la suite définie par u0=a et un+1=f(un) pour n ≥ 0 (il faut penser à changer la fenêtre de visualisation bouton rouge geo).

5.5.2  Le problème : valeur approchée de √7

On considère la suite récurrente définie par :
u0=3 et un+1=1/2(un+7/un) pour n ≥ 0.
0/ Définir la fonction f pour que un+1=f(un) pour n ≥ 0.
1/ Calculer les 5 premiers termes de la suite u et donner une valeur approchée de u5. On pourra utiliser f(ans()) qui applique f à la dernière réponse.
2/ Visualiser les cinq premiers termes de la suite u et trouver une bonne fenêtre de visualisation.
3/ Ouvrir un tableur avec le raccourci clavier Alt+t et mettre :
dans la colonne A les valeurs de n,
dans la colonne B les valeurs de un,
dans la colonne C les valeurs du numérateur cn de un,
dans la colonne D les valeurs du dénominateur dn de un,
dans la colonne E les valeurs du quotient exact de cn*1012 par dn,
dans la colonne F les valeurs approchées de un données par evalf.
Que représente la colonne E ?
Observez les différentes colonnes et notez vos observations.
4/ On veut montrer que la suite un est convergente.
- montrer que la suite u est définie et que un>√7 pour tout n ≥ 0,
- en déduire que le signe de un+1un est indépendant de n,
- montrer que la suite u est décroissante et converge vers √7,
5/ On pose en=un−√7. Montrer que √7>5/2 et en déduire que e0<0.5.
Montrer que en=en−12/2*un−1 pour tout n ≥ 1.
En déduire que en < 5*(en−1/5)2 < 5*(e0/5)2n< 5*(0.1)2n pour tout n ≥ 1.
Quelle erreur fait-on lorsqu’on prend u5 comme valeur approchée de √7 ? (on montrera que e5=(u52−7)/(u5+√7)<(u52−7)/5).
Donner les 20 premières décimales de √7.

5.5.3  Correction

0/ On tape : f(x):=1/2*(x+7/x)
1/ Dans une ligne de commande on tape : 3 puis, f(ans()) cela va afficher la valeur exacte de u1, on valide à nouveau f(ans()) on obtient u2 etc...
On obtient :
u1=8/3),
u2=127/48),
u3=32257/12192,
u4=2081028097/786554688.
u5=8661355881006882817/3273684811110137472 Quand on a la valeur exacte de u5 pour avoir la valeur approchée on sélectionne la réponse avec la souris, puis utilise evalf du menu CalcNumérique.
On obtient :
2.64575131106
2/ On tape : plotseq(f(x),x=3,5) avec par exemple comme fenêtre :
[2.5;3]× [2.5;2.7]
3/ Dans A0 on tape 0 et dans A1 on tape =A0+1, puis dans le menu Edit, on choisit Remplir et Copier vers le bas quand A1 est en surbrillance.
Dans B0 on tape 3 et dans B1 on tape =f(B0), puis dans le menu Edit, on choisit Remplir et Copier vers le bas, quand B1 est en surbrillance.
Dans C0 on tape =numer(B0), puis dans le menu Edit, on choisit Remplir et Copier vers le bas, quand C0 est en surbrillance.
Dans D0 on tape =denom(B0), puis dans le menu Edit, on choisit Remplir et Copier vers le bas, quand D0 est en surbrillance.
Dans E0 on tape =iquo(C0*10^12,D0), puis dans le menu Edit, on choisit Remplir et Copier vers le bas, quand E0 est en surbrillance.
Dans F0 on tape =evalf(B0), puis dans le menu Edit, on choisit Remplir et Copier vers le bas, quand F0 est en surbrillance.
La colonne E contient la partie entière de 1012 *un. On est donc capable de voir la partie entière de un et de ses 12 premières décimales. En remplacant 12 par 22 on verra donc les 22 premières décimales de un.
4/ u0>0 donc u1 est défini et u1>0 et par récurrence un est défini et un>0 pour tout n ≥ 0.
Si un converge vers l, l vérifie : 2*l=l+7/l donc l2=7.
Donc si la limite existe ce ne peut être que √7 puisque un>0 pour tout n ≥ 0.
On a f croissante sur [√7 +∞[ et f(√7)=√7 donc puisque :
u0=3>√7 par récurrence un>√7 pour tout n ≥ 0.
On a f croissante sur [√7 +∞[ et un>√7 pour tout n ≥ 0 donc puisque :
u0=3>u1=8/3 on obtient par récurrence un>un+1 pour tout n ≥ 0.
Ou bien on forme la différence :
un+1un=1/2(unun−1−7(unun−1)/(un*un−1))=
(unun−1)*1/2*(un*un−1−7)/(un*un−1)
(un*un−1−7)> 0 puisque un>√7 pour tout n ≥ 0 et un*un−1>0 donc
un+1un a le même signe que unun−1 pour tout n ≥ 1
u1u0<0 donc la suite u est décroissante.
u est décroissante et minorée par √7 donc u est convergente.
On a vu que si u est convergente, sa limite est √7, donc u converge vers √7.
5/ 52=25 < 7*22=28 donc 5/2<√7<u0=3 et e0=u0−√7<1/2
en=un−√7=1/2*(un−12+7−2*√7*un−1)/un−1)=en−12/2*un−1.
On sait que 5/2<√7<un donc en<5*(en−1/5)2 et par récurrence :
en<5*(e0/5)2n<5*(1/10)2n pour tout n ≥ 1.
Donc e5<5*(1/10)32=5*10−32 est une majoration de l’erreur à priori.
Comme e5=(u52−7)/(u5+√7)<(u52−7)/5, on fait le calcul de (u52−7)/5 et on trouve e5<2*10−38 .
Puisque :
e4<evalf(((2081028097/786554688)^2-7)/5)<4*10−19,
pour avoir un encadrement de √7 à 10−20 près, il faut calculer u5 avec 21 décimales.
On obtient : u5−10−25<u5e5=√7<u5 et
2.645751311064590590501<u5<2.645751311064590590502 donc
2.645751311064590590500<√7<2.645751311064590590502

5.6  Suites adjacentes et convergence de ∑k=0n (−1)k/2k+1

5.6.1  Les fonctions de Xcas utilisées

Voici les fonctions de Xcas qui vous seront utiles dans ce TP.
normal(expr) renvoie l’expression expr simplifiée.
evalf(a) évalue a à l’aide d’un nombre comportant 12 chiffres significatifs, sauf si on a changé Chiffres dans la configuration du cas (cas en rouge).
Si exprx est une expression de x,

f(x):=exprx définit la fonction f de variable x (x ⊢→f exprx),

subst(exprx,x,2) remplace x par 2 dans exprx et

derive(exprx,x) calcule la dérivée de exprx par rapport à x.

5.6.2  u et v sont deux suites ajacentes de limite π/4

I/ On considère les suites u et v définies par :
u0=1−1/3 et un=un−1+1/4n+1−1/4n+3 pour n ≥ 1.
vn=un+1/4n+3 pour n ≥ 0.
1/ Calculer les 6 premiers termes de la suite u et donner une valeur approchée de u6 (on pourra utiliser un tableur que l’on obtient avec le raccourci clavier Alt+t.
2/ Calculer les 6 premiers termes de la suite v et donner une valeur approchée de v6 (on pourra utiliser le tableur).
3/ Montrer que les suites u et v sont adjacentes.

II/ On considère la suite de fonctions fn de [0,π/2[ dand ℝ définie par :
f0(x)=x−tan(x) et fn(x)=fn−1(x)−(−1)n/2n+1tan(x)2n+1 pour n ≥ 1.
0/ Calculer fn(0) pour tout n ≥ 0.
1/ Ouvrir le tableur et faites afficher dans les colonnes :
les valeurs de n, les valeurs de fn(x) et les valeurs de fn(x),
En observant ces colonnes, déterminer une expression simplifiée de la dérivée de fn. Prouver votre conjecture.
2/ En déduire que pour p ≥ 0 :
- la fonction f2p+1 est croissante sur [0,π/2[.
- la fonction f2p est décroissante sur [0,π/2[.
3/ Calculer pour p ≥ 0, f2p(π/4) et f2p+1(π/4) en fonction de up et de vp (on pourra utiliser le tableur pour déterminer la formule, puis on fera une démonstration).

III/ 1/ Montrer que la limite de u et de v est égale à π/4 ( on étudiera le signe de f2p(π/4) et de f2p+1(π/4)).
2/ Donner un encadrement de π/4.
Quelle erreur fait-on lorsqu’on prend 4*u6 comme valeur approchée de π ?
3/ Trouver une valeur de n pour que 4*un et 4*vn donnent un encadrement de π de diamètre inférieur à 10−3.

5.6.3  Correction

I/ Dans A0 on tape 0 et dans A1 on tape =A0+1 puis dans le menu Edit du tableur, on choisit Remplir et Copier vers le bas, quand A1 est en surbrillance.
Dans B0 on tape :
2/3 (ou =evalf(2/3) et,
dans B1 on tape :
=B0+1/(4*A1+1)-1/(4*A1+3)
puis dans le menu Edit, on choisit Remplir et Copier vers le bas, quand B1 est en surbrillance.
Dans C0 on tape :
=B0+1/(4*A0+3)
puis dans le menu Edit du tableur, on choisit Remplir et Copier vers le bas, quand C0 est en surbrillance.
La suite u est croissante car unun−1=1/4n+1−1/4n+3>0 pour n ≥ 1.
La suite v est décroissante car vnvn−1=1/4n+1−1/4n−1<0 pour n ≥ 1.
Donc vnun=1/(4*n+3) tend vers 0 quand n tend vers l’infini.
Les suites u et v sont donc adjacentes.

II/
0/ fn(0)=0 pour tout n ≥ 0.
1/ Dans A0 on tape 0 et dans A1 on tape =A0+1 puis, dans le menu Edit du tableur, on choisit Remplir et Copier vers le bas, quand A1 est en surbrillance.
Dans D0 on tape =x-tan(x) et
dans D1 on tape =D0-(-1)^(A1)*tan(x)^(2*A1+1)/(2*A1+1) puis, dans le menu Edit du tableur, on choisit Remplir et Copier vers le bas, quand B1 est en surbrillance.
Dans E0 on tape =normal(derive(D0,x)) puis, dans le menu Edit, on choisit Remplir et Copier vers le bas, quand E0 est en surbrillance.
On remarque que l’on a fn′(x)=(−1)n+1*tan(x)2n+2.
On le montre en faisant le calcul :
fn(x)=x−tan(x)+1/3tan(x)3+...−(−1)n/2n+1tan(x)2n+1
fn′(x)=1−(1+tan(x)2)*(1−tan(x)2+...+(−1)ntan(x)2n)
On reconnait la somme d’une série géométrique de raison : −tan(x)2.
fn′(x)=1−(1+tan(x)2)*1−(−tan(x)2)n+1/1+tan(x)2=(−1)n+1tan(x)2n+2
2/ La fonction f2p a une dérivée negative pour tout p ≥ 0, donc f2p est décroissante. En particulier f2p(0)=0>f2p(π/4).
La fonction f2p+1 a une dérivée positive pour tout p ≥ 0, donc f2p+1 est croissante. En particulier f2p+1(0)=0<f2p+1(π/4).
3/ Dans F0 on tape =subst(D0,x,pi/4) puis, dans le menu Edit, on choisit bouton Remplir et Copier vers le bas, quand E0 est en surbrillance.
f2p(π/4)=π/4−vp et f2p+1(π/4)=π/4−up.

III/ 1/ On a donc pour tout p ≥ 0 :
f2p+1(π/4)=π/4−up>0 et f2p(π/4)=π/4−vp<0
les suites u et v sont donc adjacentes et convergentes vers π/4.
2/ Donc pour tout p ≥ 0 : up<π/4<vp.
On a donc 4*u6<π<4*v6=4*u6+4/27.
3/ Pour avoir :
4*un<π<4*vn=4*un+4/4*n+3 ≤ 4*un+10−3,
il faut prendre comme n un entier qui vérifie 4*n+3 ≥ 4000, soit n ≥ 1000.
Donc u1000 et v1000 donnent un encadrement de π de diamètre ≤ 10−3.

5.6.4  Accélération de convergence

On considère toujours les suites u et v définies par :
u0=1−1/3 et un=un−1+1/4n+1−1/4n+3 pour n ≥ 1.
vn=un+1/4n+3 pour n ≥ 0.
1/ Montrer que, pour p>0,

1
2
(
1
4p+1
1
4p+5
)<
1
4p+1
1
4p+3
<
1
2
(
1
4p−1
1
4p+3
)

2/ En déduire que, pour n>p>0,

1
2
(
1
4p+1
1
4n+5
)<unup−1<
1
2
(
1
4p−1
1
4n+3
)

et en déduire un encadrement de unup

3/ En faisant tendre n vers +∞, montrer que

1
2(4p+5)
≤ 
π
4
up
1
2(4p+3)

4/ On pose wn=un+1/2(4n+5) et tn=un+1/2(4n+3).
En utilisant le tableur, montrer que wn et tn sont deux suites adjacentes qui convergent vers π/4 plus rapidement que un et vn. Trouver une valeur de n pour que 4wn et 4tn donnent un encadrement de π de diamètre inférieur à 10−3.
Correction et prolongement
u10=∑k=010 1/4k+1−1/4k+3=∑k=010 2/(4k+1)(4k+3)
On encadre les termes de la série :
k=010 2/(4k+1)(4k+3)
1/2(1/4k+1−1/4k+5)<2/(4k+1)(4k+3)<1/2(1/4k−1−1/4k+3) donc
1/2(1/4p+1−1/4n+5)<unup−1<1/2(1/4p−1−1/4n+3).
On a :
w10= u10+1/2(4k+5)=1/2+∑k=010 4/(4k+1)(4k+3)(4k+5)
On peut continuer le même processus en encadrant les termes de la série :
k=010 4/(4k+1)(4k+3)(4k+5).
On a :
4/(4k+1)(4k+5)(4k+9)<4/(4k+1)(4k+3)(4k+5)<4/(4k−3)(4k+1)(4k+5)
donc
1/2(1/(4k+1)(4k+5)−1/(4k+5)(4k+9))<4/(4k+1)(4k+3)(4k+5)<
1/2(1/(4k−3)(4k+1)−1/(4k+1)(4k+5))
On a donc comme précédemment :
1/2(1/(4p+1)(4p+5)−1/(4n+5)(4n+9))<wnwp−1<
1/2(1/(4p−3)(4p+1)−1/(4n+1)(4n+5))
On pose donc :
s10= w10+1/2(4k+5)(4k+9)
s10=3/5+∑k=010 24/(4k+1)(4k+3)(4k+5)(4k+9)
On peut continuer le même processus en encadrant les termes de la série :
k=010 24/(4k+1)(4k+3)(4k+5)(4k+9)
et on pose :
r10= s10+2/(4k+5)(4k+9)*(4k+13)
r10=29/45+∑k=010 240/(4k+1)(4k+3)(4k+5)(4k+9)(4k+13)
On tape pour avoir la valeur approchée de π/4 :
evalf(pi/4)
On obtient :
0.785398163397
On tape pour avoir la valeur approchée de u10 :
sum(2.0/((4*k+1)*(4*k+3)),k,0,10)
On obtient :
0.774040381616
On tape pour avoir la valeur approchée de w10 :
sum(2/((4*k+1)*(4*k+3)),k,0,10)+1.0/(2*45)
On obtient :
0.785151492727
Ou on tape pour avoir la valeur approchée de w10 :
sum(4/((4*k+1)*(4*k+3)*(4*k+5)),k,0,10)+0.5
On obtient :
0.785151492727
On tape pour avoir la valeur approchée de s10 :
sum(4/((4*k+1)*(4*k+3)*(4*k+5)),k,0,10)+ 1.0/2+1/(2*45*49)
On obtient :
0.785378250097
Ou on tape pour avoir la valeur approchée de s10 :
sum(24/((4*k+1)*(4*k+3)*(4*k+5)*(4*k+9)),k,0,10)+0.6
On obtient :
0.785378250097
On tape pour avoir la valeur approchée de r10 :
sum(24/((4*k+1)*(4*k+3)*(4*k+5)*(4*k+9)),k,0,10)+
0.6+2/(45*49*53)

On obtient :
0.78539536386
Ou on tape pour avoir la valeur approchée de r10 :
sum(240/((4*k+1)*(4*k+3)*(4*k+5)*(4*k+9)*(4*k+13)),k,0,10) +29.0/45
On obtient :
0.78539536386
On a pour la dernière somme 5 décimales exactes de π/4 :
|lz10|<2(1/(41*45*49)−1/(45*49*53))<5.1* 10−6

5.6.5  Comparaison avec une intégrale

Soit pour t ∈ [0;+∞[ la fonction h(t)=1/4t+1−1/4t+3.

1/ Calculer pour k∈ ℕ

k+1


k
 h(t)  dt

2/ Montrer que pour k∈ ℕ

k+1


k
 h(tdt<h(k)<
k


k−1
 h(tdt

3/ En déduire que

1
4
(ln(
4n+5
4n+7
)−ln(
4p+5
4p+7
))<
n
k=p+1
 h(k)<
1
4
(ln(
4n+1
4n+3
)−ln(
4p+1
4p+3
))

4/ En faisant tendre n vers +∞, montrer que

1
4
ln(
4p+7
4p+5
)≤ 
π
4
up
1
4
ln(
4p+3
4p+1
)

5/ On pose sn=un+1/4ln(4p+7/4p+5) et zn=un+1/4ln(4p+3/4p+1). En utilisant le tableur, montrer que sn et zn sont deux suites adjacentes qui convergent vers π/4 plus rapidement que un et vn. Trouver une valeur de n pour que 4sn et 4zn donnent un encadrement de π de diamètre inférieur à 10−3.

5.6.6  Prolongement avec la formule d’Euler-Mac Laurin

La formule d’Euler-Mac Laurin à l’ordre 4 On suppose la fonction g suffisamment dérivable et on pose I0=∫01 g(t) dt. On va intégrer cette intégrale par partie, pour cela on définit le polynôme P1(x) tel que : P1′(x)=1 et ∫01 P1(t) dt=0 donc P1(x)=x−1/2.
P1(x) est une fonction impaire en (x−1/2) et on a P1(1)=−P1(0)=1/2.
On a :

I0=
1


0
 g(tP1′(tdt=P1(1)g(1)−P1(0)g(0)−
1


0
 g′(tP1(tdt

On continue, en définissant P2(x) tel que :
P2′(x)=P1(x) et ∫01 P2(t) dt=0 donc P2(x)=1/2(x−1/2)2−1/24.
P2(x) est une fonction paire en (x−1/2) et on a P2(1)=P2(0)=1/12.
On a :

1


0
 g′(tP2′(tdt=P2(1)g′(1)−P2(0)g′(0)−
1


0
 g″(tP2(tdt
I0=
g(1)+g(0)
2
g′(1)−g′(0)
12
+
1


0
 g″(tP2(tdt

On recommence en définissant :
P3′(x)=P2(x) et ∫01 P3(t) dt=0.
On a : P3(x)=1/6(x−1/2)3−1/24(x−1/2) en effet P3(x) est une primitive de P2(x) qui est impaire en (x−1/2).
On en déduit que :
P3(1)=−P3(0) et puisque ∫01P2(t)=0 on a :
P3(1)=P3(0) donc P3(1)=−P3(0)=0.
Ceci se généralise dans la suite pour k>0 on a :
P2*k+1(1)=P2*k+1(0)=0.
On a :

1


0
 g″(tP3′(tdt=P3(1)g″(1)−P3(0)g″(0)−
1


0
 g‴(tP3(tdt
I0=
g(1)+g(0)
2
g′(1)−g′(0)
12
1


0
 g‴(tP3(tdt

En définissant P4(x) tel que :
P4′(x)=P3(x) et ∫01 P4(t) dt=0, P4(x) est donc une fonction paire en (x−1/2) et on a P4(x)=1/24(x−1/2)4−1/48(x−1/2)2+7/5760.
On a P4(1)=P4(0)=−1/720.
Donc la formule d’Euler-MacLaurin à l’ordre 4 est :

1


0
g(tdt=
g(1)+g(0)
2
g′(1)−g′(0)
12
+
g‴(1)−g‴(0)
720
+
1


0
 g(4)(tP4(tdt

puisque P5(0)= P5(1)=0, on a ∫01 g(4)(t) P4(t) dt=−∫01 g(5)(t) P5(t) dt.
Donc on a aussi :

1


0
g(tdt=
g(1)+g(0)
2
g′(1)−g′(0)
12
+
g‴(1)−g‴(0)
720
1


0
 g(5)(tP5(tdt

Remarque
On peut montrer que le polynôme Pk(x)=Bk(x)/k! où Bk(x) est le k-ième polynôme de Bernoulli, il est solution de :
Bk(x+1)−Bk(x)=kxk−1, et il vérifie :
text/et−1=∑n=0Bn(x)tn/n!.
Le k-ième nombre de Bernouilli (c’est la commande bernoulli(k) de Xcas) est la valeur du k-ième polynôme de Bernoulli en zéro.
La formule d’Euler-Mac Laurin plus générale à l’ordre r. On a :
pq f(t)dt=1/2(f(p)+f(q))+∑n=p+1q−1f(n)+ ∑k=2r(−1)k/k!bernouilli(k)(f(k−1)(p)−f(k−1)(q))+ ∫01n=p+1q(−1)rf(u+n−1)Br(u)/r!du

Comparaison de k=p+1nf(k) avec pn f(t) dt

On a ∑k=p+1nf(k)−∫pn f(t) dt=∑k=p+1nk−1k(f(k)− f(t)) dt.
On se ramène à l’intervalle [0;1] en posant u+k−1=t :
k−1k(f(k)− f(t)) dt=∫01(f(k)− f(u+k−1)) du
puis on applique la formule d’Euler-Mac Laurin à g(u)=f(k)− f(u+k−1) (g(1)=0, g(0)=f(k)−f(k−1), g′(u)=−f′(u+k−1)....) :
01(f(k)− f(u+k−1)) du=f(k)−f(k−1)/2+f′(k)−f′(k−1)/12
f‴(k)−f‴(k−1)/720+∫01 f(4)(u+k−1) P4(u) du
donc
k=p+1n01(f(k)− f(u+k−1)) du=f(n)−f(p)/2+f′(n)−f′(p)/12−f‴(n)−f‴(p)/720+
                 ∫01k=p+1nf(4)(u+k−1) P4(u) du
On trouve :
P0=1
P1=x−1/2
P2=x2/2−x/2+1/12
P3=x3/6−x2/4+x/12
P4=x4/24−x3/12+x2/24−1/720
P5=x5/120−x4/48+x3/72−x/720
P6=x6/720−x5/240+x4/288−x2/1440+1/30240
car int(x^6/720-x^5/240+x^4/288-x^2/1440,x,0,1)=-1/30240
Application à f(t)=1/4t+11/4t+3
La série de terme général un=f(n)=2/(4n+1)(4n+3) est convergente et,
k=0f(k)=π/4=l , on a :
ftt)=−4/(4t+1)2+4/(4t+3)2
f″(t)=32/(4t+1)3−32/(4t+3)3
f‴(t)=−384/(4t+1)4+384/(4t+3)4
f(4)(t)=6144/(4t+1)5−6144/(4t+3)5
f(5)(t)=−6144*20/(4t+1)6+6144*20/(4t+3)6
On remarque au passage que f(5) est négative et croissante et que :
pour kp+1 on a 0<|f(5)(k)|<C/p6.
On calcule :
pn f(t) dt=1/4(ln(4n+1)−ln(4n+3)−(ln(4p+1)−ln(4p+3)))
en faisant tendre n vers +∞ on a :
k=p+1f(k)=l−∑k=0p f(k) donc
l=∑k=0p f(k)+∫pf(t) dtf(p)/2−f′(p)/12+f‴(p)/720−
      ∑k=p+1n01 f(5)(u+k−1) P5(u) du
l=∑k=0p 1/4k+1−1/4k+3+1/4(ln(1+2/4p+1)−5 1/(4p+1)(4p+3)+1/3(1/(4p+1)2−1/(4p+3)2)−8/15(1/(4p+1)4−1/(4p+3)4)−∑k=p+101 f(5)(u+k−1) P5(u) du.
et on a :
|∑k=p+101 f(4)(u+k−1) P4(u) du|≤ ∑k=p+1|f(5(k−1)|∫01 |P5(u)| du|<Cste/p5
En effet on a :
k=p+1|f(5(k−1)|<Ck=p+11/p6<Cste/p5
car on compare le reste de la série ∑k=p+11/p6 avec l’intégrale ∫p1/t6dt=1/(5p5) On a donc le développement asymptotique zp à l’ordre 5 de l:
l=π/4 ≃ zp=up+1/4ln(1+2/4*p+1)−1/(4*p+1)(4*p+3)+1/3*(1/(4*p+1)2−1/(4*p+3)2)−8/15*(1/(4*p+1)4−1/(4*p+3)4)
On peut faire un développement limité à l’ordre 5 :
1/4ln(1+2/4*p+1) lorsque p tend vers +∞.
En posant x=1/(4p+1), on tape :

series(1/4*log(1+2*x),x=0,5)

On obtient :

2/4*x+1/-2*x^2+8/3/4*x^3-x^4+32/5/4*x^5+ x^6*order_size(x)

On tape :

sum(2/((4*k+1)*(4.0*k+3)),k,0,10)+subst(2/4*x+1/-2*x^2+ 8/3/4*x^3-x^4+32/5/4*x^5,x,1.0/41)+ subst(-1/((4*p+1)*(4*p+3))+ 1/3*(1/(4*p+1)^2- 1/(4*p+3)^2)-8/15*(1/(4*p+1)^4-1/(4*p+3)^4),p,10.0)

On obtient :

0.785398163726

On peut aussi faire un développement asymptotique (p tend vers +∞) à l’ordre 5 de :
1/4*ln(1+2/(4p+1))−1/((4p+1)(4p+3))+1/3*(1/(4p+1)2−1/(4p+3)2)−
8/15*(1/(4p+1)4−1/(4p+3)4)
En posant x=1/(4p+1), on tape :

series(1/4*log(1+2x)-x/(1/x+2)+1/3*(x^2-1/(1/x+2)^2)-
8/15*(x^4-1/(1/x+2)^4),x=0,5)

On obtient :

2/4*x+-3/2*x^2+4*x^3-9*x^4+16*x^5+x^6*order_size(x)

On tape :

sum(2/((4*k+1)*(4*k+3)),k,0,10)+
subst(2/4*x+-3/2*x^2+4*x^3-9*x^4+16*x^5,x=1.0/41)

On obtient :

0.785398168153

Sans faire un développement limité de 1/4ln(1+2/4*p+1) lorsque p tend vers +∞ on tape et on obtient :

sum(2/((4*k+1)*(4*k+3)),k,0,10)+1.0/4*log(1+2/41)
0.785947393863

sum(2/((4*k+1)*(4*k+3)),k,0,10)+1/4*log(1+2/41)-1.0/(41*43)
0.785380178889

sum(2/((4*k+1)*(4*k+3)),k,0,10)+1/4*log(1+2/41)-1.0/(41*43)+
8*21/3/(41^2*43^2)
0.785398195927

sum(2/((4*k+1)*(4*k+3)),k,0,10)+1/4*log(1+2/41)-1.0/(41*43)+
8*21/3/(41^2*43^2)-8/15*(1/41^4-1/43^4)
0.785398163187

On rappelle que evalf(pi/4)=0.785398163397
On a donc pour la dernière somme 9 décimales exactes de π/4 ...


Previous Up Next