DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio –...

19
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Lab 4: 7 Aprile 2014 Marco D. Santambrogio – [email protected] Gianluca Durelli – [email protected] Ver. aggiornata al 6 Aprile 2014

Transcript of DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio –...

Page 1: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Lab 4: 7 Aprile 2014Lab 4: 7 Aprile 2014

Marco D. Santambrogio – [email protected] Durelli – [email protected]

Ver. aggiornata al 6 Aprile 2014

Page 2: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

ObiettiviObiettivi

• Esercitarsi sui costrutti visti a lezione Tutto il C fatto fino a qui In particolare: matrici e strutture

2

Page 3: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

EserciziEsercizi

• Es0: Conta elementi (matrice)• Es1: Conta 0• Es2: Maggiori media• Es3: Occorrenze• Es4: Anagrafica• Es5: Scambia caratteri• Es6: Popola anagrafica con funzioni

3

Page 4: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 0: Conta elementi Exe 0: Conta elementi (matrice)(matrice)

• Scrivere un programma in C (no funzioni) che: ricevuto in ingresso una matrice NxM

di interi ed un numero X determini quanti numeri nella matrice

non sono divisibili per il numero dato

4

Page 5: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 0: Soluzione completa… Exe 0: Soluzione completa… base base

5

NOTA: cont DEVE

essere inizializzato a 0

Page 6: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 0: I datiExe 0: I dati

6

Page 7: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 0: Popolare la matriceExe 0: Popolare la matrice

7

Page 8: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 0: Popolare la matriceExe 0: Popolare la matrice

8

Fisso la riga (i) per la colonna

Page 9: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 0: Popolare la matriceExe 0: Popolare la matrice

9

Fisso la riga (i) per la colonnaFisso la riga (i) e la colonna (j)

Page 10: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 0: Popolare la matriceExe 0: Popolare la matrice

10

Fisso la riga (i) per la colonnaFisso la riga (i) e la colonna (j)

Elemento in posizione:riga: i, colonna: j

Page 11: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 0: Cerco gli elementi divisibiliExe 0: Cerco gli elementi divisibili

11

Page 12: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

EserciziEsercizi

• Es0: Conta elementi (matrice)• Es1: Conta 0• Es2: Maggiori media• Es3: Occorrenze• Es4: Anagrafica• Es5: Scambia caratteri• Es6: Popola anagrafica con funzioni

12

Page 13: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 1: Conta 0Exe 1: Conta 0

• Si scriva un programma in C (no funzioni) che: Presa in ingresso una matrice di interi

compresi tra 0 e 1 di dimensione RxC, con R e C definiti dall’utente

Restituisce come risultato il numero degli 0 presenti nella matrice

13

Page 14: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 2: Maggiori mediaExe 2: Maggiori media

• Scrivere un programma che, ricevuto in ingresso un vettore di N interi, determini quanti numeri dell’array sono maggiori della sua media

14

Page 15: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 3: OccorrenzeExe 3: Occorrenze

• Si scriva un programma in C (no funzioni) che: Presa in ingresso una matrice di interi

compresi tra 0 e 10 di dimensione RxC, con R e C definiti dall’utente

Restituisce come risultato il numero delle occorrenze per ciascuno dei valori presenti nella matrice

15

Page 16: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 4: AnagraficaExe 4: Anagrafica

• Si realizzi una struttura dati per la gestione dell’anagrafica degli utenti del Santa’s Hospital

• Per ogni paziente ci interessa: Nome, cognome, data di nascita,

telefono, email, indirizzo abitazione (via, numero civico, città, provincia, cap)

• Si scriva quindi un programma in C, no funzioni, che permette l’inserimento dei pazienti nell’agrafica del Santa’s Hospital

16

Page 17: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 5: Scambia caratteriExe 5: Scambia caratteri

• Si scriva un programma in C che, dati due caratteri, invoca una funzione swap che ne scambia i valori La funzione swap, per quanto visto fino ad

oggi a lezione, ha la seguente interfaccia:

void swap(char, char); Il programma funziona correttamente?

• Come si potrebbe risolvere l’eventuale problema?

17

Page 18: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 6: Anagrafica con funzioni Exe 6: Anagrafica con funzioni

• Si scriva un programma in C che, partendo dall’esercizio 4 di oggi, permetta che l’inserimento dell’anagrafica dei pazienti avvenga tramite l’invocazione di una funzione

• Si scriva quindi anche la funzione PopolaAnagrafica che permette l’inserimento dei pazienti nell’anagrafica del Santa’s Hospital

18

Page 19: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

• BUON LAVORO!

19