Basic Pascal Tutorial/Chapter 4/Recursion/fr: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: Basic Pascal Tutorial/Chapter 4/Recursion/fr
| Old | New | Line | |
|---|---|---|---|
| 1 | + | [[Basic Pascal Tutorial/fr|Tutoriel de Pascal Objet]] : Sous-programmes / **Récursion** | |
| 2 | + | ||
| 3 | + | 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. | |
| 4 | + | ||
| 5 | + | 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. | |
| 6 | + | ||
| 7 | + | La fonction de sommation, désignée par ∑ en mathématiques, est un exemple populaire de récursion : | |
| 8 | + | ||
| 9 | + | ``` pascal | |
| 10 | + | function Sommation (num : integer) : integer; | |
| 11 | + | begin | |
| 12 | + | if num = 1 then | |
| 13 | + | Sommation := 1 | |
| 14 | + | else | |
| 15 | + | Sommation := Sommation(num-1) + num | |
| 16 | + | end; | |
| 17 | + | ``` | |
| 18 | + | ||
| 19 | + | Supposez que vous appelez `Sommation` pour `3`. | |
| 20 | + | ||
| 21 | + | ``` pascal | |
| 22 | + | a := Sommation(3); | |
| 23 | + | ``` | |
| 24 | + | ||
| 25 | + | - `Sommation(3)` devient `Sommation(2) + 3`. | |
| 26 | + | - `Sommation(2)` devient `Sommation(1) + 2`. | |
| 27 | + | - A `1`, la récursion s'arrête ET devient `1`. | |
| 28 | + | - `Sommation(2)` devient alors `1 + 2 = 3`. | |
| 29 | + | - `Sommation(3)` devient alors `3 + 3 = 6`. | |
| 30 | + | - `a` prend alors la valeur `6`. | |
| 31 | + | ||
| 32 | + | 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. | |
| 33 | + | ||
| 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 `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. | |
| 35 | + | ||
| 36 | + | --- | |
| 37 | + | *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](/wiki-contact).* |
