Puntatori e gestione dinamica della memoria

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Puntatori e gestione dinamica della memoria"

Transcript

1 Punttori e gestione dinmic dell memori Corso di Informtic /4 Lezione 4 Vntggi nell uso dei vettori Sono legti ll ccesso diretto gli elementi utilizzndo gli indici. v d = dimensione elemento 678 indirizzo v[i] = b + i d v[i] b = indirizzo bse i = indice (spizzmento) Indirizzmento dell RAM 2 3

2 Problemi nell uso dei vettori L dimensione di un vettore deve essere fisst l momento dell compilzione: int v[]; // non int v[dim]; con dim vribile L inserimento di un nuovo vlore comport lo slittmento di tutti quelli ll su destr: for (j = indice_prox_loc_liber; j > i; j--) v[j] = v[j-]; v[i] = nuovo_vlore; I punttori Un punttore è un vribile il cui dominio di definizione sono gli indirizzi di memori <tipo>* <vribile>; int* p; // punttore intero int *p, *q; // breve per int* p; int* q; Dereferenzizione (*) L opertore di dereferenzizione (* <punttore>) legge/scrive ll loczione di memori il cui indirizzo è il vlore del suo operndo p 25fe6 25fe *p == 2983

3 Opertore indirizzo (&) Se x è un vribile, &x è l indirizzo cui sono memorizzti i suoi vlori 25fe6 x 2983 &x == 25fe6 Esempio // esempio di dereferenzizione e // uso dell oportore & #include <iostrem.h> int min() { int x = 7; int *p, *p2; // oppure int* p; int* q; p = &x; p2 = p; cout << *p2 = << *p2 << endl; // stmp il vlore di x cioe 7 cout << p2 = << p2 << endl; // stmp il vlore di p2 cioe // l indirizzo di x Condivisione (shring) I punttori possono condividere l re di memori cui puntno: int *p, *q; int n = 44; p = q = &n; p q n 44 Ogni modific del vlore di n che vveng per ssegnzione su *p si riflette su n e su *q. Quest crtteristic viene sfruttt per ottonere effetti collterli sui vlori dei prmetri ttuli, pssndoli cioè per indirizzo.

4 Riferimenti In C++ si può vere shring nche senz i punttori, usndo riferimenti, ovvero sinonimi (lis): <tipo>& <nome rif> = <nome vr> int min () { int n = 44; int& rn = n; // rn è sinonimo di n n--; cout << rn << endl; // stmp 43 Vettori e punttori in C++ In C++ un vettore è un costnte di tipo punttore: int v[]; int* p; p = v; // il vlore di p è l ind. di bse di v // ossi p == &v[] Si può usre l notzione con gli indici per i punttori che si riferiscono vettori: p[i] // equivle v[i] Aritmetic dei punttori () Ad ogni tipo di dto corrisponde l dimensione in byte dell memori necessri per contenere i suoi vlori: int sizeof(<tipo>) // C: ritorn l dim. I punttori sono tipti: ciò è essenzile per spere cos leggere/scrivere lle loczioni di memori cui puntno

5 Aritmetic dei punttori (2) In C++ si possono sommre (o sottrrre) interi punttori: int *p, *q; q = p + ; // il vlore di q == // vlore di p + *sizeof(int) Quindi, se p punt d un vettore v: p+i == &v[i] // ovvero *(p+i) == v[i] == p[i] Aritmetic dei punttori (3) incremento e decremento: int *p; p = &n; p++; /* p punt &n + sizeof(int) */ somm e sottrzione di un intero: int n, m, *p; p = &n; p = p + m; /* p punt &n + m * sizeof(int) */ differenze tr punttori: int n,, b, *p, *q; p = &, q = &b; n = p - q; /* n è il numero degli interi llocbili tr gli indirizzi di e di b */ confronto tr punttori: int n, m, *p; p = &n; q = &m; if (p < q) /* eseguito se l indirizzo di n è minore di quello di m */ Esempio void Inverti (int v[]; int lun); // inverte l ordine degli el. di v[lun] { int t, *p, *q; for(p = v, q = p + (lun-); p < q; p++, q--) { t = *p; *p = *q; *q = t;

6 Pssggio di prmetri per vlore void f(int n){ n++; int = ; f(); Pssggio di prmetri per vlore void f(int n){ n++; int = ; f(); n Pssggio di prmetri per vlore void f(int n){ n++; int = ; f(); n

7 Pssggio di prmetri per vlore void f(int n){ n++; int = ; f(); Pssggio di pr. per riferimento void f(int& n) { n++; int = ; f() Pssggio di pr. per riferimento void f(int& n) { n++; int = ; f() n

8 Pssggio di pr. per riferimento void f(int& n) { n++; int = ; f() n Pssggio di pr. per riferimento void f(int& n) { n++; int = ; f() Pssggio di pr. per punttore void f(int* pn) { (*pn)++; int = ; f(&)

9 Pssggio di pr. per punttore void f(int* pn) { (*pn)++; int = ; f(&) pn Pssggio di pr. per punttore void f(int* pn) { (*pn)++; int = ; f(&) pn Pssggio di pr. per punttore void f(int* pn) { (*pn)++; int = ; f(&)

10 Alloczione dinmic Alloczione = destinzione di un cert quntità di memori per contenere vlori di un dto tipo Tutte le vribili di un progrmm sono llocte qundo sono in uso (punttori inclusi) E possibile llocre memori durnte l esecuzione del progrmm in un re specific dett memori dinmic Alloczione dinmic: new int *p; p = new int; *p = 2983; p 25fe6 Alloczione dinmic: new int *p; p = new int; *p = 2983; p 25fe6 25fe6

11 Alloczione dinmic: new int *p; p = new int; *p = 2983; p 25fe6 25fe Alloczione dinmic: new flot* p; *p = 3.459; // ERRORE: p non è llocto flot x = 3.459; flot *p = &x // OK: p us l lloczione di x flot* p = new flot; *p = 3.459; // OK: p è llocto Alloczione dinmic in C Tipo *p; p = (Tipo*) mlloc (sizeof(tipo)); Alloc un struttur dti l cui dimensione in byte dipende d Tipo ed è clcolt d sizeof; in cso di successo ssegn il tipo Tipo* ll indirizzo di inizio del blocco, ed il vlore è slvto in p. Se non c è più memori disponibile, mlloc ritorn NULL, che srà llor il vlore di p.

12 Alloczione dinmic di un vettore Per llocre dinmicmente un vettore occorre conoscere:. Il tipo dei suoi elementi; 2. il numero di questi elementi (che tuttvi potrà essere noto nche solo l momento dell esecuzione). int *v, lun; v = new int[lun]; // in C++ v = (int*) mlloc (sizeof(int)*lun); // in C Alloc un vettore di lun interi, dove però lun è un vribile. Comunque, un volt llocto, v punterà d un vettore l cui lunghezz non è più modificbile. Le stringhe Le stringhe sono vettori di crtteri, contenenti un termintore: \ chr s[] = Slve mondo ; chr s[maxlun]; chr *s = Slve mondo ; Esiste un tipo string, definito: typedef chr* String; Alloczione di stringhe E opportuno costruire un funzione di lloczione (lloctore o genertore) per ogni struttur dti che si implement: String StrAlloc(int len) { String *s; s = new chr[len + ]; // len + per fr posto \ return s;

13 Operzioni sulle stringhe () int strlen (String s) { int n = ; while (*s++!= \ ) n++; return n; int strcpy (String dest; String source) { while((*dest++ = *source++)!= \ ); Operzione sulle stringhe (2) String LeggiString (void) { chr buffer[maxlun]; String s; cin >> buffer; s = Strlloc(strlen(buffer)); strcpy(s, buffer); return s; I record Un record è un tupl di vlori di tipi possibilmente diversi cceduti ttrverso etichette: struct <nome struttur> { <tipo > <etichett cmpo >;... <tipo k > <etichett cmpo k >;

14 Alloczione dinmic di record (strutture) Come per i tipi di bse e per i vettori, si possono llocre record: typedef struct Record {int field; *MyRecord; MyRecord = new Record; Dt l frequenz dell uso di punttori record, il C++ us l sintssi: p->field invece di (*p).field Un modo per definire il tipo vettore () Un buon metodo per definire un vettore d llocre dinmicmente è usre un record con un cmpo lunghezz: typedef VecRec* Vettore; typedef struct vecrec { int lun; int* vec; VecRec; Un modo per definire il tipo vettore (2) v n n elementi del vettore

15 Un modo per definire il tipo vettore (3) Vettore VettAlloc (int lunghezz) { Vettore v; v = new VecRec; v->lun = lunghezz; v->vec = int[lunghezz]; return v; Un esempio più complesso: mtrici () struct MtrRec{ int righe, colonne; int **vecrighe; ; typedef MtrRec* Mtrice; n m m n Un esempio più complesso: mtrici (2) Mtrice NuovMtrice (int r, int c) { Mtrice m; int i; m = new MtrRec; m->righe = r; m->colonne = c; m->vecrighe = new int*[r]; for (i = ; i < r; i++) m->vecrighe[i] = new int[c]; return m;

16 Delloczione L memori dinmic lloct può essere recupert usndo l funzione delete: delete <punttore> Per dellocre un vettore non occorre ricordrne l dimensione: delete [] <nome vettore> Per dellocre un struttur compless come mtrice occorrono tnte chimte di delete qunte sono stte quelle di new Delloczione di Mtrice void DellocMtrice (Mtrice m) { int i; for(i = ; i < m->righe; i++) delete [] m->vecrighe[i]; delete [] m->vecrighe; delete m;

Valutazione di una espressione. Espressioni. Espressioni semplici: variabili. Espressioni semplici: costanti

Valutazione di una espressione. Espressioni. Espressioni semplici: variabili. Espressioni semplici: costanti Espressioni Vlutzione di un espressione Ogni espressione E h: Un espressione E del linguggio C può essere definit formlmente come segue (definizione induttiv): E è un espressione semplice. Si Op n un opertore

Dettagli

Allocazione dinamica delle. variabili. Maurizio Rebaudengo 1. variabili. Allocazione statica. Allocazione dinamica. malloc() Allocazione

Allocazione dinamica delle. variabili. Maurizio Rebaudengo 1. variabili. Allocazione statica. Allocazione dinamica. malloc() Allocazione Allozione dinmi delle vribili Allozione dinmi delle vribili L'llozione dello pzio di memori oupto dll vribili puo' eere effettut durnte l'eeuzione del progrmm. 1 2 Allozione tti Allozione dinmi Nell'llozione

Dettagli

COGNOME..NOME CLASSE.DATA

COGNOME..NOME CLASSE.DATA COGNOME..NOME CLASSE.DATA FUNZIONE ESPONENZIALE - VERIFICA OBIETTIVI Sper definire un funzione esponenzile. Sper rppresentre un funzione esponenzile. Sper individure le crtteristiche del grfico di un funzione

Dettagli

Determinanti e caratteristica di una matrice (M.S. Bernabei & H. Thaler

Determinanti e caratteristica di una matrice (M.S. Bernabei & H. Thaler Determinnti e crtteristic di un mtrice (M.S. Bernbei & H. Thler Determinnte Il determinnte può essere definito solmente nel cso di mtrici qudrte Per un mtrice qudrt 11 (del primo ordine) il determinnte

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica Il tipo puntatore; l allocazione dinamica della memoria Claudio De Stefano - Corso di Fondamenti di Informatica 1 puntatori una variabile di tipo puntatore al tipo x

Dettagli

Corso di Fondamenti di Informatica. Puntatori e Allocazione Dinamica

Corso di Fondamenti di Informatica. Puntatori e Allocazione Dinamica Corso di Fondamenti di Informatica Puntatori e Allocazione Dinamica I puntatori (Richiamo) Il C++ prevede puntatori a dati di qualsiasi natura, semplici o strutturati e puntatori a funzione. In particolare

Dettagli

, x 2. , x 3. è un equazione nella quale le incognite appaiono solo con esponente 1, ossia del tipo:

, x 2. , x 3. è un equazione nella quale le incognite appaiono solo con esponente 1, ossia del tipo: Sistemi lineri Un equzione linere nelle n incognite x 1, x 2, x,, x n è un equzione nell qule le incognite ppiono solo con esponente 1, ossi del tipo: 1 x 1 + 2 x 2 + x +!+ n x n = b con 1, 2,,, n numeri

Dettagli

INFORMATICA - I puntatori Roberta Gerboni

INFORMATICA - I puntatori Roberta Gerboni 1 2 I puntatori in C++ Il puntatore un tipo di dato scalare, che consente di rappresentare gli indirizzi delle variabili allocate in memoria. Dominio: Il dominio di una variabile di tipo puntatore è un

Dettagli

Equazioni di 2 grado. Definizioni Equazioni incomplete Equazione completa Relazioni tra i coefficienti della equazione e le sue soluzioni Esercizi

Equazioni di 2 grado. Definizioni Equazioni incomplete Equazione completa Relazioni tra i coefficienti della equazione e le sue soluzioni Esercizi Equzioni di grdo Definizioni Equzioni incomplete Equzione complet Relzioni tr i coefficienti dell equzione e le sue soluzioni Esercizi Mteri: Mtemtic Autore: Mrio De Leo Definizioni Un equzione è: Un uguglinz

Dettagli

Dove siamo. Gli array - II. Array bidimensionali (matrici) Oggi. Array bidimensionali (matrici) Sintassi Java. Stefano Mizzaro 1

Dove siamo. Gli array - II. Array bidimensionali (matrici) Oggi. Array bidimensionali (matrici) Sintassi Java. Stefano Mizzaro 1 8. Arry - II Dove simo Gli rry - II Stefno Mizzro Dirtimento di mtemtic e informtic Università di Udine htt://www.dimi.uniud.it/mizzro/ mizzro@dimi.uniud.it Progrmmzione, lezione 8 ottobre 7 Mttoni Progrmmzione

Dettagli

B8. Equazioni di secondo grado

B8. Equazioni di secondo grado B8. Equzioni di secondo grdo B8.1 Legge di nnullmento del prodotto Spendo che b0 si può dedurre che 0 oppure b0. Quest è l legge di nnullmento del prodotto. Pertnto spendo che (-1) (+)0 llor dovrà vlere

Dettagli

Organizzazione della Memoria usata dai Processi

Organizzazione della Memoria usata dai Processi Orgnizzzione dell Memori ust di Processi Indirizzi m stck hep dt 0 tet 1 L struttur dti Stck (o Pil) LIFO (lst in - first out) Operzioni: Push (ggiunge un elemento in cim llo stck (che cresce verso gli

Dettagli

Variabile casuale uniforme (o rettangolare)

Variabile casuale uniforme (o rettangolare) Vribile csule uniforme (o rettngolre) Le crtteristic principle è che le sue relizzzioni sono equiprobbili Si pplic nelle situzioni in cui il fenomeno: Assume vlori in un intervllo limitto [,b] L probbilità

Dettagli

Programmazione I - Laboratorio

Programmazione I - Laboratorio Programmazione I - Laboratorio Esercitazione 6 - Liste Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti di.unipi.it 2. Dipartimento

Dettagli

Strutture Dati Dinamiche

Strutture Dati Dinamiche Strutture Dati Dinamiche Motivazioni Le variabili considerate fino a questo punto devono essere dichiarate staticamente, ossia la loro esistenza, il loro nome e la loro dimensione devono essere previsti

Dettagli

2 x = 64 (1) L esponente (x) a cui elevare la base (2) per ottenere il numero 64 è detto logaritmo (logaritmo in base 2 di 64), indicato così:

2 x = 64 (1) L esponente (x) a cui elevare la base (2) per ottenere il numero 64 è detto logaritmo (logaritmo in base 2 di 64), indicato così: Considerimo il seguente problem: si vuole trovre il numero rele tle che: = () L esponente () cui elevre l bse () per ottenere il numero è detto ritmo (ritmo in bse di ), indicto così: In prticolre in questo

Dettagli

Puntatori. Un puntatore contiene un numero che indica la locazione di memoria dove è presente la variabile puntata

Puntatori. Un puntatore contiene un numero che indica la locazione di memoria dove è presente la variabile puntata Puntatori int i = 10; int * pi = &i; pi i = 10 116 int * pi = pi contiene un informazione che mi permette di accedere ( puntare ) ad una variabile intera Un puntatore contiene un numero che indica la locazione

Dettagli

Esercizi svolti Limiti. Prof. Chirizzi Marco.

Esercizi svolti Limiti. Prof. Chirizzi Marco. Cpitolo II Limiti delle funzioni di un vribile Esercizi svolti Limiti Prof. Chirizzi rco www.elettrone.ltervist.org 1) Verificre che risult: = Dobbimo provre che per ogni ε positivo, rbitrrimente piccolo,

Dettagli

Lezione 9: Strutture e allocazione dinamica della memoria

Lezione 9: Strutture e allocazione dinamica della memoria Lezione 9: Strutture e allocazione dinamica della memoria Laboratorio di Elementi di Architettura e Sistemi Operativi 9 Maggio 2012 Allocazione dinamica della memoria Memoria dinamica È possibile creare

Dettagli

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori Puntatori Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori 1 Il puntatore Un tipo puntatore è un tipo scalare per

Dettagli

SPAZI VETTORIALI. 1. Spazi e sottospazi vettoriali

SPAZI VETTORIALI. 1. Spazi e sottospazi vettoriali SPAZI VETTORIALI 1. Spzi e sottospzi vettorili Definizione: Dto un insieme V non vuoto e un corpo K di sostegno si dice che V è un K-spzio vettorile o uno spzio vettorile su K se sono definite un operzione

Dettagli

Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio

Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio 1-La memoria dinamica La scrittura di un programma (indipendentemente dal linguaggio adottato) deve sempre tener conto

Dettagli

8 Controllo di un antenna

8 Controllo di un antenna 8 Controllo di un ntenn L ntenn prbolic di un rdr mobile è montt in modo d consentire un elevzione compres tr e =2. Il momento d inerzi dell ntenn, Je, ed il coefficiente di ttrito viscoso, f e, che crtterizzno

Dettagli

Equazioni 1 grado. Definizioni Classificazione Risoluzione Esercizi

Equazioni 1 grado. Definizioni Classificazione Risoluzione Esercizi Equzioni grdo Definizioni Clssificzione Risoluzione Esercizi Mteri: Mtemtic Autore: Mrio De Leo Definizioni Prendimo in esme le due espressioni numeriche 8 entrmbe sono uguli 7, e l scrittur si chim uguglinz

Dettagli

L Allocazione Dinamica della Memoria

L Allocazione Dinamica della Memoria L Allocazione Dinamica della Memoria Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario Questo documento

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Realizzazione di Liste Laboratorio di Algoritmi e Strutture Dati Domenico Redavid redavid@di.uniba.it Materiale di base gentilmente concesso dal dott. Nicola Di Mauro Ricercatore presso l'univ. di Bari

Dettagli

Operazioni sulle Matrici

Operazioni sulle Matrici Corso di Lure in Disegno Industrile Corso di Metodi Numerici per il Design Lezione 9 Ottore Operzioni sulle Mtrici F. Cliò Addizione e Sottrzione Lezione 9 Ottore Operzioni sulle Mtrici Pgin Addizione

Dettagli

{ 3 x y=4. { x=2. Sistemi di equazioni

{ 3 x y=4. { x=2. Sistemi di equazioni Sistemi di equzioni Definizione Un sistem è un insieme di equzioni che devono essere verificte contempornemente, cioè devono vere contempornemente le stesse soluzioni. Definimo grdo di un sistem il prodotto

Dettagli

Esponenziali e logaritmi

Esponenziali e logaritmi Esponenzili e ritmi ESPONENZIALI Potenze con esponente rele L potenz è definit: se > 0, per ogni R se 0, per tutti e soli gli R se < 0, per tutti e soli gli Z Sono definite: ( ) ( ) ( ) 7 7 Non sono definite:

Dettagli

Stringhe e tipi di dati strutturati

Stringhe e tipi di dati strutturati Stringhe e tipi di dati strutturati Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 21 Marzo 2013 Info sui Labs http://tinyurl.com/ieimlabextra Ricordate di portare un adattatore!

Dettagli

Le stringhe. Le stringhe

Le stringhe. Le stringhe Informatica: C++ Gerboni Roberta Stringhe di caratteri (esempi di utilizzo dei vettori) Nel linguaggio C++ una stringa è semplicemente un vettore di caratteri Vettori di caratteri La stringa "hello" è

Dettagli

7. Derivate Definizione 1

7. Derivate Definizione 1 7. Derivte Il concetto di derivt è importntissimo e molto nturle. Per vere un esempio concreto, penste l moto di un mcchin: se f(t) è l funzione che esprime qunt strd vete percorso fino d un certo istnte

Dettagli

Esercizi sulle serie di Fourier

Esercizi sulle serie di Fourier Esercizi sulle serie di Fourier Corso di Fisic Mtemtic,.. 3- Diprtimento di Mtemtic, Università di Milno Novembre 3 Sviluppo in serie di Fourier (esponenzile) In questi esercizi, si richiede di sviluppre

Dettagli

Il linguaggio C. Puntatori e dintorni

Il linguaggio C. Puntatori e dintorni Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

Le operazioni di allocazione e deallocazione sono a carico del sistema.

Le operazioni di allocazione e deallocazione sono a carico del sistema. Allocazione della memoria In C++ è possibile creare (allocare) variabili in maniera statica o dinamica. Nell allocazione statica una variabile esiste ed è utilizzabile dal momento della sua dichiarazione

Dettagli

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1) Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi

Dettagli

Facoltà di Economia - Università di Sassari Anno Accademico 2004-2005. Dispense Corso di Econometria Docente: Luciano Gutierrez.

Facoltà di Economia - Università di Sassari Anno Accademico 2004-2005. Dispense Corso di Econometria Docente: Luciano Gutierrez. Fcoltà di Economi - Università di Sssri Anno Accdemico 2004-2005 Dispense Corso di Econometri Docente: Lucino Gutierrez Algebr Linere Progrmm: 1.1 Definizione di mtrice e vettore 1.2 Addizione e sottrzione

Dettagli

Compito di Fondamenti di Informatica

Compito di Fondamenti di Informatica Compito di Fondamenti di Informatica In un magazzino viene utilizzato un archivio informatico, nel quale vengono memorizzate le informazioni relative ai prodotti contenuti nel magazzino e che ne permette

Dettagli

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Liste semplici (semplicemente linkate) Una lista semplice e costituita da nodi Laboratorio di Informatica 7. Strutture complesse di dati in C++ Ogni nodo e una struttura che contiene : Dati Un riferimento

Dettagli

1 Integrale delle funzioni a scala

1 Integrale delle funzioni a scala INTEGRALE DELLE FUNZIONI DI UNA VARIABILE Teori di Riemnn 1 Integrle delle funzioni scl (1.1) Definizione Si dice suddivisione di un intervllo chiuso e limitto [, b] un sottoinsieme {,..., n } di [, b]

Dettagli

Il tipo di dato astratto Pila

Il tipo di dato astratto Pila Il tipo di dato astratto Pila Il tipo di dato Pila Una pila è una sequenza di elementi (tutti dello stesso tipo) in cui l inserimento e l eliminazione di elementi avvengono secondo la regola seguente:

Dettagli

La struttura dati ad albero binario

La struttura dati ad albero binario La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,

Dettagli

Meccanica dei Solidi. Vettori

Meccanica dei Solidi. Vettori Meccnic dei Solidi Prof. Ing. Stefno Avers Università di Npoli Prthenope.. 2005-06 Lezione 2 Vettori Definizione: Un grndezz vettorile (o un vettore) è un grndezz fisic crtterizzt oltre che d un numero

Dettagli

UNIVERSITÀ DEGLI STUDI DI TERAMO

UNIVERSITÀ DEGLI STUDI DI TERAMO UNIVERSITÀ DEGLI STUDI DI TERAMO CORSO DI LAUREA IN TUTELA E BENESSERE ANIMALE Corso di : FISICA MEDICA A.A. 015 /016 Docente: Dott. Chiucchi Riccrdo il:rchiucchi@unite.it Medicin Veterinri: CFU 5 (corso

Dettagli

Integrali dipendenti da un parametro e derivazione sotto il segno di integrale.

Integrali dipendenti da un parametro e derivazione sotto il segno di integrale. 1 Integrli dipendenti d un prmetro e derivzione sotto il segno di integrle. Considerimo l funzione f(x, t) : A [, b] R definit nel rettngolo A [, b], essendo A un sottoinsieme perto di R e [, b] un intervllo

Dettagli

Introduzione e strumenti

Introduzione e strumenti Controlli utomtici Introduzione e strumenti Convenzioni generli ed elementi di bse Dll equzione ll rppresentzione grfic L lgebr dei blocchi Clcolo di funzioni di trsferimento di schemi interconnessi 2

Dettagli

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori Ad esempio: char * stringhe[4]; definisce un vettore di 4 puntatori a carattere

Dettagli

Struct, enum, Puntatori e Array dinamici

Struct, enum, Puntatori e Array dinamici Struct, enum, Puntatori e Array dinamici Tratti dal corso del Dr. Francesco Fabozzi Corso di Informatica Tipi di dato in C Abbiamo esaminato diversi tipi di dato che il C mette a disposizione dell utente

Dettagli

Uso avanzato dei puntatori Allocazione dinamica della memoria

Uso avanzato dei puntatori Allocazione dinamica della memoria Uso avanzato dei puntatori Allocazione dinamica della memoria Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica

Dettagli

Fondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30'

Fondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30' Prima di cominciare: si scarichi dal sito http://esamix.labx il file StartKit5.zip contenente i file necessari (solution di VS2008 e progetto compresi). Avvertenze per la consegna: apporre all inizio di

Dettagli

Controlli Automatici. Trasformate L e Z e schemi a blocchi. Esercizi sulle trasformate L e Z

Controlli Automatici. Trasformate L e Z e schemi a blocchi. Esercizi sulle trasformate L e Z Controlli Automtici Trsformte L e Z e schemi blocchi Esercizi sulle trsformte L e Z Esercizi sulle trsformte L e Z Proposte di esercizi e soluzioni in tempo rele trsformt L di y(t) dt trsformt Z di y(i)

Dettagli

Allocazione dinamica della memoria

Allocazione dinamica della memoria Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Tipi di memoria dati Nella macchina astratta C esistono tre tipi di memoria per allocare

Dettagli

Laboratorio di Matematica Computazionale A.A Lab. 11 Integrazione numerica

Laboratorio di Matematica Computazionale A.A Lab. 11 Integrazione numerica Lbortorio di Mtemtic Computzionle A.A. 2008-2009 1 Integrzione numeric Lb. 11 Integrzione numeric Un metodo di integrzione numerico consiste in un formul esplicit che permett di pprossimre il vlore di

Dettagli

La gestione della memoria

La gestione della memoria La gestione della memoria DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII.UNISI.IT HTTP://WWW.DII.UNISI.IT/~RIGUTINI/

Dettagli

{ 1, 2,3, 4,5,6,7,8,9,10,11,12, }

{ 1, 2,3, 4,5,6,7,8,9,10,11,12, } Lezione 01 Aritmetic Pgin 1 di 1 I numeri nturli I numeri nturli sono: 0,1,,,4,5,6,7,8,,10,11,1, L insieme dei numeri nturli viene indicto col simbolo. } { 0,1,,, 4,5,6,7,8,,10,11,1, } L insieme dei numeri

Dettagli

Unità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo.

Unità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. Unità Didattica 4 Linguaggio C Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. 1 Vettori Struttura astratta: Insieme di elementi dello stesso tipo, ciascuno individuato da un indice;

Dettagli

I puntatori e l allocazione dinamica di memoria

I puntatori e l allocazione dinamica di memoria I puntatori e l allocazione dinamica di memoria L allocazione delle variabili Allocazione e rilascio espliciti di memoria Le funzioni malloc e free 2 2006 Politecnico di Torino 1 Allocare = collocare in

Dettagli

Alberi binari e alberi binari di ricerca

Alberi binari e alberi binari di ricerca Alberi binari e alberi binari di ricerca Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica

Dettagli

Equivalenza tra equazioni di Lagrange e problemi variazionali

Equivalenza tra equazioni di Lagrange e problemi variazionali Equivlenz tr equzioni di Lgrnge e problemi AM Cherubini 20 Aprile 2007 1 / 21 Problemi Mostrimo or come si possono ricvre sistemi di equzioni con struttur lgrngin in un mbito diverso: prim si er crtterizzt

Dettagli

George Boole ( )

George Boole ( ) Mtemtic Alger di Boole Cpitolo 5 Ivn Zivko George Boole (1815-1864) Mtemtico inglese del dicinnovesimo secolo, ffrontò in modo originle prolemi di logic. Le sue teorie trovno forte ppliczione un secolo

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave

Dettagli

Manuale di configurazione ed utilizzo

Manuale di configurazione ed utilizzo SERVIZIO CISCO JABBER VIS 4.0 Numero documento: 132/ versione 1.0 Dt : 30/05/2013 Oggetto: VIS 4.0 Redttore documento: Bgnr Mssimilino Mnule di configurzione ed utilizzo Cisco Jbber per Smsung Android

Dettagli

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout

Dettagli

Integrali. all integrale definito all integrale indefinito. Integrali: riepilogo

Integrali. all integrale definito all integrale indefinito. Integrali: riepilogo Integrli ll integrle deinito ll integrle indeinito Indice dell lezione Integrle Deinito Rettngoloide Integrle deinito come re del rettngoloide Esempi e propriet Primitiv Teorem ondmentle del clcolo integrle

Dettagli

Unità 3 Metodi particolari per il calcolo di reti

Unità 3 Metodi particolari per il calcolo di reti Unità 3 Metodi prticolri per il clcolo di reti 1 Cos c è nell unità Metodi prticolri per il clcolo di reti con un solo genertore Prtitore di tensione Prtitore di corrente Metodi di clcolo di reti con più

Dettagli

corrispondenza dal piano in sé, che ad ogni punto P del piano fa corrispondere il punto P' in

corrispondenza dal piano in sé, che ad ogni punto P del piano fa corrispondere il punto P' in Cpitolo 5 Le omotetie 5. Richimi di teori Definizione Sino fissti un punto C del pino ed un numero rele. Si chim omoteti di centro C e rpporto ( che si indic con il simolo O, ) l corrispondenz dl pino

Dettagli

a.a Codice corso: 21012, La definizione del tipo di dato astratto lista è intrinsecamente ricorsiva, infatti una lista può essere:

a.a Codice corso: 21012, La definizione del tipo di dato astratto lista è intrinsecamente ricorsiva, infatti una lista può essere: LISTE DINAMICHE Liste semplicemente concatenate: La definizione del tipo di dato astratto lista è intrinsecamente ricorsiva, infatti una lista può essere: la lista vuota; oppure contiene un valore (di

Dettagli

Nello studio della meccanica si incontrano due principali categorie di grandezze: scalari e vettori. Cosa distingue queste quantita?

Nello studio della meccanica si incontrano due principali categorie di grandezze: scalari e vettori. Cosa distingue queste quantita? Vettori e sclri Nello studio dell meccnic si incontrno due principli ctegorie di grndezze: sclri e vettori. Cos distingue queste quntit? Domenic sono ndto in iciclett per due ore L informzione sul tempo

Dettagli

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) Scrivere una funzione per definire se un numero è primo e un programma principale minimale che ne testa la funzionalità. #include

Dettagli

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

IL CONCETTO DI FILE. È illecito operare oltre la fine del file. IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni

Dettagli

5 2d x x >12. con a, b, c e d parametri reali. Il grafico di f (x) passa per l origine del sistema di riferimento

5 2d x x >12. con a, b, c e d parametri reali. Il grafico di f (x) passa per l origine del sistema di riferimento Questionrio Risolvi quttro degli otto quesiti: L Città dello sport è un struttur sportiv progettt dll rchitetto Sntigo Cltrv e mi complett, situt sud di Rom Rispetto l sistem di riferimento indicto in

Dettagli

Hash Table. Hash Table

Hash Table. Hash Table Hash Table La ricerca di un elemento su una lista (semplice o doppia) presenta una complessità di tipo O(n), dato che occorre scandire (al più) l intera lista per poter trovare l elemento desiderato. Le

Dettagli

Ingegneria dei Sistemi Elettrici_2 a (ultima modifica 08/03/2010)

Ingegneria dei Sistemi Elettrici_2 a (ultima modifica 08/03/2010) Ingegneri dei Sistemi Elettrici_2 (ultim modific 08/03/2010) Prim di definire le grndee di bse e le costnti universli del modello elettromgnetico per poter sviluppre i vri temi dell elettromgnetismo, si

Dettagli

Gestione di stringhe. Le stringhe in C/C++

Gestione di stringhe. Le stringhe in C/C++ Alessio Bechini - Corso di - Gestione di stringhe Parte del materiale proposto è stato gentilmente fornito da G. Lipari Le stringhe in C/C++ In C e in C++ non esiste un vero e proprio tipo stringa. Una

Dettagli

LEZIONE 13 MINIMIZZAZIONE DEI COSTI. Condizione per la minimizzazione dei costi. Efficienza tecnica ed efficienza economica

LEZIONE 13 MINIMIZZAZIONE DEI COSTI. Condizione per la minimizzazione dei costi. Efficienza tecnica ed efficienza economica LEZIONE 3 MINIMIZZAZIONE DEI COSTI Lungo periodo Soluzione nlitic Condizione per l minimizzzione dei costi Efficienz tecnic ed efficienz economic Rppresentzione grfic Isocosto ed isoqunto Sentiero di espnsione

Dettagli

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella Corso di Informatica Tipi strutturati: Stringhe Anno Accademico 2010/2011 Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri quali

Dettagli

Tipi di dato e strutture dati

Tipi di dato e strutture dati Tipi di dato e strutture dati 1. Tipi di dato Pressoché tutti i linguaggi di programmazione tipati consentono all utente di definire nuovi tipi. Il C++ fornisce quattro modi per farlo: typedef, enum, struct,

Dettagli

Cinematica ed equilibrio del corpo rigido

Cinematica ed equilibrio del corpo rigido omportmento meccnico dei mterili rtteristiche di sollecitione inemtic ed equilirio del corpo rigido rtteristiche di sollecitione efiniione delle crtteristiche Esempio 1: trve rettiline Esempio : struttur

Dettagli

Funzioni razionali fratte

Funzioni razionali fratte Funzioni rzionli frtte Per illustrre l medizione che AlNuSet fornisce per lo studio delle funzioni rzionli frtte, inizimo con il considerre l funzione f ( ) l vrire del prmetro. L su rppresentzione nell

Dettagli

AUTOVALORI ED AUTOVETTORI. Sia V uno spazio vettoriale di dimensione finita n.

AUTOVALORI ED AUTOVETTORI. Sia V uno spazio vettoriale di dimensione finita n. AUTOVALORI ED AUTOVETTORI Si V uno spzio vettorile di dimensione finit n. Dicesi endomorfismo di V ogni ppliczione linere f : V V dello spzio vettorile in sé. Se f è un endomorfismo di V in V, considert

Dettagli

= * Operazioni su Matrici. Addizione/sottrazione di matrici. Moltiplicazione di matrici (Algebra Lineare)

= * Operazioni su Matrici. Addizione/sottrazione di matrici. Moltiplicazione di matrici (Algebra Lineare) Operzioni su Mtrici Addizione/sottrzione di trici So e sottrzione Operzioni di lger linere: Moltipliczioe Divisione Operzioni eleento-per-eleento Funzioni di se per trici Mtrici di nueri csuli Per trici

Dettagli

Strumenti Matematici per la Fisica

Strumenti Matematici per la Fisica Strumenti Mtemtici per l Fisic Strumenti Mtemtici per l Fisic Approssimzioni Notzione scientific (o esponenzile) Ordine di Grndezz Sistem Metrico Decimle Equivlenze Proporzioni e Percentuli Relzioni fr

Dettagli

Esercitazioni di Elettrotecnica: circuiti in regime stazionario

Esercitazioni di Elettrotecnica: circuiti in regime stazionario Università degli Studi di ssino sercitzioni di lettrotecnic: circuiti in regime stzionrio prof ntonio Mffucci Ver ottore 007 Mffucci: ircuiti in regime stzionrio ver -007 Serie, prllelo e prtitori S lcolre

Dettagli

Dati aggregati. Violetta Lonati

Dati aggregati. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica - in breve: Definizione di tipi Array Stringhe Strutture

Dettagli

Facoltà di Ingegneria

Facoltà di Ingegneria UNIVERSITA DEGLI STUDI DI CAGLIARI Fcoltà di Ingegneri Corso di Lure Specilistic in Ingegneri per l Ambiente e il Territorio TESINA DI CALCOLO NUMERICO Anlisi dell errore nei metodi di risoluzione dei

Dettagli

Test di autovalutazione

Test di autovalutazione UNITÀ ELEMENTI DI CALCOLO ALGEBRICO Test di utovlutzione 0 0 0 0 0 0 60 0 80 90 00 n Il mio punteggio, in entesimi, è n Rispondi ogni quesito segnndo un sol delle lterntive. n Confront le tue risposte

Dettagli

Progettazione strutturale per elementi finiti Sergio Baragetti

Progettazione strutturale per elementi finiti Sergio Baragetti Progettzione strutturle per elementi finiti Sergio Brgetti Fcoltà di Ingegneri Università degli Studi di Bergmo Il metodo degli Elementi Finiti permette di risolvere il problem dell determinzione dello

Dettagli

Puntatori Passaggio di parametri per indirizzo

Puntatori Passaggio di parametri per indirizzo Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Puntatori Passaggio di parametri per indirizzo Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica

Dettagli

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Secondo Modulo di Ricerca Operativa Prova in corso d anno 12 giugno 2000

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Secondo Modulo di Ricerca Operativa Prova in corso d anno 12 giugno 2000 A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneri Informtic Secondo Modulo di Ricerc Opertiv Prov in corso d nno giugno Nome: Cognome: Brrre l csell corrispondente: Diplom t Lure t Esercizio

Dettagli

Progettazione strutturale per elementi finiti Sergio Baragetti

Progettazione strutturale per elementi finiti Sergio Baragetti Progettzione strutturle per elementi finiti Sergio Brgetti Fcoltà di Ingegneri Università degli Studi di Bergmo Il metodo degli Elementi Finiti permette di risolvere il problem dell determinzione dello

Dettagli

E U Q A U Z A I Z O I N O I N DI SE S C E O C N O DO

E U Q A U Z A I Z O I N O I N DI SE S C E O C N O DO EQUAZIONI DI ECONDO GRADO Riepilogo delle soluzioni in bse l segno di < φ : b > : b b Prof I voi, EQUAZIONI DI ECONDO GRADO EQUAZIONI PURE DI ECONDO GRADO : EEMPI ) ) ) 7 7 ) > φ (impossibile) ) impossibil

Dettagli

Elementi di Calcolo Matriciale

Elementi di Calcolo Matriciale Corso di Lure in Disegno Industrile Corso di Metodi Numerici per il Design Lezione 7 Ottobre Elementi di Clcolo Mtricile F. Cliò Mtrici: Definizioni e Simbologi Lezione 7 Ottobre Elementi di Clcolo Mtricile

Dettagli

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 7 - Integrazione numerica

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 7 - Integrazione numerica Complementi di Mtemtic e Clcolo Numerico A.A. 0014-015 Lbortorio 7 - Integrzione numeric Dtunfunzionef vlorireliperclcolre b fornisce l funzione predefinit qud Sintssi: q=qud(f,,b,tol) input: f funzione

Dettagli

Verso i puntatori: Cosa è una variabile?

Verso i puntatori: Cosa è una variabile? Verso i puntatori: Cosa è una variabile? Quando si dichiara una variabile, ad es. int a; si rende noto il nome e il tipo della variabile. Il compilatore alloca l opportuno numero di byte di memoria per

Dettagli

Scheda Sei ESPONENZIALI E LOGARITMI. 0,+. Inoltre valgono le

Scheda Sei ESPONENZIALI E LOGARITMI. 0,+. Inoltre valgono le Sched Sei ESPONENZIALI E LOGARITMI L funzione esponenzile Assegnto un numero rele >0, si dice funzione esponenzile in bse l funzione Grfici dell funzione esponenzile Se = l funzione esponenzile è costnte:

Dettagli

Esercizio 1: funzione con valore di ritorno di tipo puntatore

Esercizio 1: funzione con valore di ritorno di tipo puntatore Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 7 Esercitazione: 14 dicembre 2005 Esercizi su ricorsione, manipolazione stringhe, strutture dinamiche Problema: Esercizio

Dettagli

Alcune mosse che utilizzano le proprietà delle operazioni in N

Alcune mosse che utilizzano le proprietà delle operazioni in N Operzioni in N Proprietà commuttiv dell ddizione + b b +,b N Proprietà ssocitiv dell ddizione ( + b) + c + (b + c) + b + c,b,c N Proprietà invrintiv dell sottrzione b ( + c) (b + c) b ( c) (b c),b,c N,b,c

Dettagli

La parabola LA PARABOLA È IL LUOGO DEI PUNTI DEL PIANO EQUIDI- STANTI DA UN PUNTO DETTO FUOCO E DA UNA RETTA CHE NON LO CONTIENE DETTA DIRETTRICE.

La parabola LA PARABOLA È IL LUOGO DEI PUNTI DEL PIANO EQUIDI- STANTI DA UN PUNTO DETTO FUOCO E DA UNA RETTA CHE NON LO CONTIENE DETTA DIRETTRICE. L prol In figur è trccito il grfico di un prol con sse di simmetri verticle. Si vede suito dl grfico ce: l curv è simmetric rispetto l suo sse di simmetri il suo punto più in sso è il vertice il vertice

Dettagli