|
Le variabili sono
delle strutture in cui è possibile memorizzare dei dati. L'uso delle
variabili semplifica di molto l'accesso diretto alle locazioni di
memoria. La memoria RAM di un computer è un insieme molto grande di
bit, che possono assumere il valore di zero o uno (acceso o spento).
Un gruppo di 8 bit costituisce un byte; gruppi di due, tre, quattro,
otto byte costituiscono una parola, la cui lunghezza varia a seconda
dell'architettura hardware della macchina (si parla in questo caso di
macchine a 16, 24, 32 o 64 bit).
Per rappresentare in notazione binaria un numero intero compreso tra 0
e 255, sono necessari 8 bit (1 byte). Ogni carattere alfabetico e di
punteggiatura può essere codificato mediante un numero compreso tra 0
e 127, quindi per rappresentare un carattere alfanumerico nella
memoria di un computer è sufficiente un byte. Per memorizzare una
parola di 10 caratteri saranno necessari 10 byte.
Esistono diversi tipi di dato che possono essere memorizzati
all'interno di un calcolatore elettronico, in particolare di solito
distinguiamo i seguenti:
- numeri interi;
- numeri razionali, cioè i numeri ``con la virgola'' (floating point);
- caratteri alfanumerici;
- stringhe (sequenze di caratteri alfanumerici);
- puntatori.
I puntatori sono un
tipo di dato fondamentale in un linguaggio come il C. In pratica un
puntatore è una struttura dati che permette di memorizzare l'indirizzo
di memoria di un'altra variabile. In Perl non faremo uso di puntatori,
visto che non si accede mai direttamente alle locazioni di memoria della
macchina.
La maggior comodità nell'uso delle variabili sta nel non doversi
preoccupare (se non in casi particolari) della dimensione in bit del
dato che intendiamo trattare e nel poter attribuire un identificativo
mnemonico (nome della variabile) alle variabili stesse.
Così invece di dover lavorare a diretto contatto con le locazioni di
memoria e i loro indirizzi, per memorizzare un numero o una parola ci
basterà assegnarla ad una variabile: ``$a=13'', oppure
``$b="casa"'', ``$nome="Marco"'',
``$x=$y+$z-17'' e così via.
I linguaggi di programmazione tradizonali, come il Fortran, il Pascal o
il BASIC, richiedono che sia definita a priori il tipo di ogni
variabile: se la variabile ``a'' è di tipo numerico intero, non potrà
contenere null'altro che numeri interi; se la variabile ``b'' è una
variabile stringa, non potrà contenere altro che sequenze di caratteri
alfanumerici. Inoltre le operazioni consentite sulle variabili
dipenderanno dal tipo di variabili usate (ad esempio sarà possibile
effettuare il prodotto tra due numeri, ma non tra due stringhe).
In Perl (ma già in C è presente questo principio) i tipi di dato tendono
a confondersi; in ogni caso l'interprete del linguaggio si regola di
volta in volta in base al contesto. Ad esempio se imposteremo
``$a=3'', allora vorrà dire che la variabile $a è intera, mentre
impostando ``$a="gatto"'' comunicheremo automaticamente
all'interprete che la variabile $a in questo contesto è da considerarsi
una stringa. |