Bonjours à tous ! Aujourd'hui nous allons parler des fonctions.

J'avais déjà introduit le terme fonction dans cet article, un petit rappel:

Qu'est-ce qu'une fonction ?

Une fonction est un bloc de pseudo-code. Elle est souvent assimilée à une tâche bien distincte du reste du programme et renvoie généralement une valeur. Une fonction prend en général une ou plusieurs variables, appelées paramètre.

Créer une fonction sur LARP

Pour créer une fonction, ous allez devoir créer un module. Après avoir lancé le logiciel LARP puis ouvert un nouveau projet pseudo-code, créer un nouveau module : sur la gauche du logiciel dans le panneau "Navigateur", clique droit, nouveau module. Nommer le "MOYENNE".

Je vous propose de voir un exemple tout de suite en reprenant le principe du calcul de la moyenne :

Pseudo-code du module principal:

DÉBUT  notes <- [20, 15]  ECRIRE MOYENNE(notes)FIN

Pseudo-code du module MOYENNE:

ENTRER tab  moy <- 0  POUR compteur <- 1 JUSQU'À COMPTER(tab) FAIRE    moy <- moy + tab[compteur]  FINPOUR  moy <- moy / COMPTER(tab)RETOURNER moy
  • L'exécution commence dans le module principal, on demande d'écrire le résultat de la fonction MOYENNE qui prend en paramètre un tableau d'entiers.
  • Nous arrivons au module MOYENNE : le mot-clé ENTRER introduit le début de la fonction ainsi que les paramètres fournis en entré.
  • Nous calculons la moyenne à l'aide d'une boucle, comme nous l'avons vu il y a quelques jours.
  • On retourne la moyenne et on clôture la fonction par la même occasion à l'aide du mot-clé RETOURNER.
  • On revient sur le module principal, qui écrit donc le résultat de la fonction MOYENNE.

Je vous conseille de faire une exécution pas à pas pour vraiment bien comprendre tout ce qu'il se passe.

Les variables contenues dans les fonctions ne sont pas accessibles depuis bloc d'exécution principale. La portée ("scope") n'est pas la même ;

Excercice

Faites une fonction qui calculera la factorielle d'un nombre entier positif.

Exemple :

  • factorielle(0) = 1 ;
  • factorielle(4) = 4*3*2*1 = 24.

A votre clavier !

Pseudo-code du module principal:

DÉBUT  ECRIRE FACTORIELLE(4)FIN

Pseudo-code du module FACTORIELLE

ENTRER n  SI (n > 1) ALORS    POUR compteur = 1 JUSQU'À (n - 1) FAIRE      n <- n * compteur    FINPOUR  SINON    n <- 1  FINSIRETOURNER n

Parfait ! Ce dernier exemple servira de tremplin pour le sujet de demain, les fonctions récursives !

À demain !