Partie 4 – Informatique
Récursivité
Dans le corps de la fonction ÔÙÙ×רØÖ précédente, l’introduction de
la variable locale xpn est artificiel, mais obligatoire pour une fonction
définie de façon itérative.
Une autre possibilité est de définir une fonction ÔÙÙ×ÖÖÖ de façon récursive, très proche de la définition mathématique du nombre x
n :
x
0
= 1
si n 1¸ x
n
= x
n−1
× x
valable pour tout n ∈ N et tout x ∈ R, avec la convention 0
0
= 1.
On écrit :
ÙÒÒØØÓÒ ÔÙÙ×ÖÖÖ´ÜÜÖÖÖÐ ÒÒÒÒØØØØÖµµÖÖÖÐ
Ò
ÒÒ¼ ØØØÒ ÔÙÙ×ÖÖÖ ½
Ð×× ÔÙÙ×ÖÖÖ ÔÙÙ×ÖÖÖ´Ò¹½µ¶Ü
ÒÒ
Quelques remarques
• On définit une fonction de la même de la même manière qu’on définit
une procédure ou un programme simple :
− partie déclarative :
∗ en-tête de la fonction, avec ses éventuels paramètres ;
∗ déclaration des éventuelles variables locales ;
− corps de la fonction.
• Réciproquement, un programme simple peut toujours être réécrit
pour obtenir une procédure ou une fonction suivant le cas (une fonction
si la sortie est une variable de type entier, réel, tableau ou booléen ; une
procédure si la sortie est plus complexe).
• Pour une fonction, on fait toujours passer les paramètres en valeur
(absence du mot-clé ÎÎÊ devant les paramètres) ;
• L’instruction ÛÖÖØØÐÒ est une commodité d’affichage : elle produit à
l’écran une ligne vide.
• Le langage PASCAL n’est pas sensible à la casse : il ne distingue pas
majuscule et minuscule. On peut utiliser cette propriété pour mettre en
valeur certaines instructions. Ici on a choisi de mettre en valeur le ÁÆ
ÆÆ du programme principal et le mot-clé ÎÎÊ devant les paramètres de
sortie d’une procédure.
244
Précédent

- 253/265

Suivant