Lezione di programmazione numero 5.

Di Giuseppe Di Grande.

L'interprete nella gran parte dei casi necessita di memorizzare e
successivamente utilizzare dati ricavati dalle molteplici operazioni che
compie. Questa necessit  soddisfatta da aree di memoria che vengono usate
come contenitori di dati. Queste aree sono chiamate "Variabili".

Non esistono aree prestabilite, ma bisogna dichiarare le variabili
all'interno dello script che si scrive. Solitamente la dichiarazione di
variabili viene fatta precedere alle istruzioni. Ci sono casi in cui certi
interpreti sanno utilizzare variabili implicite non espressamente
dichiarate. E' il caso dei linguaggi interpretati di altissimo livello come
ad esempio il Visual Basic Scripting Language. In ogni caso, per una
maggiore chiarezza del codice, si consiglia sempre la dichiarazione
esplicita. Per l'etichettatura di variabili, come l'assegnazione di un nome,
esiste un metodo che si basa sul tipo di variabile dichiarata, adottato per
facilitare la lettura e l'interpretazione da parte del programmatore.

Le variabili non sono tutte dello stesso tipo. Pensiamo alla differenza che
esiste fra numeri e lettere e subito intuiamo che questi contenitori devono
avere obbligatoriamente caratteristiche diverse. Servirebbe ora spiegare
cosa  un bit, un byte, un word, un longword, ma, per non distrarci dal
concetto di variabile, lo faremo in una delle prossime lezioni.

Esistono quindi tipi di variabili diverse. Il tipo di variabile va
dichiarato vicino alla sua etichetta. Se ad esempio abbiamo due tipi di
variabile: "numero" e "stringa". Possiamo scrivere:

Soldi: Numero;

Nome: Stringa;

Noi decidiamo l'etichetta di una variabile. Possiamo scrivere tutto quello
che crediamo pi giusto per facilitarci una successiva lettura del codice. I
caratteri utilizzabili per l'etichetta variano da linguaggio a linguaggio.

Comunque in tutti i linguaggi vengono accettate lettere dell'alfabeto, o un
misto di lettere e numeri. Per ovvi motivi non  possibile usare solo
numeri, in quanto un numero identifica gi un valore numerico e quindi non
pu fare anche da identificatore di variabile.

Come abbiamo accennato, fra i programmatori esiste un metodo per etichettare
una variabile. Consiste nel far precedere all'etichetta vera e propria un
simbolo che ne fa capire subito il tipo. Potrebbe nascere una domanda: Non
si conosce gi il tipo di variabile dalla sua dichiarazione? Si, certo, ma
la dichiarazione di una variabile si fa una sola volta in apposite sezioni
del codice, e noi utilizziamo tale variabile in diversi punti in cui non
abbiamo la visione del tipo, a meno di non ricordarlo a memoria.

Le precedenti dichiarazioni potrebbero essere fatte cos:

nuSoldi: Numero;

stNome: Stringa;

Una variabile quindi  caratterizzata da tre fondamentali propriet:

. L'Etichetta;

. Il Tipo;

. Il Valore.

Possiamo associare una sola volta il tipo alla variabile, e questo si fa
nella sua dichiarazione. L'interprete riserver l'area di memoria necessaria
affinch tale area possa contenere tutti i dati del tipo dichiarato.

L'etichetta della variabile sar in futuro l'identificativo che indurr
l'interprete a usare quella determinata area di memoria.

Alla variabile si pu assegnare un valore da qualsiasi punto dello script.

Ovviamente l'assegnazione verr fatta in base alle esigenze dell'algoritmo
che il nostro codice deve seguire.

Abbiamo gi visto che ogni variabile pu contenere un solo tipo di dato. Ci
sono variabili che accettano valori stringa, altre che accettano valori
numerici. Nei linguaggi pi evoluti esistono vari tipi numerici, vari tipi
di stringa, variabili puntatore, insiemi di variabili, ecc. Esistono  anche
variabili di tipo variabile, cio che accettano qualsiasi tipo di dato. In
ogni caso bisogna far attenzione all'uso di queste variabili, perch, prima
dell'uso, necessitano di controlli, a meno che il programmatore non sia
assolutamente sicuro del tipo di dato contenuto al loro interno. Infatti se
si cerca di sommare un numero ad una stringa, entrambi contenuti in delle
variabili variant, si generer un errore. Per ora tralasciamo le variabili
variant, elementi della programmazione che possono ingenerare confusione in
chi si avvicina per la prima volta alla programmazione di uno script.

Per concludere questa lezione dobbiamo distinguere fra variabili "globali" e
"locali".

Una variabile "globale" va dichiarata nel codice principale del programma e
pu essere letta o scritta da qualsiasi script.

Una variabile "locale" viene dichiarata all'interno dello script e pu
essere utilizzata solo al suo interno.

Per completezza, fra questi due tipi di dichiarazione, oltre alle differenze
di utilizzo, ci sono anche differenze di uso della memoria. Le variabili
globali usano la memoria del segmento dati che ogni sistema operativo alloca
per ogni programma in esecuzione. Per le variabili locali invece viene
utilizzata la memoria dello stack, allocata all'entrata nello script e
disallocata all'uscita.

Giuseppe Di Grande.

Copyright (C) 2005 by Giuseppe Di Grande - ALL RIGHTS RESERVED.

