A voir également:
- Procedure et fonction
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
5 réponses
la différence est à la sortie
la fonction retourne qu'une valeur alors que la procédure les valeurs sont passés en référence et peuvent être toutes modifiées
j'espere que sa répon à ta question
la fonction retourne qu'une valeur alors que la procédure les valeurs sont passés en référence et peuvent être toutes modifiées
j'espere que sa répon à ta question
Bonjour,
Ton sujet suggère une question et ton poste en pose une autre..
Une fonction possède une valeur de retour.
Une procédure n'en a pas et peut avoir des effets de bord. (en théorie car bon nombre de fonctions....)
Pour les paramètres, il y a en effet des langages (par exemple ADA) qui accepte les deux méthodes
dessinerRectangle( 1, 1, 2, 2 );
ou
dessinerRectangle( x1 = 1, y1 = 1, x2 = 2, y2 = 2 );
C'est absolument équivalent d'un point de vue exécution, seulement un de deux est plus lisible que l'autre. (Je vous laisse choisir le quel)
M.
Ton sujet suggère une question et ton poste en pose une autre..
Une fonction possède une valeur de retour.
Une procédure n'en a pas et peut avoir des effets de bord. (en théorie car bon nombre de fonctions....)
Pour les paramètres, il y a en effet des langages (par exemple ADA) qui accepte les deux méthodes
dessinerRectangle( 1, 1, 2, 2 );
ou
dessinerRectangle( x1 = 1, y1 = 1, x2 = 2, y2 = 2 );
C'est absolument équivalent d'un point de vue exécution, seulement un de deux est plus lisible que l'autre. (Je vous laisse choisir le quel)
M.
Bonsoir,
si tu passes à la procédure une variable par son nom tu lui fournis l'adresse, et la procédure va travailler sur cette variable, la modifier éventuellement.
Si tu lui passes par valeur, la procédure ne travaillera que sur une copie et ne modifiera jamais la variable d'origine
eric
PS: ah, je vois que j'ai répondu à la question d'origine... Quand on vous dit de ne pas s'accrocher à une conversation en cours et de créer la votre pour avoir des réponses...
si tu passes à la procédure une variable par son nom tu lui fournis l'adresse, et la procédure va travailler sur cette variable, la modifier éventuellement.
Si tu lui passes par valeur, la procédure ne travaillera que sur une copie et ne modifiera jamais la variable d'origine
eric
PS: ah, je vois que j'ai répondu à la question d'origine... Quand on vous dit de ne pas s'accrocher à une conversation en cours et de créer la votre pour avoir des réponses...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour compléter ce qu'a dit eriiic,
La procédure n'est pas typée. Elle prend des objets ou des valeurs en paramètres (ou pas), et exécute un certain nombre d'actions, comme une 'macro', puis quand elle arive à la fin, le programme reprend là ou il s'était arrêté lorsque la procédure a été appelée.
La fonction est 'typée' car à la fin de son exécution elle doit retourner une valeur, ou un objet, et que cette valeur a un type (String, int, double, etc... etc..).
Exemple
procédure calculAplusB(A,B,C)
C=A+B
fonction ENTIER calculAplusB(A,B)
C=A+B
retourne C
La fonction calculAplusB() est de type ENTIER, elle retourne donc un entier. Je peux utiliser cette fonction à la place d'un entier dans une expression, je peux écrire : E = D + calculeAplusB(A,B) car le résultat de cette fonction EST un entier.
Tu peux parfois arriver au même résultat en programmant en procédural ou en fonctions, mais ton programme n'aura pas la même gueule, A toi de voir ce que tu veux faire.
La procédure n'est pas typée. Elle prend des objets ou des valeurs en paramètres (ou pas), et exécute un certain nombre d'actions, comme une 'macro', puis quand elle arive à la fin, le programme reprend là ou il s'était arrêté lorsque la procédure a été appelée.
La fonction est 'typée' car à la fin de son exécution elle doit retourner une valeur, ou un objet, et que cette valeur a un type (String, int, double, etc... etc..).
Exemple
procédure calculAplusB(A,B,C)
C=A+B
fonction ENTIER calculAplusB(A,B)
C=A+B
retourne C
La fonction calculAplusB() est de type ENTIER, elle retourne donc un entier. Je peux utiliser cette fonction à la place d'un entier dans une expression, je peux écrire : E = D + calculeAplusB(A,B) car le résultat de cette fonction EST un entier.
Tu peux parfois arriver au même résultat en programmant en procédural ou en fonctions, mais ton programme n'aura pas la même gueule, A toi de voir ce que tu veux faire.