Difference between revisions of "Basic Pascal Tutorial/Chapter 4/Functions/fr"

From Lazarus wiki
Jump to navigationJump to search
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}}
  
4C - Fonctions (auteur: Tao Yue, état: traduit)
+
[[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 toujours elles ''retournent une valeur unique'' au programme principal à travers leur ''propre nom''.
+
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 expressions:
+
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. Soit:
+
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>
c'est non-non. Au lieu de retourner la valeur 3 attendue, cela déclenche une boucle récursive infinie. Name appelera Name qui appelera Name, qui appelera Name, etc.
+
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 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.
+
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.
  
{|style=color-backgroud="white" cellspacing="20"
+
{{Tutorial page navigation/fr|Chapter 4/Parameters|Chapter 4/Scope}}
|[[Parameters/fr|précédent]] 
 
|[[Contents/fr|table des matières]]
 
|[[Scope/fr|suivant]]
 
|}
 

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