Les procédures et fonctions
2 min de lecture
Les paramètres
Section intitulée « Les paramètres »Locaux et globaux
Section intitulée « Locaux et globaux »Déclaration des routines
Section intitulée « Déclaration des routines »Les procédures
Section intitulée « Les procédures »Une procédure est une routine (bloc de code) qui exécute un traitement puis rend la main. Elle permet d’isoler une partie de l’algorithme global et de l’appeler plusieurs fois pour garder un code structuré et modulaire.
PROCÉDURE procedure(<liste des paramètres>) [<déclarations locales>]DÉBUT <instructions>FINToutes les variables déclarées localement dans la procédure disparaissent à la fin de son exécution.
Les fonctions
Section intitulée « Les fonctions »Une fonction est un sous-algorithme qui effectue un traitement et retourne une valeur.
FONCTION fonction(<liste des paramètres>) : type_retourné [<déclarations locales>]DÉBUT <instructions> RETOURNER <résultat>FINExemple — calcul d’un carré :
FONCTION carré(n : entier) : entierDÉBUT RETOURNER n * nFIN
{Appel}résultat ← carré(5)afficher(résultat)→ 25Portée des identifiants
Section intitulée « Portée des identifiants »La portée d’un identifiant est la partie de l’algorithme dans laquelle il est reconnu conformément à sa déclaration.
- Un identifiant est visible dans l’algorithme où il a été déclaré et dans tout sous-algorithme appelé depuis celui-ci.
- Il n’est jamais visible à un niveau plus haut que celui de sa déclaration.
ALGORITHME principal VARIABLE x : entier ← visible dans principal et dans sousRoutine
PROCÉDURE sousRoutine() VARIABLE y : entier ← visible uniquement dans sousRoutine DÉBUT y ← x + 1 ← OK : x est accessible FIN
DÉBUT x ← 10 sousRoutine()FINLa récursivité
Section intitulée « La récursivité »En pseudo-code, une fonction récursive calculant le n-ième terme d’une suite arithmétique :
FONCTION terme(n : entier, u0 : réel, r : réel) : réelDÉBUT SI n == 0 ALORS RETOURNER u0 SINON RETOURNER terme(n - 1, u0, r) + r FIN_SIFINExemple classique — factorielle :
FONCTION factorielle(n : entier) : entierDÉBUT SI n <= 1 ALORS RETOURNER 1 ← cas de base SINON RETOURNER n * factorielle(n - 1) ← appel récursif FIN_SIFIN