Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoAlda Vecchi Modificato 10 anni fa
2
C. Gaibisso Programmazione di Calcolatori Lezione VIII Il modello di memoria Programmazione di Calcolatori: Il modello di memoria 1
3
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
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 locazioni x un valore intero
5
C. Gaibisso Stato della memoria Programmazione di Calcolatori: Il modello di memoria4 Molto informalmente: è una foto del contenuto della memoria ad un certo istante Molto meno informalmente: è determinato dallinsieme delle quadruple ( nome var, tipo var, valore var, indirizzo var )
6
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
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
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 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
9
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
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
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
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
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
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
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
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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.