Date post: | 01-May-2015 |
Category: |
Documents |
Upload: | elena-ferrari |
View: | 214 times |
Download: | 0 times |
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 19 Aprile 2013Exe 19 Aprile 2013
Marco D. Santambrogio – [email protected]. aggiornata al 18 Aprile 2013
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
WATWAT
• Mettere gli extra Lab alle 8 del mattino vorrebbe dire avere in aula metà della gente
• NON è POSSIBILE DOVERSI ADEGUARE A CERTI ORARI. Per favore faccia delle modifiche al calendario.. (riferito alle OreRicevimento)
2
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
WAT… prima reazioneWAT… prima reazione
3
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Feedback 1Feedback 1
• Mettere gli extra Lab alle 8 del mattino vorrebbe dire avere in aula metà della gente
4
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Feedback 1Feedback 1
• Mettere gli extra Lab alle 8 del mattino vorrebbe dire avere in aula metà della gente
5
Lunedì Martedì Mercoledì Giovedì Venrdì6am - 7am7am - 8am8am - 9am9am - 10am10am - 11am11am - 12pm12pm - 1pm1pm - 2pm2pm -3pm3pm - 4pm4pm - 5pm5pm - 6pm
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Feedback 1Feedback 1
• Mettere gli extra Lab alle 8 del mattino vorrebbe dire avere in aula metà della gente
6
Lunedì Martedì Mercoledì Giovedì Venrdì6am - 7am7am - 8am8am - 9am9am - 10am 10am - 11am 11am - 12pm 12pm - 1pm 1pm - 2pm 2pm -3pm 3pm - 4pm 4pm - 5pm 5pm - 6pm
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Feedback 1Feedback 1
• Mettere gli extra Lab alle 8 del mattino vorrebbe dire avere in aula metà della gente
7
Lunedì Martedì Mercoledì Giovedì Venrdì6am - 7am7am - 8am8am - 9am9am - 10am 10am - 11am 11am - 12pm 12pm - 1pm 1pm - 2pm 2pm -3pm 3pm - 4pm 4pm - 5pm 5pm - 6pm
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Feedback 1 e 2Feedback 1 e 2
• Mettere gli extra Lab alle 8 del mattino vorrebbe dire avere in aula metà della gente
• NON è POSSIBILE DOVERSI ADEGUARE A CERTI ORARI. Per favore faccia delle modifiche al calendario.. (riferito alle OreRicevimento)
8
Lunedì Martedì Mercoledì Giovedì Venrdì6am - 7am7am - 8am 8am - 9am 9am - 10am 10am - 11am 11am - 12pm 12pm - 1pm 1pm - 2pm 2pm -3pm 3pm - 4pm 4pm - 5pm 5pm - 6pm
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Gruppi Gruppi OreRicevimentoOreRicevimento
• Gruppo 1 Chiara Crippa Giada Bandera Alessandra Camassa Maria Veronica Lipreri Chiara Balestra Valeria Luraghi
• Gruppo 2 Francesco La Marca Chiara Fattore Francesca Donnaloja Vincenza Cascella Clara Andolina Patrizia Casali
9
• Gruppo3 Matteo Lepori Andrea Crippa Luca Foppoli Girogio Andriani Francesca Berti
• Gruppo 4 Silvia Contini Giuseppina Lauriola Martina Gava Samuele Colombo Tommaso Cazzato
• Gruppo 5 Daniele Alberti Mattia Bergaglio Gabriele Bianchi Pierfrancesco
Capone Matteo Butti
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Veniamo a noi…Veniamo a noi…
10
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
La calcolatrice?La calcolatrice?
11
Umh….Meglio!
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
La calcolatrice!La calcolatrice!
• Si scriva un programma in C che, dati due numeri, permetta all’utente di calcolarne la somma, sottrazione, moltiplicazione, e la divisione tra essi
• Nota: l’utente, per ogni coppia di numeri inseriti, potrà eseguire una e una sola operazione
12
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Quante calcolatrici?Quante calcolatrici?
• V0: tutto in un file, con funzioni• V1: più file, con funzioni aritmetiche• V2: più file, con funzioni aritmetiche• V3: più file, con funzioni aritmetiche
e funzioni di I/O• V4: tutto in un file, con strutture• V5: più file, con strutture, con
funzioni aritmetiche e funzioni di I/O• V6: creiamo una libreria
13
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calcolatrice V0Calcolatrice V0
• Tutto in un file, con funzioni
14
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calcolatrice V1Calcolatrice V1
• Più file, con funzioni aritmetiche Perché non separare i prototipi dalle
implementazioni?• Un conto è il cosa (prototipi)• Un conto è il come (implementazioni)
In C• Il cosa: .h• Il come: .c
15
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calcolatrice V1: Calcolatrice V1: OrganizzazioneOrganizzazione
• Il cosa: IEIM_Calcolatrice.h Contiene la descrizione di tutti i nostri
prototipi
• Il come: IEIM_Calcolatrice.c Contiene la descrizione di tutte le
nostre funzioni
16
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calcolatrice V1: Problema Calcolatrice V1: Problema 11
• In IEIM_Calcolatrice.c, abbiamo un main che invoca alcune funzioni!!! Come diciamo al main come invocare
le funzioni di cui ha bisogno?
17
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calcolatrice V1: Problema Calcolatrice V1: Problema 22
• Quando compiliamo, come diciamo a IEIM_Calcolatrice.c dove si trova IEIM_Calcolatrice.h?
18
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Pausa!Pausa!
15’… poi seduti!
19
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calcolatrice V2Calcolatrice V2
• Più file, con funzioni aritmetiche Perché non separare i prototipi dalle
implementazioni?• Un conto è il cosa (prototipi)• Un conto è il come (implementazioni)
In C• Il cosa: .h• Il come: .c
• Ma quindi… perché le implementazioni delle funzioni sono nel file del main?
20
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calcolatrice V2: Calcolatrice V2: OrganizzazioneOrganizzazione
• Il cosa: IEIM_FunzioniCalcolatrice.h• Contiene la descrizione di tutti i nostri
prototipi
• Il come: IEIM_FunzioniCalcolatrice.c• Contiene la descrizione di tutte le nostre
funzioni
IEIM_Calcolatrice_V2.c• Contiene il main
21
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calcolatrice V2: ProblemaCalcolatrice V2: Problema
• Quando compiliamo, come diciamo a IEIM_Calcolatrice_v2.c dove si trovano le implementazioni? Dobbiamo prima creare il codice
oggetto per le implementazioni• compilare i file con le implementazioni
Quindi compilare il main fornendogli il file oggetto delle implementazioni
22
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calcolatrice V2: SoluzioneCalcolatrice V2: Soluzione
• Dobbiamo prima creare il codice oggetto per le implementazioni
• Quindi compilare il main fornendogli il file oggetto delle implementazioni
23
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calcolatrice V3Calcolatrice V3
• Più file, con funzioni aritmetiche e funzioni di I/O
• Se le funzioni aritmentiche sono in IEIM_FunzioniCalcolatrice.c, perché non fare lo stesso per quelle di I/O?
24
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calcolatrice V3: Calcolatrice V3: OrganizzazioneOrganizzazione
• Il cosa: IEIM_FunzioniCalcolatrice.h
• Contiene la descrizione dei prototipi delle funzioni artimetiche
IEIM_FunzioniIO.h• Contiene la descrizione dei prototipi delle funzioni
di I/O
• Il come: IEIM_FunzioniCalcolatrice.c
• Contiene la descrizione delle funzioni aritmetiche IEIM_FunzioniIO.c
• Contiene la descrizione delle funzioni di I/O IEIM_Calcolatrice_V3.c
• Contiene il main
25
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calcolatrice V3: CompilazioneCalcolatrice V3: Compilazione
• Come per la V2 Prima tutti i file oggetto
Quindi l’eseguibile
26
gcc IEIM_FunzioniIO.c -c
gcc IEIM_FunzioniAritmetiche.c -c
gcc IEIM_CalcolatriceV3.c IEIM_FunzioniAritmetiche.o
IEIM_FunzioniIO.o –o exe
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Pausa!Pausa!
15’… poi seduti!
27
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calcolatrice V4Calcolatrice V4
• Tutto in un file, con strutture
28
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calcolatrice V5Calcolatrice V5
• Più file, con strutture, con funzioni aritmetiche e funzioni di I/O
• Problemi Se le funzioni hanno bisogno di dati,
come facciamo a dargli questa informazione?
Se i parametri sono strutturati, e vengono passati per indirizzo, come faccio a salvare i valori nei loro campi?
29
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calcolatrice V5: Problema Calcolatrice V5: Problema 11
• Se le funzioni hanno bisogno di dati, come facciamo a dargli questa informazione?
• Sfruttiamo gli include nei file di progetto! Vediamolo nel codice…
30
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calcolatrice V5: Problema Calcolatrice V5: Problema 22
• Se i parametri sono strutturati, e vengono passati per indirizzo, come faccio a salvare i valori nei loro campi?
31
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calcolatrice V5: Calcolatrice V5: OrganizzazioneOrganizzazione
• Il cosa: IEIM_FunzioniCalcolatrice.h
• Contiene la descrizione dei prototipi delle funzioni artimetiche
IEIM_FunzioniIO.h• Contiene la descrizione dei prototipi delle funzioni di I/O
IEIM_Dati.h• Contiene la struttura dati
• Il come: IEIM_FunzioniCalcolatrice.c
• Contiene la descrizione delle funzioni aritmetiche IEIM_FunzioniIO.c
• Contiene la descrizione delle funzioni di I/O IEIM_Calcolatrice_V5.c
• Contiene il main
32
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calcolatrice V6Calcolatrice V6
• Ma se volessimo creare una libreria?
33
gcc IEIM_Calcolatrice_V6.c libreria.a -o exe
cd CalcolatriceV6
gcc IEIM_FunzioniIO.c IEIM_FunzioniCalcolatrice.c -c
ar -r libreria.a IEIM_FunzioniIO.o IEIM_FunzioniCalcolatrice.o
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calcolatrice V7… per casaCalcolatrice V7… per casa
• Più file, con strutture, con funzioni aritmetiche e funzioni di I/O
• Problema Se i parametri sono strutturati, e
vengono passati per copia, come faccio a salvare i valori nei loro campi?• … è possibile passare per copia un dato
strutturato?• … è possibile ritornare un dato strutturato?
• Si veda il codice in CalcolatriceV7
34
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
FineFine
35