La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione VIII Il modello di memoria Programmazione di Calcolatori: Il modello di memoria 1.

Presentazioni simili


Presentazione sul tema: "G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione VIII Il modello di memoria Programmazione di Calcolatori: Il modello di memoria 1."— Transcript della presentazione:

1

2 G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione VIII Il modello di memoria Programmazione di Calcolatori: Il modello di memoria 1

3 G. Amodeo, C. Gaibisso Il modello di memoria Programmazione di Calcolatori: Il modello di memoria2 ogni locazione memorizza una sequenza di 8 bit ogni locazione è univocamente identificata da un valore numerico detto indirizzo ad ogni locazione è associato un flag che indica se la locazione è correntemente in uso o è invece disponibile 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2855 10100000 X un insieme di locazioni In uso Disponibile x

4 G. Amodeo, C. Gaibisso Variabili Programmazione di Calcolatori: Il modello di memoria3 una variabile è un insieme di locazioni contigue in memoria il numero delle locazioni allocate per una variabile è funzione del tipo della variabile ogni variabile è identificata da una stringa alfa-numerica detta nome della variabile ogni variabile memorizza un valore il tipo della variabile è il tipo del valore memorizzato A lindirizzo di una variabile è lindirizzo della prima di tali locazioni 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2855 x x x x x x x 3 intero 4

5 G. Amodeo, C. Gaibisso Stato della memoria Programmazione di Calcolatori: Il modello di memoria4 Molto informalmente: è una foto del contenuto della memoria ad un certo istante è definito dallinsieme delle locazioni di memoria in uso, dallinsieme delle variabili, dal valore e dalle locazioni ad esse assegnate Molto meno informalmente: 2834 2835 2836 2837 2838 2839 2840 2834 2835 2836 2837 2838 2839 2840 x x x x x x x x Stato 1 Stato 2 Stato 1 = Stato 2 ? NO

6 G. Amodeo, C. Gaibisso Stato della memoria Programmazione di Calcolatori: Il modello di memoria5 x x x x x x x x 3 A B 3A 2B 2 Stato 1 Stato 2 Stato 1 = Stato 2 ? x x x x x x x x 2 A B 2A 2C 2 Stato 1 Stato 2 Stato 1 = Stato 2 ? SI NO

7 G. Amodeo, C. Gaibisso Stato della memoria Programmazione di Calcolatori: Il modello di memoria6 x x x x x x x x 2 A B 2A 3B 2 Stato 1 Stato 2 Stato 1 = Stato 2 ? NO x x x x x x x x 2 A B 2A 2.0B 2 Stato 1 Stato 2 Stato 1 = Stato 2 ? NO

8 G. Amodeo, C. Gaibisso Stato della memoria Programmazione di Calcolatori: Il modello di memoria7 x x x x x x x x 2 A B 2A 2B 2 Stato 1 Stato 2 Stato 1 = Stato 2 ? x x NO

9 G. Amodeo, C. Gaibisso Definizione di una variabile Programmazione di Calcolatori: Il modello di memoria8 Definizione di una variabile: Modifiche allo stato della memoria: tipo_variabile nome_variabile 1.si riserva il numero di locazioni contigue in memoria necessario a memorizzare un valore di tipo tipo_variabile; 2.si associa il nome nome_variabile alle locazioni riservate; 3.si associa alla variabile il tipo tipo_variabile.

10 G. Amodeo, C. Gaibisso Definizione di una variabile Programmazione di Calcolatori: Il modello di memoria9 int y; 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2855 x x x x x x x y intero Esempio:

11 G. Amodeo, C. Gaibisso Rilascio di memoria allocata Programmazione di Calcolatori: Il modello di memoria10 avviene rendendo di nuovo disponibili le celle allocate per la variabile { int A; …. } Esempio: 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2855 x x x x A Rilascio della memoria:

12 G. Amodeo, C. Gaibisso Assegnamento di valori a variabili Programmazione di Calcolatori: Il modello di memoria11 Assegnamento: nome_variabile = espressione Attenzione: il tipo di nome_variabile e il tipo di espressione devono essere gli stessi Modifiche allo stato della memoria: 1.si valuta il valore di espressione; 2.si sostituisce tale valore al valore memorizzato da nome_variabile.

13 G. Amodeo, C. Gaibisso Accesso alle variabili tramite nome Programmazione di Calcolatori: Il modello di memoria12 Esempio: B = A+C; -43 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2855 x C x x x x x A 3 x x x x x x B 8 -4

14 G. Amodeo, C. Gaibisso Accesso allindirizzo di una variabile Programmazione di Calcolatori: Il modello di memoria13 Loperatore &: &nome_variabile Valore restituito: lindirizzo di nome_variabile; B = &A; 2839 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2855 A 3 x x x x B x x 2839 puntatore

15 G. Amodeo, C. Gaibisso Accesso alle variabili tramite indirizzo Programmazione di Calcolatori: Il modello di memoria14 Loperatore *: A=*B+1; 3 *nome_puntatore Effetto: equivale al nome della variabile il cui indirizzo è in nome_puntatore; 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2855 A 3 x x x x B x x 2839 4 A Esempio:

16 G. Amodeo, C. Gaibisso Accesso alle variabili tramite indirizzo Programmazione di Calcolatori: Il modello di memoria15 Esempio: 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2855 x C x x x x B x 2837 A 3 x x x x 4 *B = A+C; C43 7


Scaricare ppt "G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione VIII Il modello di memoria Programmazione di Calcolatori: Il modello di memoria 1."

Presentazioni simili


Annunci Google