Corrigé

novembre 29th, 2019

Category: Corrigé et Astuces

Exercice : Clic droit sur l’exercice

Tout le corrigé :

1) On prend f(x) = x2 – 2.

J’applique l’algorithme à la main :

Entrées :

Lire a : a = 1
Lire b : b = 2
Lire b : p = 0.1

Traitement :

Test du tant que b-a>p soit 2-1>0.1 soit 1>0.1 : Vrai
On fait donc un tour de boucle.

c prend la valeur (a+b)/(2)
= (1+2)/(2)
= 3/(2)
= 1.5
donc c = 1.5

Test du si f(a)×f(c)<0 soit f(1)×f(1.5)<0
soit (-1)×0.5<0 : Vrai
Donc on va dans le alors
b prend la valeur c : b = 1.5
On sort du si et on remonte en début de boucle tant que.

Dans la ligne du tableau, on obtient a = 1, b = 1.5, c = 1.5

Test du tant que b-a>p soit 1.5-1>0.1 soit 0.5>0.1 : Vrai
On fait donc un tour de boucle.

c prend la valeur (a+b)/(2)
= (1+1.5)/(2)
= 2.5/(2)
= 1.25
donc c = 1.25

Test du si f(a)×f(c)<0 soit f(1)×f(1.25)<0
soit (-1)×(-0.4375)<0 : Faux
Donc on va dans le sinon
a prend la valeur c : a = 1.25
On sort du si et on remonte en début de boucle tant que.

Dans la ligne du tableau, on obtient a = 1.25, b = 1.5, c = 1.25

Test du tant que b-a>p soit 1.5-1.25>0.1 soit 0.25>0.1 : Vrai
On fait donc un tour de boucle.

c prend la valeur (a+b)/(2)
= (1.25+1.5)/(2)
= 2.75/(2)
= 1.375
donc c = 1.375

Test du si f(a)×f(c)<0 soit f(1.25)×f(1.375)<0
soit (-0.4375)×(-0.109375)<0 : Faux
Donc on va dans le sinon
a prend la valeur c : a = 1.375
On sort du si et on remonte en début de boucle tant que.

Dans la ligne du tableau, on obtient a = 1.375, b = 1.5, c = 1.375

Test du tant que b-a>p soit 1.5-1.375>0.1 soit 0.125>0.1 : Vrai
On fait donc un tour de boucle.

c prend la valeur (a+b)/(2)
= (1.375+1.5)/(2)
= 2.875/(2)
= 1.4375
donc c = 1.4375

Test du si f(a)×f(c)<0 soit f(1.375)×f(1.4375)<0
soit (-0.4375)×(0.06640625)<0 : Vrai
Donc on va dans le alors
b prend la valeur c : b = 1.4375
On sort du si et on remonte en début de boucle tant que.

Dans la ligne du tableau, on obtient a = 1.375, b = 1.4375, c = 1.4375

Test du tant que b-a>p soit 1.4375-1.375>0.1 soit 0.0625>0.1 : Faux
On ne fait pas de tour de boucle et on va après.

Affichage :

“a = ” : 1.375
“b = ” : 1.4375
“c = ” : 1.4375
“p = ” : 0.1

2) A chaque fois, on coupe l’intervalle [a ; b] en deux et on calcule c au milieu. On sait qu’il y a un f(α) = 0 avec α dans cet intervalle.

Si le f(a) et le f(c) sont de même signe (f(a)×f(c)≥0), le f(α) = 0 n’est pas ici, donc le α est entre c et b. Du coup, on prend le nouvel intervalle est celui de droite [c ; b]. C’est pour ça que a prend la valeur c.

Si le f(a) et le f(c) sont de signes différents (f(a)×f(c)<0), le f(α) = 0 est pas ici, donc le α est entre a et c. Du coup, on prend le nouvel intervalle est celui de gauche [a ; c]. C’est pour ça que b prend la valeur c.

A chaque fois, l’intervalle est coupé en deux donc deux fois plus petit. On recommence tant que la taille de celui-ci est strictement plus grand que la précision p. Donc on s’arrête quand b-a≥p.

Quand on a un tout petit intervalle, on connait la valeur du α tel que f(α) = 0. La marge d’erreur est la taille de l’intervalle [a ; b].

3) p est la précision du α. On fait tourner la boucle du tant que la largeur b-a de l’intervalle [a ; b] est strictement plus grande que p, et on termine l’algorithme quand la largeur de l’intervalle [a ; b] est plus petite ou égale à p.

Bonne compréhension,
Sylvain Jeuland

Ecris le premier commentaire


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

FrenchMaths.com

GRATUIT
VOIR