quelqu'un pourrait m'expliquer les différences et les usages de chacune ?
en me disant un peu plus que : "la fonction retourne une valeur" !
merci
quelqu'un pourrait m'expliquer les différences et les usages de chacune ?
en me disant un peu plus que : "la fonction retourne une valeur" !
merci
Ce n'est qu'en forgeant qu'on devient forgeron.
J'ai peut etre tord mais:
Hypothese:
1. Conceptuellement une fonction n'a pas d'effet de bord (ne devrait pas en avoir).
2. Les procedures en ont forcement car elle ne renvoient aucune valeur a exploité.
Si grande est la faiblesse d'une âme, dont la raison est partie!
Ne jamais embrouiller ni abasourdir par une foule d'images le génie intérieur qui réside au fonde de sa poitrine,...
L'ambition est le rfuge de l'échec. "Oscar Wild"
On est d'accord que la différence entre une procédure et une fonction et que la première ne revoit pas de valeur et la seconde si. Par contre, je ne suis pas tout à fait d'accord avec le point 2 : une procédure peut servir à l'affichage par exemple, ou même à un traitement sur ses paramètres dont le résultat n'est pas à garder pour la suite.Envoyé par mathk
Pour le point 1, disons que je ne verrais aucune objection (dans le sens où je ne pense pas que l'on puisse considérer ceci comme une pratique à éviter) à passer un paramètre par référence à une fonction.
"En essayant continuellement, on finit par réussir. Donc : plus ça rate, plus on a de chances que ça marche" (devise Shadock)
Application :
ainsi qu'à regarder la avant de poser une question.
La rubrique Perl recrute, contactez-moi.
Foe,
La réponse est claire
Faut-il rappeler que ce sont les créateurs du Pascal ?Envoyé par Jensen & Wirth
D'ailleurs, en C ou C++, on ne parle que de fonctions, même quand le type "retourné" est void, ce qui correspond donc aux procédures du Pascal.
Si les cons volaient, il ferait nuit à midi.
L 'affichage est un effet de bord. Il change l'etat de ton systemEnvoyé par Woufeil
Si grande est la faiblesse d'une âme, dont la raison est partie!
Ne jamais embrouiller ni abasourdir par une foule d'images le génie intérieur qui réside au fonde de sa poitrine,...
L'ambition est le rfuge de l'échec. "Oscar Wild"
C'est idem en Java. Une "procédure" est une fonction qui ne renvoie rien.Envoyé par droggo
Il n'y a pas vraiment d'autre différences, on peut atteindre les même fonctionnalités avec une fonction ou une procédure.
Un exemple autour de "Hello World", en Java :
Grosso modo, une fonction qui ne renvoie pas de résultat est une procédure. Mais certains langages dont C, C++ et Java ne se posent plus ces questions, il n'y a que des fonctions dont certaines renvoient "void" (vide, rien)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 // code type procédure public void hello0(String name) { System.out.println("Bonjour " + name); } // code type fonction public String hello1(String name) { System.out.println("Bonjour " + name); return name; }
Si tu as besoin d'obtenir un résultat de ton algorithme, tu utilises une fonction qui te renvoie ce résultat, sinon tu utilises une fonction qui ne te renvoie rien.
__________________________________
| +
| Sylvain Tournois - Création logicielle
|
| sylv.tournois.free.fr
|
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager