Partage
  • Partager sur Facebook
  • Partager sur Twitter

Arguments

Sujet résolu
    19 mars 2019 à 14:53:45

    Bonjour, je suis un débutant en matière programmatrice et après 5 relectures, je ne comprends toujours ce que c'est et à quoi ça sert un argument (dans une fonction). 

    Si quelqu'un pouvait m'aider, merci !

    • Partager sur Facebook
    • Partager sur Twitter
      19 mars 2019 à 15:02:53

      Bonjour

      exemple

      #include <iostream>
      
      int& function_exemple(int n){
      return n;
      }

      Ici funtion_exemple est une fonction.

      J'espère que c'est clair pour toi

      Si maintenant, tu fais

      function_exemple(4);

      tu as le droit : 4 est un entier. C'est un argument.

      Alors que dans ta fonction , ici, n s'appelle un paramètre.

      L'argument particularise le paramètre.

      L'argument est "un exemple de paramètre"

      L'argument est un paramètre particulier. Ici , l'argument envoyé à ta fonction est 4.

      Prends soin de toi

      PS : n'hésite pas à mettre un +1 si le message t'ai aidé un peu.


      -
      Edité par pseudo-simple 19 mars 2019 à 15:05:21

      • Partager sur Facebook
      • Partager sur Twitter
        19 mars 2019 à 15:26:36

        Ca c'est la théorie. Pour ce que qui est de savoir à quoi ça sert, ça va servir à utiliser un même morceau de code avec différents paramètres.

        Si on imagine que triple est une fonction qui retourne le triple d'un nombre :

        // double triple(double n); retourne le triple du nombre passé en paramètre.
        
        triple(1);   // 3
        triple(3);   // 9

        Ou si on a une fonction qui trie un tableau :

        sort({ 2, 1, 4, 3 });            // { 1, 2, 3, 4 }
        sort({ 1.5, 1.8, 1.3, 1.1 });    // { 1.1, 1.3, 1.5, 1.8 }

         J'utilise le même morceau de code pour calculer différents résultats. :)

        -
        Edité par Maluna34 19 mars 2019 à 15:29:57

        • Partager sur Facebook
        • Partager sur Twitter
          19 mars 2019 à 15:35:48

          Cela voudrait dire que pour que la fonction soit éxécuté, il faut que j'envoie une variable qui est égale à quatre ou alors la fonction commencera toujours avec n = 4 n'importe le variable envoyé ?
          • Partager sur Facebook
          • Partager sur Twitter
            19 mars 2019 à 15:40:43

            Je comprends tout à fait ce qu'il se passe dans ton raisonnement.

            En fait : n est une abstraction en sémantique mathématique.

            Pour répondre à ta question, tu peux prendre à la place de n n'importe quelle valeur entière.

            Quand je parle de valeur entière, je parle de valeur entière pour l'ordinateur. 

            En C++, une valeur entière négative ou positive est sur une plage donnée. 

            Cela dépend notamment de ton architecture 32 ou 64 bits.

            Mais  l'important c'est que dans le cas de ma fonction très simple, tu peux envoyer à la place de 4, n'importe quel valeur entière : -10, -51, -398, 67, 98, 1098

            Attention tout de même, qu'il y a un minimum et un maximum dont je ne suis pas sûr, qu'il ne faut pas passer pour rester un int.

            J'espère que ça t'aide

            Prends soin de toi

            • Partager sur Facebook
            • Partager sur Twitter
              19 mars 2019 à 16:04:35

              @davidzkitischwili, c'est le même concept que les fonctions en mathématique du lycée.
              • Partager sur Facebook
              • Partager sur Twitter
              Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                19 mars 2019 à 16:11:24

                Une fonction, c'est une suite d'instructions. Une recette de cuisine, que l'on doit suivre pour réaliser une tache.

                Les paramètres/arguments (*) d'une fonction, ce sont les informations que tu donnes à la fonction. Par exemple, ta recette de gateau, tu peux lui demander de créer un gateau au chocolat, un gateau aux fraises, au citron, etc.

                Le paramètre de retour de la fonction, c'est le résultat obtenu. Le gateau.

                Bon appetit.

                gateau creer_gateau(type_gateau)
                // gateau = ce que tu obtiens
                // creer_gateau = la fonction, ce que tu veux réaliser
                // type_gateau = des informations pour réaliser la tache

                (*) osef les details sémantiques entre paramètre et argument.

                • Partager sur Facebook
                • Partager sur Twitter
                  19 mars 2019 à 16:18:37

                  Ok c'est bon merci tout le monde, je viens de comprendre : les paramètres ou les arguments, c'est les variables envoyées à la fonction qui seront utilisés dedans et ensuite renvoyé. Je me trompe ?

                  EX :

                  #include <iostream>

                  using namespace std;

                  int triple (int a)

                  {

                      a = a*3;

                      return a;

                  }

                  int main ()

                  {

                      cout << "choisissez un nombre que vous voulez triplez" << endl;

                      int nombre, resultat;

                      cin >> nombre;

                      resultat = triple(nombre);

                      cout << resultat;

                  }

                  -
                  Edité par davidzkitischwili 19 mars 2019 à 16:57:41

                  • Partager sur Facebook
                  • Partager sur Twitter
                    19 mars 2019 à 17:25:36

                    Exactement, félicitations
                    • Partager sur Facebook
                    • Partager sur Twitter
                      19 mars 2019 à 19:21:56

                      Salut,

                      Je laisse des gens plus avancés que moi me rectifier si ce que je dit est faux mais :

                      - using namespace std ; => https://openclassrooms.com/forum/sujet/identificateur-introuvable-c?page=1#message-91264221 (bon ça je prends pas trop de risque :) )

                      - Le fait de ne pas initialiser les variables "nombre" et "resultat" à 0 (ou autre) explicitement provoque un UB et est donc une mauvaise habitude, non ?

                      • Partager sur Facebook
                      • Partager sur Twitter
                        19 mars 2019 à 19:24:00

                        En général, mais ce cas de figure arrive assez rarement (enfin pour moi)

                        -
                        Edité par davidzkitischwili 19 mars 2019 à 19:27:41

                        • Partager sur Facebook
                        • Partager sur Twitter
                          19 mars 2019 à 19:25:48

                          Jupiter41 a écrit:

                          - Le fait de ne pas initialiser les variables "nombre" et "resultat" à 0 (ou autre) explicitement provoque un UB et est donc une mauvaise habitude, non ?

                          Pour être exact, c'est l'utilisation d'une variable non initialisée qui est un UB. Mais comme il est facile d'oublier d'initialiser, on a tendance a simplifier en disant de toujours initialiser. Mais c'est bien l'utilisation le problème. L'initialisation systématique est juste une bonne pratique.

                          On peut ajouter le fait de prédéclarer les variables dans les mauvaises pratiques.

                          -
                          Edité par gbdivers 19 mars 2019 à 19:27:51

                          • Partager sur Facebook
                          • Partager sur Twitter
                            19 mars 2019 à 19:43:12

                            Merci pour ces précisions gbdivers ! :)
                            • Partager sur Facebook
                            • Partager sur Twitter
                              20 mars 2019 à 0:30:37

                              davidzkitischwili a écrit:

                              Ok c'est bon merci tout le monde, je viens de comprendre : les paramètres ou les arguments, c'est les variables envoyées à la fonction qui seront utilisés dedans et ensuite renvoyé. Je me trompe ?

                              La valeur renvoyée par la fonction ne fait pas forcément partie des paramètres.

                              • Partager sur Facebook
                              • Partager sur Twitter

                              Arguments

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown