Bonsoir,
J'ai un problème pour coder une fonction récursive.

Je dois définir une fonction qui ramène l'élément d'une liste (plate) dont la position est passée en paramètre. Le premier élément de la liste a la position 0, la fonction renvoie nil si la position dépasse le nombre d'atomes dans la liste.

voici le début de la fonction qui selon moi est correcte : (position sera un chiffre)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
(defun fonction (position liste)
       (cond
              ((not liste) liste)
              ((atom liste) 0)
la suite : on parcours la liste jusqu'au chiffre ('position' passé en paramètres), puis on renvoie l'atome sur lequel pointe 'position'.

voici les résultats auxquels on doit aboutir à :
(fonction 1 '(a b c d e f)) renvoie b
(fonction 6 '(a b c d e f)) renvoie nil

Je pense que je me trompe au niveau de l'algo.

Si vous aviez quelques indices, ça m'aiderait car je suis vraiment bloquée.

Merci