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

From Lazarus wiki
Jump to navigationJump to search
(Created page with "{{Recursion}} 4E - Récursion (auteur: Tao Yue, état: traduit) ''Récursion'' est un sujet difficile à comrendre. Néanmoins, c'est très facile à appliquer une fois que ...")
 
m (Kai Burghardt moved page Recursion/fr to Basic Pascal Tutorial/Chapter 4/Recursion/fr: tidy up main name space: create subpage hierarchy for basic Pascal tutorial [cf. [[Special: PermaLink/149778#Clut...)
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{Recursion}}
 
{{Recursion}}
  
4E - Récursion (auteur: Tao Yue, état: traduit)
+
[[Basic Pascal Tutorial/fr|Tutoriel de Pascal Objet]] : Sous-programmes / '''Récursion'''
  
''Récursion'' est un sujet difficile à comrendre. Néanmoins, c'est très facile à appliquer une fois que vous l'aurez compris. La mission de programmation pour ce chapitre impliquera la récursion.
+
La ''récursion'' est un sujet difficile à comprendre. Néanmoins, c'est très facile à appliquer une fois que vous l'aurez compris. La mission de programmation pour ce chapitre impliquera la récursion.
  
 
La récursion signifie qu'il est permis à une fonction ou une procédure de s'appeler elle-même. Elle continue de s'appeler jusqu'à une certaine limite.
 
La récursion signifie qu'il est permis à une fonction ou une procédure de s'appeler elle-même. Elle continue de s'appeler jusqu'à une certaine limite.
  
La fonction de sommation,désignée par ∑ en mathématiques, est un exemple populaire de récursion:
+
La fonction de sommation, désignée par en mathématiques, est un exemple populaire de récursion :
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
function Sommation (num : integer) : integer;
 
function Sommation (num : integer) : integer;
 
begin
 
begin
Line 19: Line 19:
  
 
Supposez que vous appelez <tt>Sommation</tt> pour <tt>3</tt>.
 
Supposez que vous appelez <tt>Sommation</tt> pour <tt>3</tt>.
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
a := Sommation(3);
 
a := Sommation(3);
 
</syntaxhighlight>
 
</syntaxhighlight>
Line 34: Line 34:
 
Toutes les procédures/fonctions récursives doivent avoir une sorte de test qui arrête la récursion. Sous une condition, appelée le cas de base (condition d'arrêt), la récursion doit s'arrêter. Sous toutes les autres conditions, la récursion doit aller plus profond. Dans l'exemple du dessus, la condition d'arrêt était <tt>if num = 1</tt>. Si vous ne construisez pas de condition d'arrêt, la récursion soit n'aura pas lieu du tout ou deviendra infinie.
 
Toutes les procédures/fonctions récursives doivent avoir une sorte de test qui arrête la récursion. Sous une condition, appelée le cas de base (condition d'arrêt), la récursion doit s'arrêter. Sous toutes les autres conditions, la récursion doit aller plus profond. Dans l'exemple du dessus, la condition d'arrêt était <tt>if num = 1</tt>. Si vous ne construisez pas de condition d'arrêt, la récursion soit n'aura pas lieu du tout ou deviendra infinie.
  
{|style=color-backgroud="white" cellspacing="20"
+
{{Tutorial page navigation/fr|Scope|Forward Referencing}}
|[[Scope/fr|précédent]] 
 
|[[Contents/fr|table des matières]]
 
|[[Forward_Referencing/fr|suivant]]
 
|}
 
 
 
[[Category: Object Pascal Introduction]]
 

Revision as of 03:55, 3 February 2022

български (bg) English (en) français (fr) 日本語 (ja) 中文(中国大陆)‎ (zh_CN)

Tutoriel de Pascal Objet : Sous-programmes / Récursion

La récursion est un sujet difficile à comprendre. Néanmoins, c'est très facile à appliquer une fois que vous l'aurez compris. La mission de programmation pour ce chapitre impliquera la récursion.

La récursion signifie qu'il est permis à une fonction ou une procédure de s'appeler elle-même. Elle continue de s'appeler jusqu'à une certaine limite.

La fonction de sommation, désignée par ∑ en mathématiques, est un exemple populaire de récursion :

function Sommation (num : integer) : integer;
begin
  if num = 1 then
    Sommation := 1
  else
    Sommation := Sommation(num-1) + num
end;

Supposez que vous appelez Sommation pour 3.

a := Sommation(3);
  • Sommation(3) devient Sommation(2) + 3.
  • Sommation(2) devient Sommation(1) + 2.
  • A 1, la récursion s'arrête ET devient 1.
  • Sommation(2) devient alors 1 + 2 = 3.
  • Sommation(3) devient alors 3 + 3 = 6.
  • a prend alors la valeur 6.

La récursion travaille à reculons jusqu'à ce qu'un point donné soit atteint pour lequel une réponse est définie et travaille en avant avec la définition, résolvant les autres définitions qui dépendent de celle-ci.

Toutes les procédures/fonctions récursives doivent avoir une sorte de test qui arrête la récursion. Sous une condition, appelée le cas de base (condition d'arrêt), la récursion doit s'arrêter. Sous toutes les autres conditions, la récursion doit aller plus profond. Dans l'exemple du dessus, la condition d'arrêt était if num = 1. Si vous ne construisez pas de condition d'arrêt, la récursion soit n'aura pas lieu du tout ou deviendra infinie.

Sommaire