diff --git a/slides/cours_15.md b/slides/cours_15.md
index b21a81888482add1e82c76293db9dc9ddc7f4a29..3818bff7d2bf1e0f0462f48eb6f9611cddf221e1 100644
--- a/slides/cours_15.md
+++ b/slides/cours_15.md
@@ -398,7 +398,7 @@ droite(arbre)     -> arbre (sous-arbre de droite)
 
 # Exemple d'arbre binaire
 
-* Représentez `(a * b - c) * (d + e / f)` à l'aide d'un arbre binaire (matrix)
+* Représentez `(c - a * b) * (d + e / f)` à l'aide d'un arbre binaire (matrix)
 
 . . .
 
@@ -586,7 +586,7 @@ Le noeud est visité à la **remontée**.
 ## Résultat
 
 ```
-a * b - c * d + e / f
+c - a * b * d + e / f
 ```
 
 ::::
@@ -877,11 +877,11 @@ int arbre_size(tree_t tree) {
 ```
 arbre position(arbre, clé)
     si est_non_vide(arbre)
-        si clé < clé(arbre)
-            suivant = gauche(arbre)
-        sinon
-            suivant = droite(arbre)
         tant que clé(arbre) != clé && est_non_vide(suivant)
+            si clé < clé(arbre)
+                suivant = gauche(arbre)
+            sinon
+                suivant = droite(arbre)
             arbre = suivant
             si clé < clé(arbre)
                 suivant = gauche(arbre)
@@ -922,9 +922,9 @@ ajout(arbre, clé)
 tree_t position(tree_t tree, key_t key) {
     tree_t current = tree;
     if (NULL != current) {
-        tree_t subtree = key > current->key ? current->right :
-        current->left;
         while (key != current->key && NULL != subtree) {
+            subtree = key > current->key ? current->right :
+            current->left;
             current = subtree;
             subtree = key > current->key ? current->right :
             current->left;