[Algorithmes récursifs] Qu'est-ce que c'est ?

Discussion dans 'Web, design' créé par TITM4v3rick, 12 Octobre 2003.

Statut de la discussion:
Fermée.
  1. Offline
    Il s'agit d'une procédure, fonction, méthode de classe dont l'exécution entraîne un ou plusieurs appels à elle-même.
    Ben c'est comme qui dirait une fonction qui s'appelle elle-même soit d'une façon directe, soit d'une façon indirecte...

    un exemple français de récursivité (tautologie)
    ordre = arrangement
    Arrangement = action d'arranger
    arranger = mettre en ordre

    Bon, en français on tourne en rond à moins que l'étudiant connaisse un vocabulaire plus étandu, en programmation, on tourne aussi en rond jusqu'à ce qu'une condition soit vérifiée (une close d'évaluation immédiate = sans besoin de réfléchir...)


    Exemple pratique : [C++]

    Le calcul d'une factorielle (std)

    La factorielle d'un nombre (exemple)
    Facto de 6 = 6 x 5 x 4 x 3 x 2 x 1 (= 720)
    Facto de n = n x n-1 x ...

    Code:
    long facto(long nbr)
    {
       if (nbr >= 0)
       {
          if ((nbr == 0) || (nbr ==1))
               return 1;
          else
          {
               for (long i=(nbr-1) ; i>0 ; i--)
                    nbr = nbr * i;
               return nbr;
           }
       }
       else
          return -1;
    }
    (-1 quand l'utilisateur est trop con pour savoir qu'une facto d'un nombre négatif c'est un peu dur à calculer...)

    Façon récursive :

    Code:
    long Facto(long n)
    {
         if (n >= 0)
         {
             if ((n == 0) || (n == 1))
                  return 1;
             else
                  return n * Facto(n-1);
         }
         else
             return -1;
    }


    Bon qui pourrait donner un autre exemple intéressant ?
    Ne donnez pas un Fibonacci (c'est un mauvais exemple d'application de la récursivité)

    Les tours de Hanoï c'est pas mal...
    Une recherche d'une valeur dans un tableau ?
    Un exemple plus complexe genre Backtracking (pour un labyrinthe par exemple) ?
    Autre ?
    TITM4v3rick, 12 Octobre 2003
    #1
  2. Offline
    [LTF]Guismo Elite
    j'vois pas en quoi fibonacci est un mauvais exemple ! c juste que ca complique un peu les choses pour les debutants !
    [LTF]Guismo, 12 Octobre 2003
    #2
  3. Offline
    Ben Fibo, c'est que tu calcules 2 x la même la chose => méthode itérative à préférer.

    en gros, c'est fibo(n-1) + fibo(n-2) <= là ça calcul 2 fois là même chose en récursif...

    Le récursif, c'est appeller la méthode et dire : est-ce que la close d'évaluation immédiate est remplie ? non => récursif ...
    Quand elle est remplie, alors là on effectue le calcul et on remonte les différents niveaux car une fonction est assimilable à son type de retour.
    TITM4v3rick, 12 Octobre 2003
    #3
  4. Offline
    La Poubelle Elite
    Je pensais que le but de la demande d'une ouverture de forum de programmation était pour répondre à des questions et aider. Pas à faire des Tutoriaux.

    Pour ca, il existe des sites persos.
    La Poubelle, 12 Octobre 2003
    #4
  5. Offline

    Ceci n'est pas un tuto, sinon j'aurai tapé 50 exemples avec tous les commentaires, j'aurai donné les explications sur tel ou tel choix d'un point de vue performance...


    Je n'ai pas parlé d'un forum de programmation... Si je dois attendre qu'un tel forum voit le jour pour poster un sujet concernant un type d'algo...

    Si tu maîtrises ce sujet, ben donnes les autres exemples parce que je doute que tous les GamerZ qui trouveront un intérêt à ce thread en connaissent les réponses.
    TITM4v3rick, 12 Octobre 2003
    #5
  6. Offline
    Riff_Raff ex membre
    Même avis...

    Je pense que celui qui se demande "tiens donc mais que sont les algorithmes récursifs?", il sera assez malin que pour aller fouiller aux bons endroits...

    Je reste perplexe par ce genre d'interventions, même si je n'en mets pas en doute la qualité...
    Riff_Raff, 12 Octobre 2003
    #6
  7. Offline
    Ps : des sites persos sur ce genre de sujet je n'aime pas.

    Pourquoi ? Simple, il s'agit de la vision d'un seul gars.
    Sur un forum, c'est la discution, c'est le :"ha non non,..."
    C'est le "moi je fais comme cela parce que..."
    C'est le "pfff, C'est nawak, chez nous on fait comme ça..."



    Faut pas oublier qu'ici trainent des gens de l'ulb, de l'ecam, de l'esi, de l'ipl, de la HeRb etc...
    Tu vas sur developpez.com c'est la réponse d'un mec qui a sous son nick : modo super qualifié en ...



    Euh, c'est parce qu'il y a marqué "fanatique" sous mon nick que je v me foutre en l'air avec un avion dans une tour.
    TITM4v3rick, 12 Octobre 2003
    #7
  8. Offline

    Ben celui qui est assez malin pour se demander ce qu'est le netcode ne devrait jamais venir poster ici.
    Idem pour celui qui veut connaître les résultats de F1, le dernier jeux vidéo, le dernier film au cinéma etc...

    Pourquoi venir ici, demander qlq chose sur l'overclocking ou sur le Tuning PC ? Ya bien d'autres sites à ce sujet.

    Ici, c'est une sorte de cercle...
    On peut poser une question sur tout et n'importe quoi (enfin, c'est relatif aux règles de GamerZ) sans pour autant devoir se taper 500000 sites...
    TITM4v3rick, 12 Octobre 2003
    #8
  9. Offline
    Pourquoi Fibonacci est-il un mauvais exemple de récursion ?
    TITM4v3rick, 12 Octobre 2003
    #9
  10. Offline
    La Poubelle Elite
    Bon, maintenant que tu insistes et que j'ai eu du temps à perdre. J"ai juste vérifier la mauvaise impression qui me reste dans la gorge, càd voir si on s'est pas fait entuber pour cette histoire de forum Programmation dont j'étais pour suite à l'initiative que je pensais être juste.

    Il existe un formidable Outil qui s'appelle "TROUVER TOUS LES MESSAGES" pour titM4v3rick.

    A part une question le 1er septembre pour du SQL. ET te prendre le chou pendant plusieurs jour avec GRIZ (en debut juillet pour les wallpaper). Tu ne frequentes PAS ce forum HTML d'habitude.

    C'est bien d'aimer le C++ au point de vouloir donner des cours aux autres. Mais IMPOSER des threads alors que personne ne te demande rien, c'est lourd.

    Il existe plusieurs sites complets et beaucoup plus clair fait par des personnes qui ont beaucoup plus d'experiences que toi (et moi aussi). Savoir utiliser un concept est une chose, pouvoir l'expliquer en est une autre (ps. : je connais un petit génie du point de vue programmation , par contre je ne suis pas assez fou pour lui demander des explications car il embrouile plus qu'autre chose).
    La Poubelle, 12 Octobre 2003
    #10
  11. Offline
    Pourquoi ne suis-je jamais venu ou presque ici ?


    Raison simple : Html & WebDesign ...
    HTML, aucun problème, un manuel en main et hop je sais tout faire, juste des balises à replacer, rien de bien compliqué.

    WebDesign, ben à part une retouche ou deux de temps à autre, voilà, j'ai pas bcp d'intérêt pour cette partie.


    Maintenant m'en faire un reproche ???


    Un forum de programmation serait totalement à part du forum HTML & WebDesign, PHP tel que connu à l'heure actuelle.
    Pourquoi alors poster ici ? Simple, tjs en rapport avec les règles de GamerZ : poster là où le sujet est le plus proche si aucune équivalence existe.

    poster dans Hardware : rien avoir
    poster dans Software : rien avoir, entre manipuler, utiliser et développer ya un monde...
    HTML, PHP, déjà ya du langage interprété puis un pseudo langage Orienté Objet.
    TITM4v3rick, 12 Octobre 2003
    #11
  12. Offline
    C'est bien d'aimer le C++ au point de vouloir donner des cours aux autres. Mais IMPOSER des threads alors que personne ne te demande rien, c'est lourd.


    Mdr celle là!

    On pourrait le lacher à tous les posteurs sur un forum...
    Tu imposes un sujet sur le netcode alors que personne ne veut en parler.
    Tu imposes un sujet sur le tuning de TON pc.
    Tu imposes ta vision sur le code HL2 "volé" ...
    TITM4v3rick, 12 Octobre 2003
    #12
  13. Offline
    LeTho RedCap
    Equipe GamerZ.be
    calmons nous, on va pas repartir dans une discussion sans fin.
    De toute façon, yaura pas de forum programmation pour le moment.

    Merci de restez zen
    LeTho, 12 Octobre 2003
    #13
  14. Offline
    La Poubelle Elite
    T'as pas envie de faire ton site privé sur la programmation?

    Raison la plus logique, peu de chance d'être fréquenté à cause de la multitude de site , meme si il est bien réalisé.

    Facilité: Venir essayer de déposer sa façon de programmer sur un forum déjà fréquenter.


    Pour l'audace, Bravo. Tu ferais un bon commercial. Tu ne fréquentais plus que rarement cette section du forum et maintenant tu y vis apres la mise en suspens du forum programmation.

    L'analyse de l'existant mon cher, ca sert aussi dans autre chose que de la programmation.

    TITM4v3rick, Je suis lourd et assez rustre par moment (et la marie, vient traire les vaches). Mais j'ai une qualité qui semble te manquer: "Savoir se remettre en question".
    La Poubelle, 12 Octobre 2003
    #14
  15. Offline
    La Poubelle Elite
    Sorry LeTho, j'avais posté avant de lire ton message.

    Que j'ai tort ou pas , c'est mon impression par rapport à cette attitude :? , peut être que le temps me fera changer d'avis
    La Poubelle, 12 Octobre 2003
    #15
  16. Offline
    LeTho RedCap
    Equipe GamerZ.be
    AGain, je suis plus ou moins d'accord avec toi, même si je n'ai pas à prendre position.

    Par contre, fais attention à ce que tu dis sur les commerciaux hein...
    LeTho, 12 Octobre 2003
    #16
  17. Offline
    Quoi ya des forums privés pour certains GamerZ ?


    je n'enfrain aucune règle en postant ici.
    Si le sujet ne t'intéresses guère, pk venir y répondre ?


    C'est pas parce que je vois un thread sur euh, le coefficient de flexibilité de la queue de la vache (pour rester dans un domaine proche des vaches et de la marie) que je vais aller poster...



    Ps : je n'impose pas de façon de programmer, je propose, c'est toute une nuance et si qqn à une meilleure façon je n'ai jamais dit que je ne l'adopterai pas, vu que c'est le vrai but recherché.




    Mais bon, la question reste : Pk Fibo n'est pas le meilleur exemple d'algo dans le domaine de la récursivité?
    Je l'ai dis, mais j'aimerai voir une réaction, ou une traduction dans la langue d'un autre fermier (vu qu'on me considère comme une sorte de bourrin.)
    TITM4v3rick, 12 Octobre 2003
    #17
  18. Offline
    La Poubelle Elite
    Pour être un bon commercial, il faut :

    - avoir de l'audace;
    - être sur de soi;
    - savoir vendre son produit.
    - savoir écouter.

    Non ? :wink:
    La Poubelle, 12 Octobre 2003
    #18
  19. Offline
    kiri Touriste
    Ici aussi on se prends la tête mais ca vole déja plus haut que les "va te pendre" du forum Counter-Strike. :D
    kiri, 12 Octobre 2003
    #19
  20. Offline
    Tu dévies du sujet. Je pose une question, je donne une réponse puis j'en pose d'autres qui attendent des réponses, vu que je connais certaines façons mais pe pas toutes.




    Alors, les cyberPgm, à vos claviers. :D
    TITM4v3rick, 12 Octobre 2003
    #20
Statut de la discussion:
Fermée.