difference entre une procedure et une fonction ?? [pascal] - Delphi/Pascal - Programmation
Marsh Posté le 27-07-2006 à 16:21:51
Une fonction renvoi un resultat, la procedure, non.
Grosso modo, si tu veut afficher "hello World" avec des procedure ou fonction, tu t'y prend comme suit :
program HelloWorld;
interface |
Bon.... J'ai pas testé le code, et comme ca fait une eternité que je n'ai pas fait de pascal pur, il vas peut etre falloir faire des ajustement. Mais grosso-modo, ce programme affiche 2 fois "hello world". des 2 manières diférente.
Marsh Posté le 28-07-2006 à 14:27:14
Merci, j'ai saisi le principe... ma confusion venait du fait que "procedure" n'existe pas en C++.
Marsh Posté le 28-07-2006 à 16:32:47
gentlefred a écrit : Merci, j'ai saisi le principe... ma confusion venait du fait que "procedure" n'existe pas en C++. |
Arf, ok.. Je pensé avoir affaire au pur débutant.
Alors pour rentré dans les détail:
Dans une fonction, une variable nommé "result" est implicitement déclaré. Ainsi, tu peut indiféremment écrire:
Function MaFonction : string; //la valeur renvoyé par la fonction sera "hello World" |
ou
Function MaFonction : string; //la valeur renvoyé par la fonction sera "hello World" |
Attention, "result" et le nom de la fonction ne sont interchangeables qu'a gauche de l'affectation. Ca évite de créer une varible temporaire quant tu veut te servir d'une valeur intermédiaire dans ton code.
Function MaFonction : string; |
Je sais plus trop comment ça se passe en C, mais en pascal, le fait d'affecter une valeur à la fonction (que ce soit "normalement" ou par "result" ) ne fait pas sortir de la fonction.
Et Evidement, comme en C, on peut appeler une fonction sans récupérer son résultat.
Marsh Posté le 27-07-2006 à 11:59:20
bonjour,
la question est sans doute idiote mais je debute (ou la doc n'est suffisamment explicite) et j'ai du mal à cerner la difference entre une procedure et une fonction, quand choisir l'un ou l'autre ?
merci.