C'était bien essayé (au hasard?), mais ce n'est pas tout à fait ça...
Oui j"avais vraiment mis cà au hasard, je me suis au moin je vais etre recompensé pour avoir essayer.
Avec les trec-body, trec-expr et trec-if que je t'ai fournies, tu peux déjà vérifier qu'elles parsent correctement les fonctions 'membre' et 'erbmem', ainsi que la plupart des fonctions sans fonction auxiliaire.
c'a veux dire que ma fonction marche trés bien?(parceque j'a vu que vous pas fait de commentaire sur ca.
avec la fonction trec-expr' sa donne toujour '#t'
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| > (trec-expr membre term '
((define (membre a l)
(if (not (pair? l))
0
(if (equal? a (car l))
1
(membre a (cdr l))))))))
#t
> (trec-expr erbmem term '
(define (erbmem a l)
(if (not (pair? l))
0
(+ (+ a (car l))
1
(erbmem a (cdr l)))))))
#t , donc lle booleen ne marche pas , pour l'instant .
> |
quand j'utilise la fonction 'trec-body' sa ma donne sa comme résultat:
1 2 3 4 5 6 7 8 9 10 11
| (trec-body membre term '
((define (membre a l)
(if (not (pair? l))
0
(if (equal? a (car l))
1
(membre a (cdr l)))))))
. . cdr: expects argument of type <pair>; given #<procedure:term>
> |
Merci !
Partager