Il est souvent nécessaire d'utiliser des variables supplémentaires qui ne seront utilisées que dans le sous-programme. Ces variables sont appelées locales (ou locales) et ne peuvent être manipulées qu'au sein de la sous-routine dans laquelle elles sont créées.
La portée de la variable locale est la fonction ou la procédure dans laquelle elle est déclarée em >
Ainsi, il est possible de limiter la portée (portée) d'une variable uniquement au sous-programme où elle est vraiment nécessaire. En programmation, cette technique est appelée
encapsulation - empêcher une variable d'être modifiée de l'extérieur.
S'il est nécessaire de déclarer une variable qui serait visible n'importe où dans le programme (dans n'importe quel sous-programme), alors ces variables sont déclarées en dehors de tous les sous-programmes (voir le programme 3 du tableau ci-dessous)
Ces variables sont appelées
globales.
Analysez trois programmes :
1) Dans ce programme, la variable i est locale. Une variable locale est déclarée dans une sous-routine |
2) Ici, même s'il y a une variable i dans le programme principal (avec la valeur 7), une nouvelle variable locale i avec la valeur 5 sera créée.
Lorsque vous exécutez ce programme, l'écran affichera la valeur 75 |
3) Ce programme a une variable globale i. Sa valeur peut être changée à l'intérieur d'un sous-programme, et à l'intérieur du programme principal
La procédure fonctionnera avec la variable globale i et lui attribuera une nouvelle valeur égale à 2. La valeur 2 | s'affiche à l'écran
test de procédure();
var i : entier ;
commencer
je := 5;
écrireln(i);
fin; |
var i : entier ;
procédure test();
var i : entier ;
commencer
je := 5;
écrireln(i);
fin ;
commencer
je := 7;
écrire(i);
test();
fin. |
var i : entier ;
procédure test();
commencer
je := 2;
fin ;
commencer
test();
écrireln(i);
fin. |