GUIDA PASCAL - Variabili & Costanti

« Older   Newer »
  Share  
~Mr Storm~
view post Posted on 5/11/2007, 19:20




Cos'è una costante?

Spesso sento dire come definizione di costante "è una variabile con un valore che non viene mai modificato nel corso del programma"; sinceramente non mi piace perché è un controsenso, una variabile che non varia.
Possiamo invece definire costante un valore, accessibile mediante un identificatore (un nome, per intenderci), che non varia durante l'esecuzione del programma.

Come si definisce una costante?

E' semplicissimo, possiamo definire una costante utilizzando la parola chiave const (preferibilmente sotto la riga program) in questo modo:

CODICE
const
 nomevariabile=valore;


Possiamo anche definire più di una variabile, non ci sono limitazioni:

CODICE
const
 giorni=30;
 mesi=12;
 stringa='Ciao';
 carattere='c';


Perché è utile usare le costanti?

Suppongo che ora vi starete chiedendo: perché mai usare una costante quando posso utilizzare, in base alle mie necessità, un numero, senza tanti problemi?
La risposta è semplice e vi faccio un esempio: tra non molto introdurrò delle variabili strutturate chiamate vettori.
Un vettore, detto in modo semplice semplice, lo possiamo considerare una "scatola" divisa in tanti scomparti, ciascuno dei quali può contenere un valore (carattere, intero, etc.); il numero di scomparti dev'essere definito al momento della definizione del tipo vettore e, facciamo un esempio, sia 10.
Quindi, quando vorremo caricare il vettore, dovremo fare un ciclo che si ripete 10 volte per riempirlo e, se lo vogliamo stampare, un altro ciclo che viene ripetuto 10 volte per la stampa di ogni elemento.
Se, ad un certo punto ci servisse modificare la dimensione, come la mettiamo? Andiamo a modificare tutti i valori 10 con 20, ad esempio? E se poi dobbiamo cambiarli ancora, sostituendo al 20 un 50?
Ora capite che, se definiamo una costante (NUM) contenente il numero di elementi del vettore, la cosa si semplifica notevolmente; possiamo fare cicli per la lettura che vengono ripetuti NUM volte, e, in base alle nostre necessità, possiamo modificare il valore della costante senza dover toccare tutto il codice sorgente.
Ad ogni modo, se non capite immediatamente il significato di queste parole, non preoccupatevi, tra qualche "lezione" avrete le idee più chiare.

Cos'è una variabile?

La variabile è una componente indispensabile della programmazione: alle variabili possiamo assegnare il risultato di un'operazione, possiamo acquisire da tastiera un valore da inserire al suo interno e molte altre cose.
Anche la variabile, come la costante, dev'essere dichiarata; come? Lo vediamo subito.

Come si dichiara una variabile?

Dichiarare una variabile è molto semplice: dobbiamo utilizzare la parola chiave var del linguaggio Pascal in questo modo:

CODICE
var
 nomevariabile:tipovariabile;


Dove nomevariabile sarà l'identificatore che ci permetterà di manipolare la variabile stessa e tipovariabile è il tipo di informazione che la variabile conterrà (numero intero, decimale, carattere, stringa, etc.).
Vediamo quali sono i tipi predefiniti del linguaggio Pascal:

  • integer: è il tipo di variabile utilizzato più frequentemente; occupa 2 byte di memoria RAM per poter essere memorizzato, quindi 16 bit e permette di memorizzare 216=65536 numeri diversi, da -32768 a 32767 (ovviamente, non supporta i numeri con la virgola);

  • word: la differenza tra il tipo word e il tipo integer sta nel fatto che con il word non si possono rappresentare numeri negativi, quindi andiamo da 0 a 65535;

  • byte: una variabile di questo tipo occupa 1 byte (8 bit) di memoria, e quindi permette 28 numeri diversi, da 0 a 255;

  • short: funziona come il tipo byte, ma permette di utilizzare i numeri negativi; possiamo rappresentare, quindi, i numeri compresi tra -128 e 127;

  • longint: è il tipo intero più grande messo a disposizione dal linguaggio Pascal; occupa 4 byte di memoria RAM (32 bit) e può rappresentare 232 numeri diversi, da -2147483648 a 2147483647;

  • real: questo è il tipo che permette di gestire i numeri con la virgola (floating point): permette di gestire numeri piccolissimi e numeri enormi, da -2.9E-39 a 1.7E38;

  • boolean: variabile che può assumere solo due valori, vero (true) o falso (false);

  • char: può contenere un solo carattere;

  • string: permette di gestire una stringa di caratteri, di lunghezza massima pari a 255 caratteri;


Il linguaggio Pascal, comunque, permette di definire al programmatore molti altri tipi di variabili (record, vettori, puntatori, etc.), ma lo vedremo in futuro.
E' molto importante rispettare i tipi di variabili e/o tentare di assegnare a variabili di un certo tipo valori di un tipo diverso; in alcuni casi (nel codice sorgente ci sono istruzioni di assegnazione tra tipi diversi ed incompatibili, operazioni non concesse per quel tipo, come assegnare a un intero il valore di una radice quadrata) vengono segnalati dal compilatore come errori, e quindi il programma non viene compilato se non viene corretto, in altri casi (come l'input da tastiera di un carattere quando la variabile che dovrà contenere l'input è di tipo intero) il programma terminerà con un errore di esecuzione, chiamato errore di run-time.

Nella prossima lezione vedremo le operazioni di input e output.

Edited by ~Mr Storm~ - 6/11/2007, 14:47
 
Top
marta16
view post Posted on 10/1/2014, 16:55




devo dividere 2 numeri e essere certa ke il risultato sia un numero intero senza virgole cm faccio??
 
Top
2 replies since 5/11/2007, 19:20   3740 views
  Share