Maîtrise d'Informatique - 1996-1997, appel, corrections
|
; 1
(de noeud_tous (l)
(when l (append (list (caar l)) (noeud_tous (cdr l)))
)
)
; 2
(de noeud_succ (l)
(let ((m ()))
( while l
(if (< 1 (length (car l)))
(setq m (cons (car (car l)) m))
()
)
(setq l (cdr l))
)
m
)
)
; 4 ajouter
(de ajou (x y gr)
(cond ( (null gr) (list (list x y))
)
( (equal x (caar gr)) (cons (reverse (cons y (reverse (car gr)))) (cdr
gr))
)
( t (append (list (car gr)) (ajou x y (cdr gr)))
)
)
)
; 5 successeurs d'un noeud dans un graphe
(de successeur1 (x graph)
(when graph
(if (equal x (caar graph)) (cdar graph)
(successeur1 x (cdr graph))
)
)
)
; 6
(de union (e1 e2)
(cond ((null e1) e2)
((member (car e1) e2) (union (cdr e1) e2))
(t (union (cdr e1) (cons (car e1) e2)))
)
)
(de succ_liste (l1 graph)
(when l1 (union (successeur1 (car l1) graph) (succ_liste (cdr l1) graph)
)
)
)
;7
(de diff (e1 e2)
(cond ((null e1) ())
((member (car e1) e2) (diff (cdr e1) e2))
(t (cons (car e1) (diff (cdr e1) e2)))
)
)
(de succ (x graph)
(let ( (liste (list x)) )
(while (not (null (diff (succ2 liste graph) liste
)
)
)
(setq liste (union liste (succ2 liste graph)
)
)
)
liste
)
)
Vincent Vajnovszki
ven 27 fév 13:03:55 NFT 1998