Difference between revisions of "Basic Pascal Tutorial/Chapter 4/Functions/fr"
m (bypass language bar/categorization template redirect [cf. discussion]) |
|||
(5 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | {{Functions}} | + | {{Basic Pascal Tutorial/Chapter 4/Functions}} |
− | + | [[Basic Pascal Tutorial/fr|Tutoriel de Pascal Objet]] : Sous-programmes / '''Fonctions''' | |
− | Les fonctions travaillent de la même façon que les procédures, mais | + | Les fonctions travaillent de la même façon que les procédures, mais en plus, elles ''retournent une valeur unique'' au programme principal à travers leur ''propre nom''. |
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
function Name (parameter_list) : return_type; | function Name (parameter_list) : return_type; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Les fonctions sont appelées dans le programme principal en les utilisant dans des | + | Les fonctions sont appelées dans le programme principal en les utilisant dans des expressions : |
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
a := Name (5) + 3; | a := Name (5) + 3; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Si votre fonction n'a pas d'argument, soyez prudent de ne pas utiliser le nom de la fonction sur le membre droit de toute affectation dans la fonction. | + | Si votre fonction n'a pas d'argument, soyez prudent de ne pas utiliser le nom de la fonction sur le membre droit de toute affectation dans la fonction. Ceci : |
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
function Name : integer; | function Name : integer; | ||
begin | begin | ||
Line 21: | Line 21: | ||
end. | end. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ne va pas fonctionner. Au lieu de retourner la valeur 3 attendue, cela déclenche une boucle récursive infinie. ''Name'' appellera ''Name'', qui appellera ''Name'', qui appellera ''Name'', etc. | |
La valeur de retour est définie en affectant une valeur à l'identificateur de la fonction. | La valeur de retour est définie en affectant une valeur à l'identificateur de la fonction. | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
Name := 5; | Name := 5; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | C'est généralement une mauvaise forme de programmation de faire usage de paramètres VAR dans les | + | C'est généralement une mauvaise forme de programmation de faire usage de paramètres VAR dans les fonctions ; les fonctions devraient retourner une seule valeur. Vous ne souhaitez certainement pas que la fonction <tt>sin</tt> change votre pi radians en 0 radian parce qu'ils sont équivalents ; vous voulez juste que la réponse soit 0. |
− | { | + | {{Tutorial page navigation/fr|Chapter 4/Parameters|Chapter 4/Scope}} |
− | |||
− | | | ||
− | |||
− |
Latest revision as of 16:19, 20 August 2022
│
български (bg) │
English (en) │
français (fr) │
日本語 (ja) │
中文(中国大陆) (zh_CN) │
Tutoriel de Pascal Objet : Sous-programmes / Fonctions
Les fonctions travaillent de la même façon que les procédures, mais en plus, elles retournent une valeur unique au programme principal à travers leur propre nom.
function Name (parameter_list) : return_type;
Les fonctions sont appelées dans le programme principal en les utilisant dans des expressions :
a := Name (5) + 3;
Si votre fonction n'a pas d'argument, soyez prudent de ne pas utiliser le nom de la fonction sur le membre droit de toute affectation dans la fonction. Ceci :
function Name : integer;
begin
Name := 2;
Name := Name + 1
end.
ne va pas fonctionner. Au lieu de retourner la valeur 3 attendue, cela déclenche une boucle récursive infinie. Name appellera Name, qui appellera Name, qui appellera Name, etc.
La valeur de retour est définie en affectant une valeur à l'identificateur de la fonction.
Name := 5;
C'est généralement une mauvaise forme de programmation de faire usage de paramètres VAR dans les fonctions ; les fonctions devraient retourner une seule valeur. Vous ne souhaitez certainement pas que la fonction sin change votre pi radians en 0 radian parce qu'ils sont équivalents ; vous voulez juste que la réponse soit 0.
← | Sommaire | → |