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

Scheme Discussion :

Somme d'entiers impairs


Sujet :

Scheme

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Somme d'entiers impairs
    Bonjour/soir
    Besoin d'un code source Scheme pour afficher la somme des entiers impairs d'une liste, je débute .
    Merci bien.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Bonsoir ,
    le problème est un peu plus compliqué qu'il en à l'air .
    Cependant j'ai peut-être trouvé ton bonheur :

    (define (impairs liste)
    (if (pair? liste)
    (cons (car liste) (pairs (cdr liste)))
    '() ) )
    (define (pairs liste)
    (if (pair? liste)
    (impairs (cdr liste))
    '() ) )

    Voilà
    Bon courage pour la suite

  3. #3
    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
    Pour tester si un entier est pair tu as la fonction modulo qui renvoie le reste de la division euclidienne
    exemple (modulo 5 2) -> 1

    As-tu déjà utilisé la récursivité ?
    "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

  4. #4
    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 shenmicke Voir le message
    Bonsoir ,
    le problème est un peu plus compliqué qu'il en à l'air .
    Cependant j'ai peut-être trouvé ton bonheur :

    (define (impairs liste)
    (if (pair? liste)
    (cons (car liste) (pairs (cdr liste)))
    '() ) )
    (define (pairs liste)
    (if (pair? liste)
    (impairs (cdr liste))
    '() ) )

    Voilà
    Bon courage pour la suite
    Bravo -_- ... lui donner une solution tout machée est inutile.
    Comment veux tu qu'il apprenne quoique ce soit !??
    Menfinbon je pense que ce n'est pas ce qu'il voulait, il n'y a donc pas de problème.

    Est-ce que ton prof utilise une technique particulière... genre programmation par flots comme le fait Abelson, Sussman et Sussman ??

    Et où en es tu arrivé ?

  5. #5
    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
    Est-ce que les techniques utilisant la fonction foldl cf ce post peuvent être considérée comme de la programmation par flots (jai un peu de mal à m'y retrouver )
    "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

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    désolé je ne le referais plus :s

  7. #7
    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 shenmicke Voir le message
    désolé je ne le referais plus :s
    Le prend pas mal hein
    C'est bien de vouloir aider. Mais il faut amener l'autre à la bonne réponse.
    Sinon l'autre n'apprend pas (ou peu) et ça ne l'aidera pas beaucoup.
    On apprend principalement par l'erreur et la persévérance.

    De toute façon la personne en question n'a pas l'air d'être très intéressée -_-

  8. #8
    Membre éclairé
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Points : 803
    Points
    803
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    (require (lib "1.ss" "srfi"))
    
    (define (sum l)
      (reduce + 0 l))
    
    (let ((l (list 1 2 3 4 5 6 7 8 9)))
      (sum (filter odd? l)))
    Edit: Version plus simple (en utilisant SRFI-1)

  9. #9
    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 GnuVince Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    (require (lib "1.ss" "srfi"))
    
    (define (sum l)
      (reduce + 0 l))
    
    (let ((l (list 1 2 3 4 5 6 7 8 9)))
      (sum (filter odd? l)))
    Edit: Version plus simple (en utilisant SRFI-1)
    Tu n'aides pas. Tu donnes juste une solution.
    Hors c'est une question de cours classique.
    Encore une fois cependant Helix0 ne semble pas vraiment intéressé j'admets.

    Bon maintenant vis-à-vis de ce que tu as écris: pourquoi utilises-tu srfi-1? Pourquoi pas list.ss de MzLib ? Remarque... peut être n'utilises tu pas DrScheme ?

Discussions similaires

  1. Pseudo code pour la somme de nombres impairs
    Par schranz dans le forum Algorithmes et structures de données
    Réponses: 29
    Dernier message: 08/05/2015, 21h00
  2. Une énigme ? Trigons (somme des entiers de 1 à n) et cycles
    Par cyberlp dans le forum Mathématiques
    Réponses: 6
    Dernier message: 26/06/2014, 10h47
  3. [Débutant] somme des entiers d'une matrice
    Par amal1410 dans le forum MATLAB
    Réponses: 1
    Dernier message: 06/02/2013, 18h49
  4. Contrainte sur la somme des entiers d'une liste
    Par citron_666 dans le forum Prolog
    Réponses: 2
    Dernier message: 03/08/2012, 10h32
  5. Décomposition en somme de n entiers
    Par netsabes dans le forum Algorithmes et structures de données
    Réponses: 16
    Dernier message: 06/12/2006, 23h17

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