Module: Sous-programmes : procédures et fonctions - 1


Problem

9 /12


Variables locales et globales

Theory Click to read/hide

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

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 : s'affiche à l'écran
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
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.

Problem

Ecrire une procédure avec un paramètre n qui affiche un sapin de Noël avec une couronne de hauteur n
Le programme principal doit contenir la saisie de la valeur de la variable n et l'appel de la procédure

Exemples
    o    ooo   ooooo  ooooooo ooooooooo
# Entrée Sortie
1 5