Algorithme et fonction – 2nde 1

publicité
Algorithme et fonction – 2nde 1
27 mars 2014
Déterminer les solutions de l’équation f  x   0
Le problème
Parfois c’est facile….. si l’on a par exemple f  x   2 x  1 ou encore f  x    x  2 
2
Mais cela peut être plus difficile si l’on a f  x   x 2  x  1 ou encore f  x   x5  x3  4 x  7
Observons la situation d’un point de vue géométrique
Il faut trouver les solutions de f  x   0
Graphiquement, comme nous l’avons vu dans le premier chapitre
de 2nde, on peut lire une valeur approchée……
mais avec une précision très limitée sur ce dessin par exemple
Une solution : faire travailler une machine programmée avec
L’algorithme de la DICHOTOMIE nous permettra de trouver un encadrement de
chaque solution avec une précision aussi grande que l’on veut !
Idée principale de cet algorithme : couper un intervalle contenant une solution en deux, puis
déterminer dans quel sous intervalle se trouve la solution…et recommencer jusqu’à ce que
l’intervalle qui encadre la solution soit assez petit pour donner un encadrement de la solution précis
Variables
a : un nombre
b : un nombre
m : un nombre
f : une fonction
Instructions
Saisir a
Saisir b
TANT QUE
(f(a)f(b)<0) ET (b-a>0,001)
FAIRE
m prend la valeur (a+b)/2
SI
f(a)f(m) < 0
ALORS
b prend la valeur de m
SINON
a prend la valeur de m
FIN du TANT QUE
Afficher a
Afficher b
Fin du programme
On va choisir un intervalle  a; b qui contienne la solution
ici  2; 1,5
Saisir a
Saisir b
on sait que la solution est dans cet intervalle
car f  a  est positif et f  b  est négatif
(ce qui est équivalent à dire que f  a  f  b   0 )
On calcule m 
ab
puis on calcule f  m 
2
m prend la valeur (a+b)/2
On sait que
-
soit la solution est dans  a; m
-
soit la solution est dans  m; b
Pour savoir dans quel intervalle se trouve la solution
On regarde si f  a  et f  m  sont de signe contraire :
Si c’est vrai, alors la solution est dans  a; m
Sinon (si c’est faux) la solution est dans  m; b
Pour terminer cette étape,
si la solution est dans  a; m , on choisit comme nouvel intervalle  a; b l’intervalle  a; m (il
suffit de dire que b prend la valeur de m).
si la solution est dans  m; b , on choisit comme nouvel intervalle  a; b l’intervalle  m; b (il
suffit de dire que a prend la valeur de m).
SI
f(a)f(m) < 0
ALORS
b prend la valeur de m
SINON
a prend la valeur de m
Puis on recommence depuis le début jusqu’à ce que le nouvel intervalle  a; b soit suffisamment
petit : on a alors un bon encadrement d’une solution de l’équation f  x   0
TRAVAIL :
1)
tester cet algorithme avec ALGOBOX (prendre comme fonction f  x   x 2  x  1 )
2)
comprendre chaque détail de l’algorithme
3)
Modifier l’algorithme pour qu’il puisse tenir compte du cas où m est la solution, que l’on
puisse demander à l’utilisateur la distance entre a et b.
Téléchargement