Bonjour à tous. Cette fois, je demande votre aide pour un problème concernant l'algorithme de dichotomie (il permet par exemple de déterminer l'encadrement de la solution de lequation qui annule une fonction donnée au départ lors de l'énoncé.
L'algorithme de dichotomie que j'ai réussi a programmer est le suivant :
Entrer N
A prend la valeur -1
B prend la valeur 0
Pour I allant de 1 à N faire :
M prend la veleur (A+B)/2
Si f(M)>0
Alors
M prend la valeur A
Sinon
M prend la valeur B
Fin Si
Fin pour
Afficher A, B
Jusqu'ici ça va. Le seul problème est qu'a un moment de mon énoncé, on demande de proposer un algorithme proposant une solution a 10 puissance -7 près.
Je ne vois vraiment pas comment faire étant donné que l'algorithme ci-dessus ne permet que d'obtenir un encadrement de la solution.
Don, merci d'avance pour vos réponses !
eh, dans cet algo, la différence entre deux valeurs successives est toujours décroissante
donc quand cette différence est inférieure à l'erreur admise, tu peux arrêter de boucler
simplement, changer la contrainte pour i de 1 à N par tant que écart > erreur
Cher dhalte, merci d'avoir répondu. Mais je ne vois pas quelles variables mettre lorsque tu dis écart et erreur ?
Recherche par dichotomie d'une solution approchée de l'équation f(x)=0, sur [A;B], sous les conditions que
. f est continue strictement monotone sur l'intervalle
. f(A).f(B) < 0
// Déclarations, initialisations
Err <-- erreur admise
A <-- borne min
B <-- borne max
Ecart <-- B-A
S=(A+B)/2
tant que Ecart>Err
si f(S)=0
A=S
B=S
sinon si f(A).f(S)<0
B <-- S
sinon
A <-- S
fin si
S=(A+B)/2
Ecart <-- B-A
fin tant que
Afficher S
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :