Basic Pascal Tutorial/Chapter 4/Recursion/fr
English · Français · Български · 中文(中国) · 日本語
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)devientSommation(2) + 3.Sommation(2)devientSommation(1) + 2.- A
1, la récursion s'arrête ET devient1. Sommation(2)devient alors1 + 2 = 3.Sommation(3)devient alors3 + 3 = 6.aprend alors la valeur6.
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.
From the Free Pascal wiki, page "Basic Pascal Tutorial/Chapter 4/Recursion/fr", as it stood on 2022-08-20 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
