• Non ci sono risultati.

IEIM 2015-2016

N/A
N/A
Protected

Academic year: 2021

Condividi "IEIM 2015-2016"

Copied!
79
0
0

Testo completo

(1)

IEIM 2015-2016

Esercitazione IX

“Ordinamento vettori e Struct Complesse”

Alessandro A. Nacci

alessandro.nacci@polimi.it - www.alessandronacci.it

(2)

Ordinamento di vettori

“Il lancio dei dadi”

2

(3)

Lancio dei dadi

Data la sequenza di lanci di un dato che ha prodotto il seguente risultato:

{3,4,6,1,3,5,4,2,6,2,3}

Calcolare media e mediana degli elementi di un array contenente i lanci di un dado.

Calcolare inoltre le frequenze di ogni valore.

(4)

La media

Dato che sappiamo usare le sommatorie...

4

(5)

La media

Dato che sappiamo usare le sommatorie...

(6)

La media

Dato che sappiamo usare le sommatorie...

4

Cosa sarebbe cambiato se fosse stato...

(7)

La mediana

Per calcolare la mediana di dati:

si ordinano gli n di dati in ordine crescente o decrescente;

se il numero di dati è dispari la mediana corrisponde al valore centrale, ovvero al valore che occupa la posizione (n + 1) / 2

se il numero n di dati è pari, la mediana è

stimata utilizzando i due valori che occupano le posizione (n / 2) e ((n /2) + 1)

(generalmente si sceglie la loro media

(8)

La mediana

Per calcolare la mediana di dati:

si ordinano gli n di dati in ordine crescente o decrescente;

se il numero di dati è dispari la mediana corrisponde al valore centrale, ovvero al valore che occupa la posizione (n + 1) / 2

se il numero n di dati è pari, la mediana è

stimata utilizzando i due valori che occupano le posizione (n / 2) e ((n /2) + 1)

(generalmente si sceglie la loro media

5

Come facciamo ad ordinare i dati?

(9)

Ordinamento dei dati: bubble sort

Per avere un ordinamento crescente:

scambio man mano a due a due due elementi xi e xi+1 se xi > xi+1

Dopo n-1 iteraizoni ho la garanzia di aver ordinato l’intero array

(10)

Ordinamento dei dati: bubble sort

Per avere un ordinamento crescente:

scambio man mano a due a due due elementi xi e xi+1 se xi > xi+1

Dopo n-1 iteraizoni ho la garanzia di aver ordinato l’intero array

6

(11)

Ordinamento dei dati: bubble sort

Per avere un ordinamento crescente:

scambio man mano a due a due due elementi xi e xi+1 se xi > xi+1

Dopo n-1 iteraizoni ho la garanzia di aver ordinato l’intero array

(12)

Ordinamento dei dati: bubble sort

Per avere un ordinamento crescente:

scambio man mano a due a due due elementi xi e xi+1 se xi > xi+1

Dopo n-1 iteraizoni ho la garanzia di aver ordinato l’intero array

6

(13)

Ordinamento dei dati: bubble sort

Per avere un ordinamento crescente:

scambio man mano a due a due due elementi xi e xi+1 se xi > xi+1

Dopo n-1 iteraizoni ho la garanzia di aver ordinato l’intero array

(14)

La mediana (codice C)

7

(15)

La mediana (codice C)

(16)

Calcolo delle frequenze

8

(17)

Calcolo delle frequenze

(18)

Il main()

9

(19)

FINE ESERCIZIO

Domande?

(20)

Utilizzo di Struct Complesse

“Gestione Automobili”

11

(21)

Automobili

Rappresentare in C una automobile. Nel nostro caso, una automobile è descritta da un nome, un costo, un colore, da un insieme di componenti e da un libretto di circolazione.

Un componente ha un nome, un costo ed una categoria. Le categorie possibili sono TRAZIONE, MULTIMEDIA, SICUREZZA

Il libretto di circolazione riporta invece l’anno e la provincia di immatricolazione e in che classe Euro rientra.

Il programma deve poter permettere la creazione di auto e la stampa a schermo di tutti i dati relativi ad un’auto

Deve poter permettere inoltre di modificare il nome dell’auto

Deve poter calcolare il costo totale per la produzione dell’auto

(22)

Automobili: Le strutture dati - Codice C

13

(23)

crea_libretto_cicolazione

Scriviamo una funzione per la creazione di un generico libretto di circolazione

(24)

crea_libretto_cicolazione

Scriviamo una funzione per la creazione di un generico libretto di circolazione

14

(25)

crea_componente

Scriviamo una funziona per la creazione di un generico componente di un’auto

(26)

crea_componente

Scriviamo una funziona per la creazione di un generico componente di un’auto

15

(27)

crea_auto

Scriviamo una funziona per la creazione di una generica automobile

(28)

crea_auto

Scriviamo una funziona per la creazione di una generica automobile

16

(29)

Stampa a schermo dei dati di un’auto

AUTOMOBILE NOME COSTO COLORE

COMPONENTI NOME COSTO CATEGORIA LIBRETTO

ANNO IMM.

PROVINCIA

(30)

Stampa di un componente

18

AUTOMOBILE NOME COSTO COLORE

COMPONENTI NOME COSTO CATEGORIA LIBRETTO

ANNO IMM.

PROVINCIA CLASSE EURO

(31)

Stampa di un componente

AUTOMOBILE NOME COSTO COLORE

COMPONENTI NOME COSTO CATEGORIA LIBRETTO

ANNO IMM.

PROVINCIA

stringa

(32)

Stampa di un componente

18

AUTOMOBILE NOME COSTO COLORE

COMPONENTI NOME COSTO CATEGORIA LIBRETTO

ANNO IMM.

PROVINCIA CLASSE EURO

stringa float

(33)

Stampa di un componente

AUTOMOBILE NOME COSTO COLORE

COMPONENTI NOME COSTO CATEGORIA LIBRETTO

ANNO IMM.

PROVINCIA

stringa float enum

(34)

Stampa di un componente

18

AUTOMOBILE NOME COSTO COLORE

COMPONENTI NOME COSTO CATEGORIA LIBRETTO

ANNO IMM.

PROVINCIA CLASSE EURO

stringa float enum

(35)

Stampa di un componente

AUTOMOBILE NOME COSTO COLORE

COMPONENTI NOME COSTO CATEGORIA LIBRETTO

ANNO IMM.

PROVINCIA

stringa float enum

(36)

Calcolo costo componente

19

AUTOMOBILE NOME COSTO COLORE

COMPONENTI NOME COSTO CATEGORIA LIBRETTO

ANNO IMM.

PROVINCIA CLASSE EURO

(37)

Stampa libretto circolazione

AUTOMOBILE NOME COSTO COLORE

COMPONENTI NOME COSTO CATEGORIA LIBRETTO

ANNO IMM.

PROVINCIA

(38)

Stampa libretto circolazione

20

AUTOMOBILE NOME COSTO COLORE

COMPONENTI NOME COSTO CATEGORIA LIBRETTO

ANNO IMM.

PROVINCIA CLASSE EURO

intero

(39)

Stampa libretto circolazione

AUTOMOBILE NOME COSTO COLORE

COMPONENTI NOME COSTO CATEGORIA LIBRETTO

ANNO IMM.

PROVINCIA

intero

stringa

(40)

Stampa libretto circolazione

20

AUTOMOBILE NOME COSTO COLORE

COMPONENTI NOME COSTO CATEGORIA LIBRETTO

ANNO IMM.

PROVINCIA CLASSE EURO

intero

stringa intero

(41)

Stampa libretto circolazione

AUTOMOBILE NOME COSTO COLORE

COMPONENTI NOME COSTO CATEGORIA LIBRETTO

ANNO IMM.

PROVINCIA

intero

stringa intero

(42)

Stampa a schermo dei dati di un’auto

21

AUTOMOBILE NOME COSTO COLORE

COMPONENTI NOME COSTO CATEGORIA LIBRETTO

ANNO IMM.

PROVINCIA CLASSE EURO

(43)

Stampa a schermo dei dati di un’auto

AUTOMOBILE NOME COSTO COLORE

COMPONENTI NOME COSTO CATEGORIA LIBRETTO

ANNO IMM.

PROVINCIA

(44)

Una prima parte di main() ...

22

(45)

Occupiamoci della modifica

(46)

Occupiamoci della modifica

23

(47)

Occupiamoci della modifica

(48)

Occupiamoci della modifica

23

(49)

Occupiamoci della modifica

(50)

Finiamo il main() ...

24

(51)

Automobili: Le strutture dati - Codice C

RICAPITOLIAMO

AUTOMOBILE NOME COSTO COLORE

COMPONENTI NOME COSTO CATEGORIA LIBRETTO

ANNO IMM.

PROVINCIA

(52)

26

(53)

Lavoriamo con i file

Vogliamo poter salvare tutte le informazioni di una automobile su file e poterle rileggere indietro

(54)

Per poter salvare un’automobile...

28

AUTOMOBILE NOME COSTO COLORE

COMPONENTI NOME COSTO CATEGORIA LIBRETTO

ANNO IMM.

PROVINCIA CLASSE EURO

DOBBIAMO POTER SALVARE I

COMPONENTI

DOBBIAMO POTER SALVARE I

LIBRETTI

E’ UN DATO STRUTTURATO!

(55)

Organizzazione dei dati

auto_db

componenti_db

libretto_db

(56)

Organizzazione dei dati

30

auto_db

componenti_db

libretto_db

AUTOMOBILE NOME COSTO COLORE

COMPONENTI NOME COSTO CATEGORIA LIBRETTO

ANNO IMM.

PROVINCIA CLASSE EURO

(57)

Scrittura su file

Ci è comodo avere una funzione per la scrittura di una singola linea di un file...

(58)

Scrittura su file

Ci è comodo avere una funzione per la scrittura di una singola linea di un file...

31

(59)

Salviamo un libretto...

(60)

Salviamo un libretto...

32

(61)

Salviamo un libretto...

(62)

Salviamo i componenti...

33

(63)

Salviamo i componenti...

(64)

Salviamo i componenti...

33

(65)

Salviamo l’auto...

(66)

Salviamo l’auto...

34

(67)

Salviamo l’auto...

(68)

Lettura da file

Scriviamo ora il codice

per leggere i dati da file..

35

(69)

Lettura del libretto di circolazione

(70)

Lettura del libretto di circolazione

36

(71)

Leggiamo i componenti

E’ una stringa!

Sono più linee!

(72)

Leggiamo i componenti

38

E’ una stringa!

Sono più linee!

(73)

Leggiamo i componenti

E’ una stringa!

Sono più linee!

(74)

Leggiamo i componenti

38

E’ una stringa!

Sono più linee!

(75)

Leggiamo i componenti

(76)

Leggiamo l’automobile

40

(77)

Leggiamo l’automobile

(78)

Finiamo il main() ...

41

(79)

Tutte il materiale sarà

disponibile sul mio sito internet!

alessandronacci.it

Riferimenti

Documenti correlati

Nel nostro caso, una automobile è descritta da un nome, un costo, un colore, da un insieme di componenti e da un libretto di circolazione.. • Un componente ha un nome, un costo ed

Nel nostro caso, una automobile è descritta da un nome, un costo, un colore, da un insieme di componenti e da un libretto di circolazione.. • Un componente ha un nome, un costo ed

Nel nostro caso, una automobile è descritta da un nome, un costo, un colore, da un insieme di componenti e da un libretto di circolazione.. • Un componente ha un nome, un costo ed

Al fine di escludere un quadro di ipertensione endocranica con fundus oculi nella norma venivano testati i potenziali evocati visivi, risultati nella norma; per comparsa

Copyright© 2011-2016 owned by Ubaldo Pernigo, www.ubimath.org - contact: ubaldo@pernigo.com Il presente lavoro è coperto da Licenza Creative Commons Attribuzione - Non commerciale -

nostro gruppo di ricerca ha sviluppato un sem- plice sistema nel quale un macrociclo transita unidirezionalmente lungo un asse molecolare in modo ripetitivo usando la luce come unica

una singola disposizione, ma ripensare più compiutamente sul valore dei principi di legalità, di obbligatorietà dell’azione penale, sulla discrezionalità della

panino, biglietto, ristorante, vino, film, ufficio, gelato, albergo, autobus, bar, ospedale,. ombrello,