C). 
Avant de continuer, juste un petit mot sur Java. Java ne fait pas de différences entre les fonctions et les procédures 
telles que présentées ici. En Java, les procédures sont des fonctions qui ne retournent pas de valeurs, ou plutôt, vous 
l’avez compris, des méthodes qui ne retournent pas de valeurs. 
a. Les procédures 
Les procédures sont des sous­programmes constitués d’une suite d’instructions indépendantes. Une procédure ne 
retourne pas de résultat ou de valeur au programme qui l’a appelé, tout comme les valeurs passées en paramètre ne 
sont pas forcément modifiées de manière globale. Une procédure pourrait faire l’objet d’un programme à part. Son 
contenu peut cependant parfois influer sur le déroulement global du programme, s’il modifie un fichier, une base de 
données, etc. 
La  procédure  RepeteCar()  est  un  exemple  typique  :  le  bloc  de  données  répétitif  influe  sur  l’affichage,  mais  ne 
retourne rien en tant que tel. 
Il existe cependant quelques moyens indirects pour une procédure de retourner une valeur : 
q en passant celle­ci  par  référence,  selon  le  même  principe  que  ce  qui  a  été  expliqué  pour  les  tableaux  :  le 
sous­programme reçoit la référence de la variable, et peut la modifier vers celle contenant la nouvelle valeur. 
Ceci est d’ailleurs aussi possible avec les fonctions. 
q Plus simplement, l’algorithmique effectue souvent une distinction entre les valeurs en entrée de la procédure 
(celles  qu’on lui transmet) et les valeurs en sortie. Dans ce cas, autant utiliser les fonctions, notamment si 
une seule valeur doit être retournée. 
q En modifiant les contenus des variables globales, variables accessibles pour tous les programmes et les sousprogrammes tant en lecture qu’en écriture (cf. ce chapitre, Variables locales et globales). 
b. Les fonctions 
En  mathématique,  vous  avez  probablement  rencontré  la  notion  de  fonction.  Dans  le  cadre  de  la  résolution  d’une 
équation du second degré, l’équation s’écrit généralement ainsi : 
f(x)=ax²+bx+c
Le résultat de f(x) ou fonction de x est le résultat du contenu de la fonction, c’est­à­dire l’équation. La valeur de f(x) 
est  ce  résultat.  C’est  pareil  en  algorithmique  :  une  fonction  est  un  sous­programme  qui  retourne  une  valeur.  Un 
fonction se décrit ainsi : 
Fonction nom():type
Var
/* variables */
Début
/* bloc d’instructions */
Retourne valeur
FinFonc
q Une fonction se déclare avec le mot­clé Fonction, suivi de son nom et du type de valeur qu’elle retourne. Ce 
peut être n’importe quel type (entier, réel, chaîne…). 
q Une fonction peut contenir une zone de déclaration de variable et de types structurés. 
q Le bloc d’instructions est encadré entre Début et FinFonc. 
q La valeur de la fonction est retournée par l’instruction Retourne. La valeur retournée doit être du même type 
que celle attendue par la déclaration de la fonction. 
Fonction equation():réel
Var
a,b,c,x:réels
Début
x←a*x*x+b*x+c 
- 4 -
© ENI Editions - All rigths reserved - Jonifar lina
127
Précédent

- 127/220

Suivant