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

Algorithmes et structures de données Discussion :

algorithme comportant une fonction récursive


Sujet :

Algorithmes et structures de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 17
    Points : 16
    Points
    16
    Par défaut algorithme comportant une fonction récursive
    Bonjour,

    je suis entrain de devenir un peu fou la, je suis entrain de placher sur une algo qui à mon avis est simple mais je ne trouve pas.

    Voilà le truc : il faut que j'écrive un algo avec fonction récursive, qui va m'afficher les 30 premiers termes de la suite ci dessous :

    S(0)=1 ; S(n)=S(n-1) + 7

    Si vous pouviez éclairer ma lanterne qui est carrément éteinte....

    Merci à vous de votre aide.

  2. #2
    alex_pi
    Invité(e)
    Par défaut
    Pour imprimer le terme au rang n, il faut le calculer. Pour le calculer, il faut calculer celui au rang n - 1. Bah tiens, quitte à le calculer, autant l'afficher lui aussi nan ? Et ainsi de suite.

  3. #3
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    quand tu fais une fonction récursive il faut que tu commences par réfléchir au test d'arrêt, afin d'éviter de boucler infiniment. Donc réfléchis et dis nous quel test tu ferais.
    Ensuite dans ton cas, pour calculer un terme de rang N, il te faut avoir au préalable calculé le terme de rang N-1. Donc à chaque étape, il te faut passer en argument ce terme de rang N-1.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  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 TraxX Voir le message
    S(0)=1 ; S(n)=S(n-1) + 7
    Il est là ton algo...
    La force du récursif, et la raison pour laquelle ça n'a pas complètement disparu au profit des itérations, c'est qu'il n'y a pas besoin de développer un algorithme pour une équation de cette forme. Il y a bien une chose à rajouter et AlexPi t'as donné la solution.

    Tu as bien dû avoir au moins un exemple en classe: par exemple, le factoriel (je dis ça complètement au hasard ). Regardes comment ça a été fait et calque ta solution.

  5. #5
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par Garulfo Voir le message
    Il est là ton algo...
    Tout à fait, d'ailleurs en Haskell, cette fonction s'écrirait :
    Code Haskell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    s 0 = 1
    s n = s (n-1) + 7

    [EDIT] Enfin s'il fallait afficher le résultat, il faudrait rajouter un petit quelque chose effectivement.
    --
    Jedaï

Discussions similaires

  1. [POO] Bug sur une fonction récursive : renvoit undefined
    Par zaboug dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/06/2008, 14h10
  2. Réponses: 2
    Dernier message: 17/06/2008, 12h08
  3. Réponses: 4
    Dernier message: 03/01/2008, 10h53
  4. [fonction d'Ackermann] Écrire une fonction récursive
    Par java+ dans le forum Mathématiques
    Réponses: 5
    Dernier message: 19/06/2007, 01h14
  5. Réponses: 6
    Dernier message: 24/05/2007, 17h18

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