déclarée. Une variable déclarée dans un sous­programme sous les mots­clés Procédure ou Fonction ne pourra dans 
ce  cas  qu’être  lisible  et  modifiable  uniquement  dans  ce  sous­programme.  Idem  pour  le  programme  principal  :  une 
variable déclarée sous le mot­clé Programme ne sera accessible que par celui­ci. 
Les variables accessibles uniquement par le programme ou sous­programme 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 celle­ci 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  sous­programme.  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 sous­programmes et du programme principal, avant ceux­ci, 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
Précédent

- 129/220

Suivant