programmazione
variabili Le variabili globali e locali svolgono entrambe un ruolo importante nella programmazione Pascal. Le variabili globali permettono di condividere informazioni tra più parti del programma, mentre le variabili locali aiutano a mantenere il codice ordinato e più facile da gestire.
         home page  
 

Le variabili globali e locali: differenze ed esempi

Pubblicato il: 24-6-2026

Ultima Modifica: 24-6-2026

Le variabili globali e locali: differenze ed esempi

Introduzione

Le variabili sono uno degli elementi fondamentali di qualsiasi linguaggio di programmazione. Esse permettono di memorizzare dati che possono essere utilizzati e modificati durante l'esecuzione di un programma.

In Pascal, così come in molti altri linguaggi, le variabili possono essere dichiarate in diversi punti del programma. A seconda della loro posizione, esse vengono classificate come variabili globali oppure variabili locali.

Comprendere la differenza tra questi due tipi di variabili è molto importante per scrivere programmi ordinati, efficienti e facili da mantenere.

🖼️ Schema generale

Programma
│
├── Variabili Globali
│
├── Procedura A
│   └── Variabili Locali
│
└── Procedura B
    └── Variabili Locali

Cosa sono le variabili globali?

Le variabili globali sono dichiarate all'esterno di procedure e funzioni, generalmente subito dopo la sezione delle dichiarazioni.

Esse possono essere utilizzate da qualsiasi parte del programma.

Esempio:

program VariabiliGlobali;

var
  Contatore: Integer;

begin
  Contatore := 10;
  WriteLn('Valore = ', Contatore);
end.

In questo caso la variabile:

Contatore

è visibile da tutto il programma.


💡 Suggerimento

+----------------------------------------+
| SUGGERIMENTO                           |
+----------------------------------------+
| Utilizza le variabili globali solo     |
| quando devono essere realmente         |
| condivise da più procedure o funzioni. |
+----------------------------------------+

Cosa sono le variabili locali?

Le variabili locali vengono dichiarate all'interno di una procedura o di una funzione.

Possono essere utilizzate solamente all'interno del blocco in cui sono state dichiarate.

Esempio:

program VariabiliLocali;

procedure MostraNumero;
var
  Numero: Integer;
begin
  Numero := 25;
  WriteLn(Numero);
end;

begin
  MostraNumero;
end.

La variabile:

Numero

esiste solamente all'interno della procedura MostraNumero.

Terminata l'esecuzione della procedura, la variabile non è più accessibile.

🖼️ Rappresentazione grafica

MostraNumero
│
└── Numero = 25

Fuori dalla procedura:

Numero NON esiste

Differenza principale

La differenza fondamentale riguarda il campo di visibilità (scope).

Tipo Dove viene dichiarata Dove può essere usata
Globale Nel programma principale Ovunque
Locale In procedura o funzione Solo nel blocco che la contiene

Esempio pratico

Vediamo un programma che utilizza entrambi i tipi di variabili.

program EsempioCompleto;

var
  Totale: Integer;

procedure Aggiungi;
var
  Valore: Integer;
begin
  Valore := 10;
  Totale := Totale + Valore;
end;

begin
  Totale := 0;

  Aggiungi;
  Aggiungi;

  WriteLn('Totale = ', Totale);
end.

Output:

Totale = 20

In questo esempio:

  • Totale è globale;

  • Valore è locale.

🖼️ Flusso del programma

Totale = 0
    │
    ▼
Aggiungi
    │
Valore = 10
    │
    ▼
Totale = 10
    │
    ▼
Aggiungi
    │
Valore = 10
    │
    ▼
Totale = 20

⚠️ Attenzione

+----------------------------------------+
| ATTENZIONE                             |
+----------------------------------------+
| Un uso eccessivo delle variabili       |
| globali può rendere il codice difficile|
| da comprendere e da modificare.        |
| Nei programmi grandi è preferibile     |
| utilizzare variabili locali quando     |
| possibile.                             |
+----------------------------------------+

Variabili con lo stesso nome

Una variabile locale può avere lo stesso nome di una variabile globale.

In questo caso la variabile locale "nasconde" quella globale.

Esempio:

program StessoNome;

var
  Numero: Integer;

procedure Test;
var
  Numero: Integer;
begin
  Numero := 50;
  WriteLn('Locale = ', Numero);
end;

begin
  Numero := 100;

  Test;

  WriteLn('Globale = ', Numero);
end.

Output:

Locale = 50
Globale = 100

La variabile locale e quella globale sono due variabili completamente differenti.


Vantaggi delle variabili locali

Le variabili locali offrono diversi vantaggi:

  • riducono il rischio di errori;

  • migliorano la leggibilità;

  • occupano memoria solo quando servono;

  • rendono il codice più modulare.

🖼️ Confronto

Variabili Globali
       │
       ├─ Facili da condividere
       └─ Più difficili da controllare

Variabili Locali
       │
       ├─ Più sicure
       └─ Più ordinate

🔍 Lo sapevi che?

+----------------------------------------+
| LO SAPEVI CHE?                         |
+----------------------------------------+
| Nei moderni linguaggi di programmazione|
| si cerca di limitare il più possibile  |
| l'uso delle variabili globali per      |
| aumentare l'affidabilità del software. |
+----------------------------------------+

Quando usare una variabile globale?

Le variabili globali sono utili quando:

  • più procedure devono accedere agli stessi dati;

  • si gestiscono impostazioni comuni;

  • si desidera mantenere informazioni condivise.

Ad esempio:

var
  NomeUtente: String;

potrebbe essere utilizzata da diverse procedure del programma.


Quando usare una variabile locale?

Le variabili locali sono la scelta migliore quando:

  • il dato serve soltanto in una procedura;

  • si vuole evitare modifiche accidentali;

  • si desidera mantenere il codice ordinato.

Nella maggior parte dei casi sono da preferire rispetto alle globali.


💡 Suggerimento

+----------------------------------------+
| SUGGERIMENTO                           |
+----------------------------------------+
| Una buona regola pratica consiste nel  |
| dichiarare una variabile come globale  |
| soltanto quando una variabile locale   |
| non è sufficiente.                     |
+----------------------------------------+

Conclusione

Le variabili globali e locali svolgono entrambe un ruolo importante nella programmazione Pascal. Le variabili globali permettono di condividere informazioni tra più parti del programma, mentre le variabili locali aiutano a mantenere il codice ordinato e più facile da gestire.

Nella pratica professionale si tende a preferire le variabili locali e a utilizzare quelle globali solo quando strettamente necessario. Imparare a scegliere correttamente il tipo di variabile da utilizzare è un passo fondamentale verso la realizzazione di programmi più robusti e professionali.

Questo articolo è già impostato nello stile "tutorial per principianti" con immagini ASCII e riquadri Suggerimento, Attenzione e Lo sapevi che, pronto da pubblicare sul tuo sito.