Fonctions
Déclaration
Les fonctions se déclarent avant Debut :
exemple.algo
Fonction NomFonction(param1 : Type1 ; param2, param3 : Type2) : TypeRetour // instructions Retourner expression FinFonction
- Les paramètres sont groupés par type, séparés par
;ou,. - Chaque fonction doit avoir une instruction
Retournerqui renvoie une valeur du bon type. - Les fonctions ne peuvent pas retourner de tableaux.
Appel
exemple.algo
Variable r : Entier Debut r <- MaFonction(arg1, arg2) Ecrire r Fin
Les fonctions peuvent aussi être appelées directement dans des expressions :
exemple.algo
Ecrire MaFonction(5)
Portée des variables
Chaque appel de fonction crée un scope local. Les variables locales (paramètres) masquent les variables globales du même nom. Le scope parent reste accessible en lecture.
Fonctions récursives
AlgoLab supporte la récursion :
exemple.algo
Fonction Fact(n : Entier) : Entier Si n == 0 Alors r <- 1 Sinon r <- n * Fact(n - 1) FinSi Retourner r FinFonction
Appels chaînés
Les fonctions peuvent s'appeler entre elles :
exemple.algo
Fonction Double(n : Entier) : Entier Retourner n * 2 FinFonction Fonction Quadruple(n : Entier) : Entier Retourner Double(Double(n)) FinFonction