Bonjour,
désolé de vous importuner un dimanche mais depuis hier je recherche la cause d'erreur en exécution sur ab-noeud?. ab-noeud? est sur la carte de référence .Impossible de comprendre.
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
;;; ab-vide? : ArbreBinaire (alpha) -> bool
;;; (ab-vide? B) rend vrai ssi B est un arbre vide et faux sinon
(define (ab-vide? B)
  (not (ab-noeud? B)))

;;; ab-B2 : -> ArbreBinaire (string)
;;; (ab-B2) rend l'arbre B2
(define (ab-B2)
  (let* ((B1 (ab-noeud "f" (ab-vide) (ab-vide)))
         (B2 (ab-noeud "g" (ab-vide) (ab-vide)))
         (B1-1 (ab-noeud "c" (ab-vide) (ab-vide)))
         (B3 (ab-noeud "e" B2 (ab-vide)))
         (B4 (ab-noeud "d" B3 B1))
         (B5 (ab-noeud "b" B1-1 B4)))
    (ab-noeud "a" B5 (ab-vide))))

;;; ab-branche-droite B)
;;; (ab-branche-droite A) rend la liste des éléments de la branche droite de B 
(define (xxxx)
  (let ((B ab-B2))
(define (ab-branche-droite B)
    (if (ab-vide? B)
  (list)
  (cons (ab-etiquette B)
        (ab-branche-droite (ab-droit B)))))
  (ab-branche-droite B)))

(trace xxxx) (xxxx)

Dans mes exercices d'entrainement on me signifie les fonctions paragraphe, lignes et -> string. Je ne les trouve nulle part !!!!!!!!!!