Chose que je comprends pas en Langage C
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Chose que je comprends pas en Langage C



  1. #1
    Lyrobot

    Chose que je comprends pas en Langage C


    ------

    bonjour, j'ai un probleme sur un bout de code facile :

    Code:
     int puissance (int, int );
    int puissance (int a, int n)
    {
    if (n == 0)
    return(1);
    return(a * puissance(a, n-1));       ( l6)
    }
    main()
    {
    int a = 2, b = 5;
    printf("%d\n", puissance(a,b));
    }
    j'arrive pas a comprendre comment la fonction fait la mise en puissance...

    a la ligne 6, j'aurai ecris: return(a * pow(a, n-1));

    Pouvez vous m'expliquer comment la fonctionne marche du coup ?
    merci a vous

    -----
    Dernière modification par JPL ; 16/01/2020 à 14h46. Motif: Ajout de la balise Code (#)

  2. #2
    pm42

    Re : Chose que je comprends pas en Language C

    C’est une fonction récursive : si on élève un nombre à la puissance vaut 1.

    Sinon, cela on multiplie le nombre par la puissance - 1. Cette définition récursive marche mathématiquement et le code ne fait que la traduire.

  3. #3
    Lyrobot

    Re : Chose que je comprends pas en Language C

    je ne comprends pas comment l'elevation a la puissance ce fait sachant qu'il n y pas le code dedans ? IL utilise une fonct dans une fonction mais a aucun moment dans la fonction il y un une équation .

  4. #4
    minushabens

    Re : Chose que je comprends pas en Language C

    essaie de tracer les appels à la fonction et la valeur retournée pour n=3. Tu peux faire ça "à la main" et tu comprendras.

  5. A voir en vidéo sur Futura
  6. #5
    pm42

    Re : Chose que je comprends pas en Language C

    Citation Envoyé par Lyrobot Voir le message
    je ne comprends pas comment l'elevation a la puissance ce fait sachant qu'il n y pas le code dedans ? IL utilise une fonct dans une fonction mais a aucun moment dans la fonction il y un une équation .
    Lire les réponses peut aider. Répéter que tu ne comprends pas sans même citer la réponse et en langage SMS est assez peu efficace par contre.

  7. #6
    Jack
    Modérateur

    Re : Chose que je comprends pas en Language C

    Citation Envoyé par Lyrobot Voir le message
    je ne comprends pas comment l'elevation a la puissance ce fait sachant qu'il n y pas le code dedans ? IL utilise une fonct dans une fonction mais a aucun moment dans la fonction il y un une équation .
    Ce n'est que la stricte application de sa définition mathématique:
    a0 = 1
    et
    an = a x an-1

  8. #7
    Ikhar84
    Animateur Informatique

    Re : Chose que je comprends pas en Langage C

    Citation Envoyé par Lyrobot Voir le message
    a la ligne 6, j'aurai ecris: return(a * pow(a, n-1));
    Et du coup plus besoin de fonction (en dehors de l'appel à pow() )...

    Le but est d'apprendre la récursivité, le fait que cela calcule une puissance n'est qu'un pretexte, pour comprendre, il faut impérativement faire ce qu'ont demandé pm42 et minushaben : dérouler l'algo avec un "petit" n:

    Si a=10 et n = 3 par exemple :

    a * ( a * ( a * (1))) donc :
    10 * 10* 10 * 1
    Et on (edit: on a) donc bien 103 = 10 * 10 * 10 * 1 = 1 000...

    Mais expliquer ne sert à rien si tu ne déroules pas toi même l'algo ...

    ReEdit: grilled by Jack...
    Dernière modification par Ikhar84 ; 16/01/2020 à 16h02.
    J'ai glissé Chef !

  9. #8
    Lyrobot

    Re : Chose que je comprends pas en Langage C

    merci minushabens !! j'aurai du le faire à la main de suite
    Du coup j'ai compris !
    Je voyais pas se que que retourné la fonction puisance( ).
    merci a tous de vos réponses.

  10. #9
    CM63

    Re : Chose que je comprends pas en Langage C

    Et nous on a du mal à te lire

  11. #10
    Lyrobot

    Re : Chose que je comprends pas en Langage C

    je vais faire plus attention à mon orthographe

Discussions similaires

  1. Chose promise, chose due : NGC7000 en couleurs
    Par Dhraks dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 14
    Dernier message: 09/10/2013, 21h02
  2. Chose dite - chose faite
    Par tellif dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 5
    Dernier message: 16/06/2013, 22h44
  3. Quelque chose que je ne comprends pas avec les dérivéés !
    Par gueguet57 dans le forum Mathématiques du collège et du lycée
    Réponses: 5
    Dernier message: 26/03/2012, 17h11
  4. petit problème où je ne comprends pas grand chose
    Par invitecaa78441 dans le forum Physique
    Réponses: 14
    Dernier message: 15/09/2006, 12h54