Présentation de l'algorithme :

Etant donné f une fonction continue et strictement monotone sur un intervalle [a;b] telle que f(a) et f(b) soient de signes contraires. L'équation f(x)=0 admet une unique solution dont on peut déterminer un encadrement par dichotomie.

Principe de cette méthode :

Dans l'exemple ci-dessous, f est définie par f(x)=x3-3x2+1 . L'équation f(x)=0 admet 3 solutions dans R et les conditions requises pour une recherche d'une valeur approchée de ces solutions sont vérifiées sur les intervalles [-1;0] , [0;2] et [2;3].

Code de l'algorithme :
VARIABLES
  precision EST_DU_TYPE NOMBRE
  a EST_DU_TYPE NOMBRE
  b EST_DU_TYPE NOMBRE
  m EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
  precision PREND_LA_VALEUR 0.00001
  LIRE a
  LIRE b
  TANT_QUE (b-a>precision) FAIRE
    DEBUT_TANT_QUE
    m PREND_LA_VALEUR (a+b)/2
    SI (F1(m)*F1(b)>0) ALORS
      DEBUT_SI
      b PREND_LA_VALEUR m
      FIN_SI
      SINON
        DEBUT_SINON
        a PREND_LA_VALEUR m
        FIN_SINON
    FIN_TANT_QUE
  AFFICHER a
  AFFICHER " < solution < "
  AFFICHER b
FIN_ALGORITHME

Fonction numérique utilisée :
F1(x)=pow(x,3)-3*pow(x,2)+1

Fichier AlgoBox associé : dichotomie.alg (faire un clic-droit et utiliser l'option "enregistrer sous" pour télécharger le fichier)

Tester l'algorithme :


(cliquer sur le bouton ci-dessus pour lancer ou relancer l'exécution de l'algorithme)
Remarque : si les messages "Algorithme lancé" et "Algorithme terminé" n'apparaissent pas au bout d'un moment dans la zone ci-dessous, c'est que l'algorithme contient une erreur.

Résultat :