Corso di Informatica Medica
Esercitazione VIII
Alessandro A. Nacci
nacci@elet.polimi.it - alessandronacci.com
1
domenica 2 giugno 13
2
domenica 2 giugno 13
Lancio dei dati
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.3
domenica 2 giugno 13
La media
Dato che sappiamo usare le sommatorie...
4
domenica 2 giugno 13
La media
Dato che sappiamo usare le sommatorie...
4
domenica 2 giugno 13
La media
Dato che sappiamo usare le sommatorie...
4
Cosa sarebbe cambiato se fosse stato...
domenica 2 giugno 13
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
domenica 2 giugno 13
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?
domenica 2 giugno 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 array6
domenica 2 giugno 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 array6
domenica 2 giugno 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 array6
domenica 2 giugno 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 array6
domenica 2 giugno 13
La mediana (codice C)
7
domenica 2 giugno 13
La mediana (codice C)
7
domenica 2 giugno 13
Calcolo delle frequenze
8
domenica 2 giugno 13
Calcolo delle frequenze
8
domenica 2 giugno 13
Il main()
9
domenica 2 giugno 13
FINE ESERCIZIO
Domande?
10
domenica 2 giugno 13
L’albero genealogico
•
Scrivere un programma C che sia in grado di rappresentare e gestire un albero genealogico11
•
In particolare, vogliamo poter fare:-
Creare una persona-
Rappresentare di una popolazione-
Aggiungere figli ad una persona-
Elencare i figli e i nipoti dato un antenatodomenica 2 giugno 13
Una famosa struttura dati: l’albero
12
P0
P1 P2 P3
P4 P5
domenica 2 giugno 13
Una famosa struttura dati: l’albero
12
P0
P1 P2 P3
P4 P5
ogni cerchio si chiama “nodo”
domenica 2 giugno 13
Una famosa struttura dati: l’albero
12
P0
P1 P2 P3
P4 P5
ogni cerchio si chiama “nodo”
PADRE
FIGLIO
domenica 2 giugno 13
Una famosa struttura dati: l’albero
12
P0
P1 P2 P3
P4 P5
ogni cerchio si chiama “nodo”
PADRE
FIGLIO
PADRE
FIGLI
domenica 2 giugno 13
Una famosa struttura dati: l’albero
12
P0
P1 P2 P3
P4 P5
ogni cerchio si chiama “nodo”
PADRE
FIGLIO
PADRE
FIGLI
PADRE
FIGLIO
domenica 2 giugno 13
Una famosa struttura dati: l’albero
12
P0
P1 P2 P3
P4 P5
ogni cerchio si chiama “nodo”
PADRE
FIGLIO
PADRE
FIGLI
PADRE
FIGLIO PADRE
FIGLIO
domenica 2 giugno 13
Una famosa struttura dati: l’albero
12
P0
P1 P2 P3
P4 P5
ogni cerchio si chiama “nodo”
PADRE
FIGLIO
PADRE
FIGLI
PADRE
FIGLIO PADRE
FIGLIO
PADRE
FIGLIO
domenica 2 giugno 13
Una famosa struttura dati: l’albero
12
P0
P1 P2 P3
P4 P5
RADICE
FOGLIA FOGLIA
FOGLIA FOGLIA
ogni cerchio si chiama “nodo”
PADRE
FIGLIO
PADRE
FIGLI
PADRE
FIGLIO PADRE
FIGLIO
PADRE
FIGLIO
domenica 2 giugno 13
Una famosa struttura dati: l’albero
12
P0
P1 P2 P3
P4 P5
Può essere utile per rappresentare un albero genealogico?
RADICE
FOGLIA FOGLIA
FOGLIA FOGLIA
ogni cerchio si chiama “nodo”
PADRE
FIGLIO
PADRE
FIGLI
PADRE
FIGLIO PADRE
FIGLIO
PADRE
FIGLIO
domenica 2 giugno 13
Una famosa struttura dati: l’albero
12
P0
P1 P2 P3
P4 P5
Può essere utile per rappresentare un albero genealogico?
RADICE
FOGLIA FOGLIA
FOGLIA FOGLIA
ogni cerchio si chiama “nodo”
PADRE
FIGLIO
PADRE
FIGLI
PADRE
FIGLIO PADRE
FIGLIO
PADRE
FIGLIO
OVVIAMENTE SI
domenica 2 giugno 13
•
OGNI NODO DELL’ALBERO SARA’ PER NOI UNA PERSONA13
==
Pdomenica 2 giugno 13
Una Persona
•
SESSO•
NOME•
ETA?•
CHI SONO I GENITORI?•
CHI SONO I FIGLI?•
QUANTI FIGLI?14
domenica 2 giugno 13
Una Popolazione
•
Una popolazione è rapprentata da un insieme di persone•
Ogni persona ha un suo indice•
Esiste un numero di persone della popolazione (cardinalità)cardinalità15
1 2 3 4 5 6 7
domenica 2 giugno 13
Una Persona nella popolazione
•
SESSO•
NOME•
ETA?•
CHI SONO I GENITORI?•
CHI SONO I FIGLI?•
QUANTI FIGLI?cardinalità 16
1 2 3 4 5 6 7
Li rappresentiamo con l’indice della persona nella popolazione
domenica 2 giugno 13
Persona e Popolazione (codice C)
17
domenica 2 giugno 13
Persona e Popolazione (codice C)
17
domenica 2 giugno 13
Persona e Popolazione (codice C)
17
domenica 2 giugno 13
Creazione di una persona
18
domenica 2 giugno 13
Creazione di una persona
18
domenica 2 giugno 13
Aggiunta persona alla popolazione
19
domenica 2 giugno 13
Aggiunta persona alla popolazione
19
domenica 2 giugno 13
Aggiunta di un figlio
20
domenica 2 giugno 13
Aggiunta di un figlio
20
domenica 2 giugno 13
Funzioni di stampa a schermo
21
domenica 2 giugno 13
Funzioni di stampa a schermo
21
domenica 2 giugno 13
Funzioni di stampa a schermo
21
domenica 2 giugno 13
Elenco dei figli e dei nipoti
22
domenica 2 giugno 13
Elenco dei figli e dei nipoti
22
domenica 2 giugno 13
La nostra popolazione
23
MARCO STEFANIA LUCA PIPPO LUCIA ARIANNA RINALDO STEFANO
P0 P1 P2 P3 P4 P5 P6 P7
domenica 2 giugno 13
La nostra popolazione
23
MARCO STEFANIA LUCA PIPPO LUCIA ARIANNA RINALDO STEFANO
P0 P1 P2 P3 P4 P5 P6 P7
Marco e' padre di LUCA e di PIPPO Stefania e' madre di LUCA e di PIPPO Arianna e' figlia di Marco e Lucia
Stefano e' figlio di Arianna e Rinaldo
domenica 2 giugno 13
La nostra popolazione
23
MARCO STEFANIA LUCA PIPPO LUCIA ARIANNA RINALDO STEFANO
P0 P1 P2 P3 P4 P5 P6 P7
P4 P0 P1
P5 P2 P3
P7 P6
Marco e' padre di LUCA e di PIPPO Stefania e' madre di LUCA e di PIPPO Arianna e' figlia di Marco e Lucia
Stefano e' figlio di Arianna e Rinaldo
domenica 2 giugno 13
La nostra popolazione (codice C)
24
domenica 2 giugno 13
Aggiungiamo le parentele
25
P4 P0 P1
P5 P2 P3
P7 P6
domenica 2 giugno 13
Aggiungiamo le parentele
25
P4 P0 P1
P5 P2 P3
P7 P6
domenica 2 giugno 13
Il main()
26
domenica 2 giugno 13
Tutte il materiale sarà disponibile sul mio sito internet:
alessandronacci.com
27
Potete lasciare il vostro giudizio qui:
http://tinyurl.com/IEIMExe2013
domenica 2 giugno 13