VARIABILI E COSTANTI - Variabili e costanti - 1
PROBLEMA: Calcolo dell area di un triangolo di base b e altezza h. area = b ------------ h 2 ESEMPIO: b = 2,4 h = 1,5 area = 2,4 -------------------- 1,5 2 b = 3,5 h = 24 area = 3,5 ------------------- 24 2 2 uguale per tutti i triangoli b, h, area variano al variare del triangolo - Variabili e costanti - 2
ALGORITMO FLOWCHART PASCAL - LIKE Inizio b, h begin area read b,h area ( b*h) 2 area area :=( b*h) 2 print area fine end area - Variabili e costanti - 3
L algoritmo specifica un procedimento generale per il calcolo dell area di un qualsiasi triangolo 2 è un valore costante i valori della base b e dell altezza h non sono specificati; al loro posto si utilizzano nomi che denotano un oggetto variabile (analogamente per area) 2 = COSTANTE b, h, area = VARIABILI - Variabili e costanti - 4
COSTANTI Nell algoritmo precedente 2 è una costante. In un calcolatore, una costante identifica la voce di memoria in cui essa è memorizzata, mediante l indicazione esplicita del suo contenuto. - Variabili e costanti - 5
CONVENZIONI SULLE COSTANTI In un algoritmo una costante denota esplicitamente un dato di un certo tipo COSTANTI ALFANUMERICHE una sequenza di caratteri alfanumerici racchiusa tra apici Napoli telefono 12345? COSTANTI LOGICHE.true. (vero).false. (falso) - Variabili e costanti - 6
COSTANTI INTERE una sequenza di cifre precedute eventualmente dal segno 1234 +27-99012 COSTANTI REALI una sequenza di cifre preceduta eventualmente dal segno e contenente necessariamente il punto 4.25 6. +7.1-2349.333 oppure notazione esponenziale (floating-point) 95.6e4-0.13e2 4.e-3 - Variabili e costanti - 7
VARIABILI una variabile è un nome a cui si associa un valore appartenente ad un insieme prefissato. In un calcolatore una variabile è il nome simbolico dell indirizzo di una voce di memoria Esempio: nome voce di memoria indirizzo b 0011 - Variabili e costanti - 8
Nell algoritmo precedente le variabili b, h, area indicano un generico numero reale Il tipo di una variabile è l insieme dei valori che essa può assumere (es. numeri reali, numeri interi,...) b, h, area = variabili di tipo reale - Variabili e costanti - 9
DICHIARAZIONE DI UNA VARIABILE La dichiarazione di una variabile è la specifica del suo tipo (reale, intero, alfanumerico, logico,...) Esempio: var: R : real (R: variabile di tipo reale) var: I : integer (I: variabile di tipo intero) var:n : character (N: variabile di tipo alfanumerico) var: L: logical (L : variabile di tipo logico) - Variabili e costanti - 10
ESEMPIO: V 1 1 0 1 0 0 0 0 var:v : integer V =-80 var: V: character rappr. binaria del numero intero - 48 (primo bit= segno) V = P rappresentazione del dato alfanumerico P (codice ASCII) var:v : real V =-0.625 x 10 0 rappr. f.p. norm. del numero reale 0.625 (bit 1 = segno mant., bit 2-5 = cifre mant., bit 6 = segno espon., bit 7-8 = cifre espon.) La dichiarazione di una variabile consente di interpretare il contenuto della corrispondente voce di memoria in base al tipo della variabile - Variabili e costanti - 11
DEFINIZIONE DI UNA VARIABILE La definizione di una variabile è l assegnazione di un valore del tipo dichiarato Esempio: begin area var: b, h, area : real read b, h area := b*h/2.... end area - Variabili e costanti - 12
L attribuzione di un valore ad una variabile dichiarata di un certo tipo può essere fatta mediante le operazioni di: assegnazione area := b*h/2. lettura read b, h - Variabili e costanti - 13
ISTRUZIONE DI ASSEGNAZIONE Esempio: begin area var:, b, area: real read b,h area := b*h/2. print area end In generale A := espressione A nome di una variabile dichiarata di un certo tipo espressione è una combinazione di variabili e costanti dello stesso tipo, mediante operatori appropriati. - Variabili e costanti - 14
In una istruzione di assegnazione prima si valuta l espressione al secondo membro e poi si assegna il valore alla variabile al primo membro. La valutazione dell espressione consiste prima nella sostituzione di ciascuna variabile col proprio valore e poi nella esecuzione delle operazioni specificate. Il valore dell espressione è dello stesso tipo delle variabili e costanti coinvolte. - Variabili e costanti - 15
Esempio: begin area var: b, h, area: real read b, h area := b*h print area end area area := area/2. L ultima assegnazione ha senso perché si valuta prima il secondo membro, e poi si assegna il risultato alla variabile area. L ultima assegnazione fa perdere il valore precedente della variabile area (l operazione di assegnazione è distruttiva) - Variabili e costanti - 16
Una variabile è: indeterminata se non è dichiarata indefinita se non le è assegnato alcun valore - Variabili e costanti - 17
Esempio: begin perimetro_triangolo var: lato1,lato2,lato3,somma: real read lato1 lato2 := 5. somma := lato1+lato2+lato3 end perimetro_triangolo ERRORE!!!! la variabile lato3 non è stata definita la variabile somma è indefinita Tutte le variabili devono essere definite prima di essere utilizzate - Variabili e costanti - 18
Esempio: begin area_rettangolo var: area: logical var: base,altezza: real altezza := 2.5 base := 5.1 area := base*altezza end area_rettangolo ERRORE!!!!! Il valore dell espressione deve essere dello stesso tipo di quello della variabile a cui è assegnato - Variabili e costanti - 19
L assegnazione di un valore ad una variabile è ERRATA se: l espressione non può essere valutata perché vi compaiono variabili indefinite il valore dell espressione è di tipo diverso da quello della variabile a cui è assegnato - Variabili e costanti - 20
In Computer Science Il termine variabile indica un oggetto il cui valore, se non viene effettuata alcuna operazione su tale oggetto,rimane costante nel tempo. In Matematica una variabile non rappresenta uno specifico valore costante nel tempo ma il generico elemento di un certo insieme (ES.: x R, x 2 0 x indica un generico numero reale.) - Variabili e costanti - 21
ISTRUZIONE DI LETTURA Esempio: I begin area var: b, h, area: real read b, h area := b*h print area end area area := area/2. I valori da associare a b e h vengono forniti al momento dell esecuzione dell istruzione di lettura - Variabili e costanti - 22
Esempio: begin area... read b, h... end area Se i dati sono 2. 3. dopo l esecuzione dell istruzione di lettura: b assume il valore 2. h assume il valore 3. - Variabili e costanti - 23
ISTRUZIONE DI SCRITTURA Esempio: begin area var: b, h, area: real read b, h area := b*h print area end area area := area/2. Il valore della variabile area viene comunicato all esterno dall esecutore dell algoritmo - Variabili e costanti - 24