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 :

Cours de Lisp


Sujet :

Lisp

  1. #1
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 27
    Points
    27
    Par défaut
    Bonjour,
    Je cherche une solution pour ce problème:
    Dans la liste à plusieurs niveaux laisser les atomes contenant les chiffres

    exemple (as34 tt66 ( hhj lo3 ) bb m9) ---> (as34 tt66 (lo3) m9)

    Merci

  2. #2
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Tu écris un postulat AsDigit qui teste si un atome contient un chiffre ou non.
    Dans ton interprète il doit y avoir en standard une fonction explode ou un truc du genre qui transforme les atomes littéraux en listes de caractères, ainsi que des fonctions qui testent si un caractère est un chiffre.
    Cela fait tu écris ta fonction drop ainsi:
    L'argument L est supposé être une liste.
    Tu regardes si (car L) est un atome.
    Si c'est le cas tu retournes (drop (cdr L)) s'il contient des chiffres, et sinon
    tu retournes (cons (car L) (drop (cdr L)))
    Si ce n'est pas un atome tu retournes (cons (drop (car L)) (drop (cdr L)))
    Mettons que ton postulat s'appelle HasDigit
    (defun drop (L)
    (if (atomp (car L))
    (if (HasDigit (car L))
    (drop (cdr L)))
    (cons (car L) (drop (cdr L))))
    (cons (drop (car L)) (drop (cdr L))))))
    Je ne garantis pas la syntaxe.
    LISP: Lots of Insipid and Stupid Parentheses.
    But so nice !!!
    Pour les cours je connais surtout des références anciennes Patrick Henry Winston, Harald Wertz.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par mselmi Voir le message
    Bonjour,
    Je cherche une solution pour ce problème:
    Dans la liste à plusieurs niveaux laisser les atomes contenant les chiffres

    exemple (as34 tt66 ( hhj lo3 ) bb m9) ---> (as34 tt66 (lo3) m9)

    Merci
    Il faut que tu nous montres que tu as commencé à chercher. Comme ça on verra où tu bloques et on pourra t'aider. C'est extrêmement facile quand on connait la solution.


  4. #4
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 27
    Points
    27
    Par défaut Merci
    Citation Envoyé par Zavonen Voir le message
    Tu écris un postulat AsDigit qui teste si un atome contient un chiffre ou non.
    Dans ton interprète il doit y avoir en standard une fonction explode ou un truc du genre qui transforme les atomes littéraux en listes de caractères, ainsi que des fonctions qui testent si un caractère est un chiffre.
    Cela fait tu écris ta fonction drop ainsi:
    L'argument L est supposé être une liste.
    Tu regardes si (car L) est un atome.
    Si c'est le cas tu retournes (drop (cdr L)) s'il contient des chiffres, et sinon
    tu retournes (cons (car L) (drop (cdr L)))
    Si ce n'est pas un atome tu retournes (cons (drop (car L)) (drop (cdr L)))
    Mettons que ton postulat s'appelle HasDigit
    (defun drop (L)
    (if (atomp (car L))
    (if (HasDigit (car L))
    (drop (cdr L)))
    (cons (car L) (drop (cdr L))))
    (cons (drop (car L)) (drop (cdr L))))))
    Je ne garantis pas la syntaxe.
    LISP: Lots of Insipid and Stupid Parentheses.
    But so nice !!!
    Pour les cours je connais surtout des références anciennes Patrick Henry Winston, Harald Wertz.
    Merci

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 27
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par mselmi Voir le message
    Merci
    Bonjour Comment faire pour savoir si un atome contient un nombre ou pas svp?

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

Discussions similaires

  1. Les meilleurs cours et tutoriels C++
    Par Community Management dans le forum C++
    Réponses: 1
    Dernier message: 13/05/2015, 13h50
  2. Outils, cours et NOUVEAUX tutoriels pour Borland C++Builder
    Par hiko-seijuro dans le forum C++Builder
    Réponses: 10
    Dernier message: 12/03/2006, 22h33
  3. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18
  4. F.A.Q, Doc, cours, tutoriels sur JBuilder
    Par Ricky81 dans le forum JBuilder
    Réponses: 0
    Dernier message: 14/03/2002, 15h28

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