Bonjour, je suis en L1MI et je commence la programmation en Scheme, et je bute sur cet exercice qui porte sur le thème de la récursivité sur les listes.
Spécifier et écrire une fonction construire qui, étant donné une liste, retourne l'expression premettant de la construire en utilisant uniquement cons, les éléments atomiques et la liste vide.
Exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 >(construire '(a b)) (cons a (cons b '())) >(construire '((a b) c)) (cons (cons a (cons b ())) (cons ()))
Mon ébauche:
Mais le probléme c'est que (car l) n'est pas exécuté et sa me donne quelque chose du genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 (define construire (lambda (l) (if (= (lenght l) 1) (car (cons '(cons (car l) ()) ())) . . .
(cons (car l) ())
quand c'est exécuté pour une liste composé d'un seul élément.
Si vous avez une piste??
Partager