Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : juillet 2012
    Messages : 6
    Points : 3
    Points
    3

    Par défaut question convertir une liste en code avec cons et quote

    Bonjour,
    je suis nouveau ici ,
    je débute en lisp ,
    alors ma question et comment convertir une liste en code avec cons et quote
    par exemple

    (a(b((not c)(d))(e)

    (cons.................................,
    merci de votre reponse

  2. #2
    Invité de passage
    Inscrit en
    octobre 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : octobre 2009
    Messages : 4
    Points : 4
    Points
    4

    Par défaut

    hello,
    deja, dans ton expression de depart, il n'y a pas autant de parentheses fermantes que d'ouvrantes!

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    septembre 2007
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2007
    Messages : 5 315
    Points : 12 309
    Points
    12 309

    Par défaut

    Bonjour,

    — « cons » produit une « construction », qui est en fait une paire d'éléments ;
    — Une liste est formée par une suite de « cons » imbriquées : dans chacune de ces paires, le terme de gauche est un des éléments de la liste et celui de droite, une autre paire qui contient le reste de la liste, récursivement. La liste touche à sa fin lorsque le terme de droite est NIL.

    Ainsi :

    Code lisp :
    1
    2
    3
    > (cons 1 (cons 2 (cons 3 (cons 4 (cons 5 nil)))))
    (1 2 3 4 5)
    >

  4. #4
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : juillet 2012
    Messages : 6
    Points : 3
    Points
    3

    Par défaut

    Citation Envoyé par Obsidian Voir le message
    Bonjour,

    — « cons » produit une « construction », qui est en fait une paire d'éléments ;
    — Une liste est formée par une suite de « cons » imbriquées : dans chacune de ces paires, le terme de gauche est un des éléments de la liste et celui de droite, une autre paire qui contient le reste de la liste, récursivement. La liste touche à sa fin lorsque le terme de droite est NIL.

    Ainsi :

    Code lisp :
    1
    2
    3
    > (cons 1 (cons 2 (cons 3 (cons 4 (cons 5 nil)))))
    (1 2 3 4 5)
    >
    Bonsoir
    Oui je suis d'accord , mais quand il s'agit d'une liste avec des sous liste ,
    (a (b (c d) e)(f)) par exemple. il faut coder cette fonction avec (cons et quote .....

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    septembre 2007
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2007
    Messages : 5 315
    Points : 12 309
    Points
    12 309

    Par défaut

    Apparemment, c'est un exercice scolaire. Donc on ne te rendrait pas service si l'on te donnait la solution toute faite, qui reste ma foi fort simple. Est-ce que tu dois écrire une fonction qui transforme n'importe quel liste en son code LISP associé ou est-ce que tu dois juste écrire à la main le code qui donnerait « (A (B (C D) E) (F)) » ?

    Ta sous-liste est un élément de ta liste, au même titre qu'un atome.

    Il s'agira donc d'une construction « cons », puisque c'est une (sous-)liste, mais en tant qu'élément à gauche de la paire adéquate.

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •