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.
Per tornare all'indice, premi alt piu' freccia sinistra.