Imparare a programmare #5: le variabili

« Older   Newer »
  Share  
¬Tensa Zangetsu
view post Posted on 24/4/2012, 15:35




Dopo aver dato una panoramica generica, entriamo nelle basi di programmazione vere e proprie. ;)

Che cosa sono le variabili?
Possiamo considerare una variabile come una scatola in cui possiamo inserire il contenuto che vogliamo.
Le variabili hanno un nome, anche detto identificatore (l’etichetta sulla scatola) e un valore (il contenuto).

Ma perchè utilizzare le variabili?
Moltissimi studenti alle prime armi con l’informatica scrivono il bel programmino per trovare l’area del rettangolo che esegue la moltiplicazione tra 2 e 3 e la stampa a schermo.
In questo caso possiamo utilizzare questo programma in un solo caso: se dobbiamo calcolare l’area di un rettangolo di base 2 e altezza 3 o viceversa.
Se invece scrivessimo un programma che moltiplica due variabili, potremmo ottenere l’area di qualsiasi rettangolo.
Ma se le variabili sono scatole vuote cosa moltiplichiamo?
Prima di eseguire la moltiplicazione chiediamo all’utente di darci i due numeri da moltiplicare salvandoli nelle variabili e solo dopo moltiplicheremo le due variabili.
Le variabili ci permettono quindi l’astrazione dal valore contenuto cioè ci permettono di considerare un nome invece di un valore.

Perchè si chiamano variabili?
Le variabili si chiamano variabili perchè possono variare.
Infatti, durante un programma il valore di una variabile può essere cambiato tramite un’operazione detta assegnazione.
L’assegnazione non è altro che l’inserimento di un valore nella nostra scatola.
La prima assegnazione (quando la scatola è vuota) viene anche chiamata inizializzazione.
Molti linguaggi di programmazione obbligano di inizializzare le variabili, altrimenti non sarà possibile utilizzarle.

Le costanti
Le costanti sono variabili il cui valore non può essere modificato. Una volta inizializzate il valore rimarrà quello per tutta l’esecuzione del programma.

Tipi di dati
Come ci sono scatole di diverse forme, esistono anche variabili di diverse forme in cui possiamo inserire solo un contenuto con una forma identica.
Se proviamo ad inserire contenuto che non ci và, o perchè è troppo grosso o perchè ha una forma diversa, come non riusciremmo ad inserirlo in una scatola, non riusciremmo ad inserirlo nemmeno in una variabile.
Vediamo i principali contenuti che possiamo inserire:
- Numeri interi
Quelli appartenenti all’insieme Z. Quindi, per intenderci, tutti i numeri naturali positivi e negativi (…, -3, -2, -1, 0, +1, +2, +3, …)

- Numeri con la virgola o reali
Tutti i numeri appartenenti all’insieme R. In pratica, tutti i numeri positivi e negativi con la virgola.

- Booleani
Può assumere due valori: TRUE o FALSE, ovvero VERO o FALSO. Non tutti i linguaggi dispongono di questi valori, che vengono sostituiti da 0 (FALSE) e 1 (TRUE).

- Caratteri e stringhe
Il carattere è un singolo carattere: a, b, 1, 2, ecc. Qualunque carattere.
La stringa invece di solito non viene considerato come un tipo di dato, bensì come un insieme di caratteri (dove sta la differenza dite voi?, ve lo spiegherò nelle prossime lezioni, continuate a seguirci!). Comunque sarebbe una frase.
Se dichiariamo (altro termine) una variabile di tipo booleano e proviamo a metterci dentro un numero, riceveremo un errore.

Efficienza
Ma perchè tutte queste complicazioni? Non esiste una scatola di gomma?
Torniamo al nostro esempio: avendo tutte scatole di una forma conosciuta possiamo riporle in uno scaffale in modo molto ordinato, risparmiando spazio (memoria RAM). Mettiamo di avere delle scatole di gomma estendibili. Possiamo metterci dentro qualsiasi cosa, ma poi non possiamo ordinarle bene e quindi sprechiamo spazio.
La maggior parte dei linguaggi di programmazione ha uno stretto controllo sui tipi (cioè le scatole dure) mentre alcuni (come il PHP) ha uno scarso controllo sui tipi.
Oltre all’efficienza il controllo sui tipi permette una maggiore sicurezza evitando di incorrere in stupidi errori, il tutto a discapito della semplicità.

Lezione precedente Lezione successiva




Fonte
 
Top
0 replies since 24/4/2012, 15:35   23 views
  Share