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

Slides:



Advertisements
Presentazioni simili
Puntatori Linguaggio C.
Advertisements

Puntatori e gestione dinamica della RAM
Tecnologia delle basi di dati: Strutture fisiche di accesso
Puntatori in C e C++.
Programmazione assembler
PUNTATORI Introduzione
Algoritmi e Programmazione
Anno accademico Array e puntatori in C.
Indirizzi delle variabili A ogni variabile sono associati tre concetti fondamentali: il valore memorizzato; il tipo dati di appartenenza; lindirizzo. Il.
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Caratteri e stringhe di caratteri
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
Corso di Fondamenti di programmazione a.a.2009/2010
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 4 Aprile 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stringhe e Puntatori Marco D. Santambrogio – Ver. aggiornata al 18 Marzo 2013.
Process synchronization
Allocazione dinamica della memoria
Laboratorio di Linguaggi lezione IV Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in.
Laboratorio di Linguaggi lezione V: puntatori (1/3) Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso.
1 Corso di Informatica (Programmazione) Lezione 13 (21 novembre 2008) Programmazione in Java: stringhe e array.
1 laboratorio di calcolo II AA 2003/04 seconda settimana a cura di Domizia Orestano Dipartimento di Fisica Stanza tel. ( )
Algoritmi e Programmazione Avanzata
AN FI Array Array in Java. AN FI Array Dichiarazione di array in Java [ ]; //oppure u [] ; int a[]; int[] a; u La dimensione non è specificata.
AN Fondam98 Puntatori Azioni e procedure Assegnamenti, indirizzi e puntatori.
Programmazione di Calcolatori
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione XII Le funzioni Programmazione di Calcolatori: le funzioni 1.
Lo sviluppo del software e i linguaggi di programmazione
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione VIII Il modello di memoria Programmazione di Calcolatori: Il modello di memoria 1.
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Programmazione di Calcolatori
Puntatori e gestione dinamica della memoria
Programmazione di Calcolatori
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione XI Gli operatori Programmazione di Calcolatori: gli operatori 1.
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione X Ingresso/Uscita di Interi Programmazione di Calcolatori: Ingresso/Uscita 1.
Unità Didattica 3 Linguaggio C
Programmazione di Calcolatori
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione XVIII Le matrici Programmazione di Calcolatori: le matrici 1.
Passaggio di parametri per indirizzo
C. Gaibisso Programmazione di Calcolatori Lezione XIV I vettori Programmazione di Calcolatori: i vettori 1.
Programmazione di Calcolatori
C. Gaibisso Programmazione di Calcolatori Lezione XVI Allocazione dinamica della memoria Programmazione di Calcolatori: allocazione dinamica della memoria.
Complessità di un algoritmo
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Il linguaggio C Puntatori e dintorni.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
Vettori, indirizzi e puntatori Finora abbiamo usato gli indirizzi nel chiamare  la funzione scanf()  le altre funzioni per riferimento Tuttavia la vera.
1 Corso di Informatica (Programmazione) Lezione 8 (7 novembre 2008) Programmazione in Java: operatori aritmetici, operatori di assegnamento e cast.
Vettori (a una dimensione)
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 11 Ottobre 2014.
Università di Torino – Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a prof. Viviana Bono Blocco 7 – Array.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
1 Il linguaggio C Puntatori e dintorni. 2 Puntatori : idea di base In C è possibile conoscere e denotare l’indirizzo della cella di memoria in cui è memorizzata.
© Piero Demichelis Tipi strutturati I tipi considerati finora hanno la caratteristica comune di non essere strutturati: ogni elemento è una singola entità.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 11 Marzo 2014.
Relazione sulle strutture dati Svolta da: Buccella Simone Strutture di dati Aree di memoria Puntatore numericibooleani alfabetici Statici dinamici Puntatori.
1 Strutture dati. 2 Astrazione Non vogliamo sapere l’organizzazione fisica dei dati  indirizzi e celle di memoria Ci interessa solo la loro organizzazione.
Esercizi.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 8 Aprile 2015.
Stringhe Una stringa è un vettore di char con un carattere costante \0 che indica la fine della stringa il terminatore rende differenti gli array di char.
Puntatori in C Un puntatore è una variabile che contiene un indirizzo di memoria. Quando una variabile contiene l’indirizzo di un’altra variabile, si dice.
Linguaggio C: Funzioni e Puntatori Laboratorio di Programmazione Gruppo 1.
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Transcript della presentazione:

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

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 X un insieme di locazioni In uso Disponibile x

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 x x x x x x x 3 intero 4 locazioni x un valore intero

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 )

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

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

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 x x x x x x x x Stato 1 Stato 2 Stato 1 = Stato 2 ? NO

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.

C. Gaibisso Definizione di una variabile Programmazione di Calcolatori: Il modello di memoria9 int y; x x x x x x x y intero Esempio:

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: x x x x A Rilascio della memoria:

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.

C. Gaibisso Accesso alle variabili tramite nome Programmazione di Calcolatori: Il modello di memoria12 Esempio: B = A+C; x C x x x x x A 3 x x x x x x B 8 -4

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; A 3 x x x x B x x 2839 puntatore

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; A 3 x x x x B x x A Esempio:

C. Gaibisso Accesso alle variabili tramite indirizzo Programmazione di Calcolatori: Il modello di memoria15 Esempio: x C x x x x B x 2837 A 3 x x x x 4 *B = A+C; C43 7