Différence
entre fonction et procédure
- Une fonction renvoie une valeur,
elle joue le rôle d'une expression
(cf. qu'est ce qu'une expression? du premier chapitre du cours).
exemple 1:
/* soit la fonction ouiNon qui renvoie la réponse 'o'
ou 'n' donnée par l'utilisateur */
...
afficher ("Etes-vous marié"?);
rep1 = ouiNon();
afficher("Avez-vous des enfants?");
rep2 = ouiNon();
...
exemple 2:
/* soit la fonction nbPremier(nbre) qui renvoie TRUE si
nbre est premier FALSE sinon */
rep1 = nbPremier(10);
rep2 = nbPremier(11);
exemple 3:
/* soit la fonction exp(x,y) qui calcule et renvoie l'entier xy
*/
rep = nbPremier(exp(x,y)); /*
xy est il un nombre premier? */
- Une procédure ne renvoie
pas de valeur, elle joue le rôle d'une instruction.
exemple 1: Supposons la procédure effaceEcran()
qui efface l'écran et affiche le logo de l'IUT en haut à
gauche, elle n'a pas besoin de rendre une valeur.
afficher("Bonjour");
afficher("Comment ca va?");
effaceEcran();
...
exemple 2: Les ordres donnés à la tortue ne
renvoient
pas de valeur.
tourne(10;
avance(100);