déclarée. Une variable déclarée dans un sousprogramme sous les motsclés Procédure ou Fonction ne pourra dans
ce cas qu’être lisible et modifiable uniquement dans ce sousprogramme. Idem pour le programme principal : une
variable déclarée sous le motclé Programme ne sera accessible que par celuici.
Les variables accessibles uniquement par le programme ou sousprogramme dans lesquels elles sont déclarées, sont
appelées des variables locales. Toutes les variables que vous avez rencontrées jusqu’à présent sont des variables
locales.
Les variables locales de même nom n’ont aucun rapport entre elles. Elles sont totalement indépendantes les unes
des autres et aucune interaction entre elles n’est possible. Les variables locales peuvent donc parfaitement porter un
même nom. La variable i de RepeteCar() n’est pas du tout la même que la variable i du programme Lignes. Il n’y a
aucun risque d’accéder à la valeur ou de modifier celleci par accident de l’un vers l’autre programme. Du côté de la
mémoire, le contenu de ces deux variables est cloisonné et distinct, à des adresses différentes.
En Java, une variable déclarée dans le programme principal ou dans une méthode est locale à ce bloc
d’instructions, c’estàdire non visible depuis les autres méthodes.
b. Globales
Il serait pourtant très pratique de pouvoir accéder à une variable depuis n’importe quel endroit du programme, qu’il
soit principal ou un sousprogramme. Ce mécanisme permettrait d’utiliser son contenu et d’en modifier la valeur
partout dans le programme. La portée d’une telle variable s’étendrait à tout le code. Ce type de variable s’appelle
une variable globale, et elle existe tant en algorithmique que dans la plupart des langages.
Une variable globale est déclarée en dehors des sousprogrammes et du programme principal, avant ceuxci, c’estàdire en premier dans l’algorithme. Étant globale, elle est accessible de partout, tant en accès (lecture du contenu)
qu’en modification (affectation d’une nouvelle valeur). Les variables globales sont déclarées de cette manière :
Var globales
nbcar:entier
c:caractère
Procédure RepeteCar()
VAR
i:entier
Début
Pour i de 1 à nbcar Faire
Afficher c
FinPour
FinProc
PROGRAMME LIGNES
VAR
i:entier
DEBUT
c←"*"
Pour nbcar de 1 à 10 Faire
RepeteCar()
FinPour
FIN
Ce programme une fois exécuté devrait vous afficher quelque chose de ce genre :
*
**
***
****
*****
******
*******
********
*********
**********
Remarquez que les deux variables globales sont modifiées dans le programme principal, tandis que le sousprogramme y accède.
La variable globale amène trois remarques :
- 6 -
© ENI Editions - All rigths reserved - Jonifar lina
129
ce cas qu’être lisible et modifiable uniquement dans ce sousprogramme. Idem pour le programme principal : une
variable déclarée sous le motclé Programme ne sera accessible que par celuici.
Les variables accessibles uniquement par le programme ou sousprogramme dans lesquels elles sont déclarées, sont
appelées des variables locales. Toutes les variables que vous avez rencontrées jusqu’à présent sont des variables
locales.
Les variables locales de même nom n’ont aucun rapport entre elles. Elles sont totalement indépendantes les unes
des autres et aucune interaction entre elles n’est possible. Les variables locales peuvent donc parfaitement porter un
même nom. La variable i de RepeteCar() n’est pas du tout la même que la variable i du programme Lignes. Il n’y a
aucun risque d’accéder à la valeur ou de modifier celleci par accident de l’un vers l’autre programme. Du côté de la
mémoire, le contenu de ces deux variables est cloisonné et distinct, à des adresses différentes.
En Java, une variable déclarée dans le programme principal ou dans une méthode est locale à ce bloc
d’instructions, c’estàdire non visible depuis les autres méthodes.
b. Globales
Il serait pourtant très pratique de pouvoir accéder à une variable depuis n’importe quel endroit du programme, qu’il
soit principal ou un sousprogramme. Ce mécanisme permettrait d’utiliser son contenu et d’en modifier la valeur
partout dans le programme. La portée d’une telle variable s’étendrait à tout le code. Ce type de variable s’appelle
une variable globale, et elle existe tant en algorithmique que dans la plupart des langages.
Une variable globale est déclarée en dehors des sousprogrammes et du programme principal, avant ceuxci, c’estàdire en premier dans l’algorithme. Étant globale, elle est accessible de partout, tant en accès (lecture du contenu)
qu’en modification (affectation d’une nouvelle valeur). Les variables globales sont déclarées de cette manière :
Var globales
nbcar:entier
c:caractère
Procédure RepeteCar()
VAR
i:entier
Début
Pour i de 1 à nbcar Faire
Afficher c
FinPour
FinProc
PROGRAMME LIGNES
VAR
i:entier
DEBUT
c←"*"
Pour nbcar de 1 à 10 Faire
RepeteCar()
FinPour
FIN
Ce programme une fois exécuté devrait vous afficher quelque chose de ce genre :
*
**
***
****
*****
******
*******
********
*********
**********
Remarquez que les deux variables globales sont modifiées dans le programme principal, tandis que le sousprogramme y accède.
La variable globale amène trois remarques :
- 6 -
© ENI Editions - All rigths reserved - Jonifar lina
129
