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 :

Problème de récurrence


Sujet :

Scheme

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Problème de récurrence
    Bonsoir, j'ai un petit probleme de récurrence avec la fonction qui va suivre, je ne vois pas trop comment m'y prendre !

    Premierement, ma fonction ne reconnait pas "d" quand j'y fait appel dans : "(if (= 0 (- d a))"
    De plus, j'aimerai effectué une reccurence a fin que tant que je n'ai pas :
    d - a = O, je puisse réajouter des tailles de bateaux et des bateaux !

    Merci de votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    (define (demande)
    (display "Entrée la taille de la grille voulue :\n")
    (begin
    (let ((x (read)))
    (carre x)
    (display "Combien de bateau voulez vous utiliser pour la partie ? :\n")
    (let ((d (read)))
    (display "Entrée une taille de bateau :\n")
    (let ((n (read)))
    (bateau (carre x) n)))
    (display "Entrée le nombre de bateau de cette taille :\n")
    (let ((a (read)))
    (tester a d)
    (if (= 0 (- d a))
         (bateauf (carre x) n a))))))
       
        
         
         
    (define (tester a d)
    (if (>= d a)
    #t
    ((display "Ce n'est pas possible \n \n")
    (demande))))

  2. #2
    Membre régulier Avatar de smatador
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 57
    Points : 78
    Points
    78
    Par défaut
    Je te suggère d'utiliser la balise code et d'indenter ton code car il est peu lisible.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Voila pour un peu plus de clarté


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    (define (demande)
      (display "Entrée la taille de la grille voulue :\n")
      (begin
        (let ((x (read)))
          (carre x)
          (display "Combien de bateau voulez vous utiliser pour la partie ? :\n")
          (let ((d (read)))
            (display "Entrée une taille de bateau :\n")
            (let ((n (read)))
              (bateau (carre x) n)))
          (display "Entrée le nombre de bateau de cette taille :\n")
          (let ((a (read)))
            (tester a d)
            (if (= 0 (- d a))
                (bateauf (carre x) n a))))))
       
        
         
         
    (define (tester a d)
      (if (>= d a)
          #t
          ((display "Ce n'est pas possible \n \n")
           (demande))))

  4. #4
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Premierement, ma fonction ne reconnait pas "d" quand j'y fait appel
    Place ton curseur sur la parenthèse ouvrante du let où tu déclare d et ton éditeur de code va surligner la parenthèse fermante correspondante. Ainsi tu sauras jusqu'où va la portée de ta déclaration et si ton occurrence de d est bien à l'intérieur ou pas.
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Oui merci, il y avait bien un problème de parenthèse qui est maintenant résolu !

Discussions similaires

  1. [Débutant] Problème avec récurrence
    Par arkandias dans le forum MATLAB
    Réponses: 2
    Dernier message: 06/03/2011, 11h46
  2. [String]Problème sur une fonction de récurrence
    Par hibou107 dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 13/04/2010, 15h53
  3. Réponses: 1
    Dernier message: 30/05/2008, 18h15
  4. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  5. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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