Module: (C++) Subroutine: procedure e funzioni - 1


Problem

9 /12


Variabili locali e globali

Theory Click to read/hide

Variabili locali e globali
Spesso è necessario utilizzare variabili aggiuntive che verranno utilizzate solo nella subroutine. Tali variabili sono chiamate local (o local) e possono essere manipolate solo all'interno della subroutine in cui sono create.
 
L'ambito della variabile locale è il blocco tra parentesi graffe all'interno del quale è dichiarato

Il programma principale in C++ è anche una subroutine, quindi tutte le variabili dichiarate all'interno di main() sono variabili locali.
Altre subroutine non "sanno" nulla delle variabili locali di altre subroutine.

Pertanto, è possibile limitare l'ambito (ambito) di una variabile solo alla subroutine in cui è realmente necessario. In programmazione, questa tecnica è chiamata incapsulamento  - nascondere una variabile dall'essere modificata dall'esterno.

Se è necessario dichiarare una variabile che sarebbe visibile in qualsiasi punto del programma (in qualsiasi subroutine), allora tali variabili vengono dichiarate al di fuori di tutte le subroutine (vedere il programma 3 dalla tabella sottostante).
Tali variabili sono chiamate global.

In C++, all'avvio del programma, tutte le variabili globali vengono automaticamente impostate a zero (le variabili booleane assumono il valore false).


Analizza tre programmi: viene visualizzato sullo schermo
1) In questo programma, la variabile i è locale. Una variabile locale è dichiarata all'interno di una subroutine 2) Qui, anche se c'è una variabile i nel programma principale (con valore 7), verrà creata una nuova variabile locale i con valore 5. 
Quando esegui questo programma, lo schermo visualizzerà il valore 75
3) Questo programma ha una variabile globale i. Il suo valore può essere modificato all'interno di una subroutine e all'interno del programma principale
La procedura funzionerà con la variabile globale i e le verrà assegnato un nuovo valore pari a 2. Il valore 2
prova del vuoto() {   int io = 5; cout << io; } prova del vuoto() {   int io = 5;   cout << io; } principale() { int io = 7;   cout << io;   test(); } #include <iostream> utilizzando lo spazio dei nomi std; int io; prova del vuoto() {   io = 2; } principale() { test(); cout << io; }

Problem

Scrivi una procedura con il parametro n che visualizzi un albero di Natale con una corona di altezza n.
Il programma principale deve contenere l'input del valore della variabile n e la chiamata della procedura.
 
 
Esempi
# Input Uscita
1 5
    o
   oooo
  ooooo
 ooooooooo
ooooooooo