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.