retourne x
FinFonc
Il existe une différence très importante entre une procédure et une fonction :
q La procédure est vue comme une instruction.
q La fonction est vue comme une valeur.
Tout comme une variable retourne une valeur, une fonction retourne aussi une valeur, ce qui veut dire qu’une
fonction peut être utilisée (appelée) partout où une variable pourrait l’être : dans une expression, dans un calcul, un
affichage, une affectation, etc. Dans un seul cas, la fonction ne peut pas être utilisée : une fonction fournit une valeur,
elle ne peut pas se voir affectée une valeur. Ceci est interdit :
equation←x ; /* INTERDIT */
mais ceci est autorisé :
x←equation()
x recevra alors la valeur retournée par la fonction equation() via l’instruction Retourne.
PROGRAMME EQ1
Var
result:réel
Début
result←equation()
Afficher result
Fin
Note : l’instruction Retourne ne retourne pas une variable, mais une valeur. Cette valeur peut être le contenu
d’une variable, mais aussi une autre fonction (auquel cas c’est le résultat de cette autre fonction qui sera
retourné) ou n’importe quelle expression pouvant être évaluée. La fonction equation() peut donc être écrite ainsi :
Fonction equation():réel
Var
a,b,c,x:réels
Début
Retourne a*x*x+b*x+c
FinFonc
Voici le même exemple en Java. Cette fois la méthode va retourner un entier, ce qui est précisée lors de sa
déclaration.
static double equation() {
double a,b,c,x ;
/* Il faudrait initialiser les variables ici */
x=a*x*x+b*x+c ;
return x ;
}
5. Variables locales et globales
a. Locales
L’exemple de la procédure RepeteCar() a soulevé un petit problème pas si anodin que ça. Il met en évidence
l’utilisation de deux variables de même nom, l’une dans le programme principal, l’autre dans le sousprogramme. La
variable i apparaît deux fois.
L’endroit où les variables sont déclarées est très important. Selon cet endroit, les variables ont une "portée"
différente. La portée d’une variable est sa visibilité au sein des différentes parties du programme.
Le cas général dit qu’une variable n’est visible et accessible par défaut que dans le bloc d’instructions où elle a été
- 5 -
© ENI Editions - All rigths reserved - Jonifar lina
128
FinFonc
Il existe une différence très importante entre une procédure et une fonction :
q La procédure est vue comme une instruction.
q La fonction est vue comme une valeur.
Tout comme une variable retourne une valeur, une fonction retourne aussi une valeur, ce qui veut dire qu’une
fonction peut être utilisée (appelée) partout où une variable pourrait l’être : dans une expression, dans un calcul, un
affichage, une affectation, etc. Dans un seul cas, la fonction ne peut pas être utilisée : une fonction fournit une valeur,
elle ne peut pas se voir affectée une valeur. Ceci est interdit :
equation←x ; /* INTERDIT */
mais ceci est autorisé :
x←equation()
x recevra alors la valeur retournée par la fonction equation() via l’instruction Retourne.
PROGRAMME EQ1
Var
result:réel
Début
result←equation()
Afficher result
Fin
Note : l’instruction Retourne ne retourne pas une variable, mais une valeur. Cette valeur peut être le contenu
d’une variable, mais aussi une autre fonction (auquel cas c’est le résultat de cette autre fonction qui sera
retourné) ou n’importe quelle expression pouvant être évaluée. La fonction equation() peut donc être écrite ainsi :
Fonction equation():réel
Var
a,b,c,x:réels
Début
Retourne a*x*x+b*x+c
FinFonc
Voici le même exemple en Java. Cette fois la méthode va retourner un entier, ce qui est précisée lors de sa
déclaration.
static double equation() {
double a,b,c,x ;
/* Il faudrait initialiser les variables ici */
x=a*x*x+b*x+c ;
return x ;
}
5. Variables locales et globales
a. Locales
L’exemple de la procédure RepeteCar() a soulevé un petit problème pas si anodin que ça. Il met en évidence
l’utilisation de deux variables de même nom, l’une dans le programme principal, l’autre dans le sousprogramme. La
variable i apparaît deux fois.
L’endroit où les variables sont déclarées est très important. Selon cet endroit, les variables ont une "portée"
différente. La portée d’une variable est sa visibilité au sein des différentes parties du programme.
Le cas général dit qu’une variable n’est visible et accessible par défaut que dans le bloc d’instructions où elle a été
- 5 -
© ENI Editions - All rigths reserved - Jonifar lina
128
