IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lisp Discussion :

fonction Lisp [débutant]


Sujet :

Lisp

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Points : 7
    Points
    7
    Par défaut fonction Lisp [débutant]
    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

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Connais-tu les fonctions car et cdr ?

    Si l'élément que tu recherches est en position n de la liste, il sera en position n-1 de la liste privée de son premier élément.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    merci beaucoup, j'ai trouvé la fonction et elle marche.

    merci!

Discussions similaires

  1. fonction find débutant
    Par xavioche77 dans le forum jQuery
    Réponses: 7
    Dernier message: 19/05/2011, 11h44
  2. [Lisp][Débutant] Récursivité incomplète
    Par Treuze dans le forum Lisp
    Réponses: 9
    Dernier message: 11/12/2006, 17h12
  3. [Lisp][Débutant] Problème sur le principe
    Par Treuze dans le forum Lisp
    Réponses: 3
    Dernier message: 20/11/2006, 20h02
  4. [Ada] [Débutant] Fonction et Put_Line
    Par hitchie dans le forum Ada
    Réponses: 1
    Dernier message: 18/10/2004, 10h44
  5. [Débutant] Aide utilisation fonctions :(
    Par trakiss dans le forum Débuter
    Réponses: 10
    Dernier message: 27/08/2004, 16h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo