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 :

[Clisp] Fonction qui liste les nombres plus petits ou égaux à une valeur


Sujet :

Lisp

  1. #1
    Candidat au Club
    Homme Profil pro
    ingénieur après vente
    Inscrit en
    Décembre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur après vente
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2019
    Messages : 3
    Points : 4
    Points
    4
    Par défaut [Clisp] Fonction qui liste les nombres plus petits ou égaux à une valeur
    Bonjour,

    au fait je suis débutant dans clisp, j'ai suivi ce questionnaire d'un d'utilisateur qui est de définir une fonction qui construit, à partir d'une liste de nombres, la liste des nombres plus petits ou égaux qu'un,
    nombre donné ; exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (inférieur 12 '(3 5 15 12 24 2 35)) => (3 5 12 2)
    Mais je m'en sorte vraiment pas cad j'ai pas le bon résultat, voici quelques lignes de ma codification
    "Aidez moi svp"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    (defun inf (n l)
    (cond
    ((not l) nil)
    ((>= (car l) n)(cons n(inf n(cdr l))))
    ((car l)(inf n(cdr l))) ))

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 528
    Points
    528
    Par défaut
    Bonsoir,

    Voici une solution possible :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    (defun inferieur (n l)
       (cond ((not l) nil)
             ((<= (car l) n)
              (cons (car l) (inferieur n (cdr l))))
              (t (inferieur n (cdr l)))))
    En indentant le code, on voit un peu plus clair.

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par Canvas Voir le message
    Bonsoir,

    Voici une solution possible :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    (defun inferieur (n l)
       (cond ((not l) nil)
             ((<= (car l) n)
              (cons (car l) (inferieur n (cdr l))))
              (t (inferieur n (cdr l)))))
    En indentant le code, on voit un peu plus clair.
    Surtout en mettant le t final à la même hauteur que le cons de la ligne précédente...

  4. #4
    Candidat au Club
    Homme Profil pro
    ingénieur après vente
    Inscrit en
    Décembre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur après vente
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2019
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Clisp
    merci pour vos interventions, je vais essai et je reviendrai vers vous

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 3
    Points : 8
    Points
    8
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (remove-if #'(lambda (x) (> x 12)) '(3 5 15 12 24 2 35))

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/08/2018, 12h10
  2. Réponses: 3
    Dernier message: 15/08/2018, 20h24
  3. Réponses: 15
    Dernier message: 05/10/2012, 19h08
  4. Fonction qui définie les nombres des chiffres
    Par aliassaf dans le forum MATLAB
    Réponses: 3
    Dernier message: 02/04/2009, 01h38

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