DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 15 Giugno 2016
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Info: Modalità d’esame La verifica dell’apprendimento è da intendersi sull’intero programma del corso integrato, con un esame unico e un unico voto finale: Info + EIM Il tempo previsto per il completamento della prova (Info + Elementi di medica) è di 3h e 15’ EIM 75 minuti Info 2h La valutazione finale è composta dalla somma di: Valutazione della singola prova d'esame scritta per entrambi i moduli 23 punti per la parte di Informatica Soglia minima di 12 punti come condizione necessaria per la sufficienza 10 punti per la parte di Elementi di Informatica Medica Soglia minima di 6 punti come condizione necessaria per la sufficienza 2
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Parte di Informatica Lo studente DEVE selezionare UNO tra i tre temi proposti e svolgere SOLO ed UNICAMENTE gli esercizi del temi selezionato, consegnando UN SOLO foglio protocollo! La prova è superata con un minimo di 60 punti su 100. Gli orali sono obbligatori nella fascia Una insufficienza viene considerata non grave, se non inferiore a 50 punti su 100. Scritto su carta: E’ possibile portare all’esame libri, appunti, slide, ma questo materiale potrà essere usato solo dopo il termine della prova di Elementi di informatica medica. NON è possibile tenere acceso alcun dispositivo elettronico (e.g. portatile, cellulare, calcolatrice, tablet, etc.). Gli studenti che verranno trovati a copiare, a far copiare, o con dispositivi elettronici accessi verranno automaticamente ESPULSI dalla prova 3
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Parte di Informatica 4
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Nota Importante Non vi è più l’obbligo di fare EIM e Info nello stesso appello… 5
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Nota Importante Non devono neanche essere più superati nella stessa sessione! Varranno fino all’inizio del nuovo corso… Marzo 2017! 6
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Valutazione esame: Info 7
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Valutazione esame: Info 8 Orale !Scritto
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Valutazione esame: Info Pensate che lo scritto non faccia per voi? Che non vi permetta di esprimervi al meglio? Nel rispetto dei vostri colleghi, troviamo un modo che vi permetta di esprimervi al meglio, e.g. orale 9 Orale !Scritto
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Valutazione esame: Info Decidete voi quando farlo… ovviamente in accordo con le mie disponibilità! Non è una prova extra, avete 6 prove, ne perdete uno per ogni orale che farete 10 Orale: come
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Appelli… per ora 11
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Appelli… per ora Pre-appello di INFO pm 1mo appello Quando: 12 8am (circa) Dove: TbD 2ndo appello Quando: 28 3pm (circa) Dove: TbD 12
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEPre-appello Quando: 24 Giugno 2.30pm Dove: T.12, C.I.1, eCG1 Divisione, per ordine alfabetico, da annunciarsi Come: Si scrive su un (UNO SOLO) foglio protocollo Portate quello che volete (come libri/appunti) NO calcolatrici/cellulari/PC/tablet, etc. 13
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come passare l’appello… 14
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Massimo Comune Divisore Definizione Dicesi Massimo Comune Divisore (M.C.D.) il piu’ grande tra i divisori comuni a due o piu’ numeri Il nostro problema: Dati due numeri interi, si trovi il MCD 15
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Parte 0/4: La brutta notizia! Abbiamo un problema!!!! Dati due numeri interi, si trovi il MCD 16 how to solve it di Poyla G. -
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come realizzare un algoritmo Parte 1/4: Capire il problema Quale e’ il problema generale che si scerca di risolvere? 17
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Parte 1/4: Capire il problema Abbiamo un solo problema? Dati due numeri interi, si trovi il MCD P1: Ci servono due numeri interi P2: Dobbiamo trovare il MCD di due numeri 18
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Abbiamo solo P1 e P2? Dati due numeri interi, si trovi il MCD P1: Ci servono due numeri interi P1.1: Ci servono due scatole per salvare i due numeri P1.2: I numeri devono essere maggiori uguali a 1 P2: Dobbiamo trovare il MCD di due numeri P2.1: Dobbiamo trovare tutti i divisori di un numero (X) P2.2: Dobbiamo trovare tutti i numeri {C} in comune a due sequenze {S1, S2} di numeri P2.3: Dobbiamo trovare il maggiore tra N numeri 19
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come realizzare un algoritmo Parte 2/4: Fare/creare un piano Ci possono essere diverse strategie per risolvere lo stesso problema Ipotizzare e verificare Cercare dei pattern Risolvere problemi più piccoli Disegnare uno schema 20
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Parte 2/4: Fare/creare un piano Dati due numeri interi, si trovi il MCD P1: Ci servono due numeri interi P1.1: Ci servono due scatole per salvare i due numeri P1.2: I numeri devono essere maggiori uguali a 1 P2: Dobbiamo trovare il MCD di due numeri P2.1: Dobbiamo trovare tutti i divisori di un numero (X) P2.2: Dobbiamo trovare tutti i numeri {C} in comune a due sequenze {S1, S2} di numeri P2.3: Dobbiamo trovare il maggiore tra N numeri 21
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE P1: Fare/creare un piano P1: Ci servono due numeri interi P1.1: Ci servono due scatole per salvare i due numeri Di che tipo sono i numeri che ci servono? P1.2: I numeri devono essere maggiori uguali A 1 Come facciamo a garantire che il numero inserito sia maggiore uguale a 1? 22
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE P1.2: Fare/creare un piano P1.2: I numeri devono essere maggiori uguale a 1 Come facciamo a garantire che il numero inserito sia maggiore uguale a 1? A.Inserisci il numero B.Il numero è maggiore o uguale a 1 a.Se si FINE b.Se no, torna a A 23
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE P1.2: Chiariamo meglio… P1.2: I numeri devono essere maggiori uguale a 1 Come facciamo a garantire che il numero inserito sia maggiore uguale a 1? A.Inserisci il numero B.Finché Il numero è minore di 1, torna ad A 24
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE P1.1+P1.2: P1 risolto 1.P1.1: Leggo un dato intero N1 2.P1.2: Finché N1 è minore di 1, torna ad 1 3.P1.1: Leggo un dato intero N2 4.P1.2: Finché N2 è minore di 1, torna ad 3 25
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE P2: Fare/creare un piano P2: Dobbiamo trovare il MCD di due numeri P2.1: Dobbiamo trovare tutti i divisori di un numero (X) P2.2: Dobbiamo trovare tutti i numeri {C} in comune a due sequenze {S1, S2} di numeri P2.3: Dobbiamo trovare il maggiore tra N numeri 26
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE P2.1: Fare/creare un piano P2.1: Dobbiamo trovare tutti i divisori di un numero (X) Definisco D come numero che varia tra 1 e X Dati X e D, interi positivi se X/D da resto 0, – D è divisore di X 27
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE P2.2: Fare/creare un piano P2.2: Dobbiamo trovare tutti i numeri {C} in comune a due sequenze {S1, S2} di numeri Dato X1 appartenente a S1 Dato X2 appartenente a S2 Se X1 è uguale a X2 allora il valore è comune a S1 e S2 28
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE P2.3: Chiariamo meglio… P2.3: Dobbiamo trovare il maggiore tra N numeri 1.Il maggiore è il primo numero di N 2.Vi è un altro numero in N? A.Si a.Confronto il maggiore con il successivo b.Il successivo è maggiore? c.Si: il maggiore diventa il successivo d.Vado a 2 B.No: vado a 3 3.Il maggiore è maggiore 29
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE P2.3: Fare/creare un piano P2.3: Dobbiamo trovare il maggiore tra N numeri 1.Il maggiore è il primo numero di N 2.Finché vi sono numeri in N? a.Confronto il maggiore con il successivo b.Il successivo è maggiore? c.Si: il maggiore diventa il successivo d.Vado a 2 3.Il maggiore è maggiore 30
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE P2.1+P2.2: Fare/creare un piano P2.1: Dobbiamo trovare tutti i divisori di un numero P2.2: Dobbiamo trovare tutti i numeri {C} in comune a due sequenze {S1, S2} di numeri 31 Come sono i numeri in {C}? (P2.2) Sono divisori di un numero! (P1.1)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE P2.1+P2.2: Ricordiamo… P2.1: Dobbiamo trovare tutti i divisori di un numero (X) Definisco D come numero che varia tra 1 e X Dati X e D, interi positivi se X/D da resto 0, D è divisore di X P2.2: Dobbiamo trovare tutti i numeri {C} in comune a due sequenze {S1, S2} di numeri Dato D1 appartenente a S1 Dato D2 appartenente a S2 Se D1 è uguale a D2 allora il valoro è comune a S1 e S2 32
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE P2.1+P2.2: ma quindi… Dati due numeri N1 e N2 P2.1: D1 divide N1 (appartiene a S1) P2.1: D2 divide N2 (appartiene a S2) P2.2: D1 è uguale a D2? SI: D1 (o D2) è un divisore comune a N1 e a N2 33 Se D1 è maggiore di N2? Se D2 è maggiore di N1?
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE P2.1+P2.2: e ancora… Dati due numeri N1 e N2 X = 1 Finché X è minore o uguale a N1 e a N2 P2.1: X divide N1? e X divide N2? SI: P2.2 X è divisore comune a N1 e a N2 Incremento X 34 E cosa facciamo a P2.3?
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE P2.3: Fare/creare un piano P2.3: Dobbiamo trovare il maggiore tra N numeri 1.Il maggiore è il primo numero di N 2.Finché vi sono numeri in N? a.Confronto il maggiore con il successivo b.Il successivo è maggiore? c.Si: il maggiore diventa il successivo d.Vado a 2 3.Il maggiore è maggiore 35 E se gli N numeri fossero ordinati in ordine crescente?
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE P2.3: Numeri ordinati P2.3: Dobbiamo trovare il maggiore tra N numeri 1.Il maggiore è l’ultimo numero di N 36 Essendo ordinati in ordine crescente Ogni successero è maggiore del precedente Come usiamo questa idea?
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEP2.1+P2.2+P2.3 Dati due numeri N1 e N2 X = 1 Finché X è minore o uguale a N1 e a N2 P2.1: X divide N1? e X divide N2? SI: P2.2 X è divisore comune a N1 e a N2 Incremento X P2.3: Dobbiamo trovare il maggiore tra N numeri 37 Come varia X?In ordine crescente :)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE P2: risolto Dati due numeri N1 e N2 X = 1 e TMP = 1 Finché X è minore o uguale a N1 e a N2 P2.1: X divide N1? e X divide N2? SI: –P2.2: X è divisore comune a N1 e a N2 –P2.3: TMP = X Incremento X TMP è il MCD 38
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE P1 + P2: mettiamo tutto insieme 1.P1.1: Leggo un dato intero N1 2.P1.2: Finché N1 è minore di 1, torna ad 1 3.P1.1: Leggo un dato intero N2 4.P1.2: Finché N2 è minore di 1, torna ad 3 5.X = 1 e TMP = 1 6.Finché X è minore o uguale a N1 e a N2 1.P2.1: X divide N1? e X divide N2? 1.SI: 1.P2.2: X è divisore comune a N1 e a N2 2.P2.3: TMP = X 2.Incremento X 7.TMP è il MCD 39
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come realizzare un algoritmo Parte 3/4: Portare avanti il piano Mettere in azione il vostro piano! Rimanere sul piano deciso a meno che non vi siano evidenti motivi per credere che esso non funzionerà più La pazienza è il vostro miglior alleato 40
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Parte 3/4: Portare avanti il piano 1.P1.1: Leggo un dato intero N1 2.P1.2: Finché N1 è minore di 1, torna ad 1 3.P1.1: Leggo un dato intero N2 4.P1.2: Finché N2 è minore di 1, torna ad 3 5.X = 1 e TMP = 1 6.Finché X è minore o uguale a N1 e a N2 1.P2.1: X divide N1? e X divide N2? 1.SI: 1.P2.2: X è divisore comune a N1 e a N2 2.P2.3: TMP = X 2.Incremento X 7.TMP è il MCD 41 Quante e quali variabili ci servono?
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Parte 3/4: Portare avanti il piano 42 Quante e quali variabili ci servono?
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Parte 3/4: Portare avanti il piano 1.P1.1: Leggo un dato intero N1 2.P1.2: Finché N1 è minore di 1, torna ad 1 43
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Parte 3/4: Portare avanti il piano 5. X = 1 e TMP = 1; 44
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Definisco la condizione 45 A: X <= N1 B: X <= N2 6. Finché X è minore o uguale a N1 e a N2 A B uscita Finché ((X<=N1) AND (X<=N2))
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Parte 3/4: Portare avanti il piano 6. Finché X è minore o uguale a N1 e a N2 1.P2.1: X divide N1? e X divide N2? 1.SI: 1.P2.2: X è divisore comune a N1 e a N2 2.P2.3: TMP = X 2.Incremento X 46
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Funzioni equivalenti 1 47 A: N1%X B: 0 A B uscita !0 0 1 uscita è identica ad A uscita = A NO!!!!!
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Vediamo il codice 48
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Vediamo il codice: debug 49
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Vediamo il codice: debug 50
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Funzioni equivalenti 1: corretta 51 A: N1%X B: 0 A B uscita !0 0 0 uscita è identica all’inverso di A uscita = !A
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Funzioni equivalenti 2 52 è equivalente a
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Parte 3/4: Portare avanti il piano 1.P1.1: Leggo un dato intero N1 2.P1.2: Finché N1 è minore di 1, torna ad 1 3.P1.1: Leggo un dato intero N2 4.P1.2: Finché N2 è minore di 1, torna ad 3 5.X = 1 e TMP = 1; 6.Finché X è minore o uguale a N1 e a N2 1.P2.1: X divide N1? e X divide N2? 1.SI: 1.P2.2: X è divisore comune a N1 e a N2 2.P2.3: TMP = X 2.Incremento X 7.TMP è il MCD 53
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE MCD: Finito… 54
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come realizzare un algoritmo Parte 4/4: Ragionare e comprendere Comprendere quello che si è fatto e dove l’algoritmo individuato possa essere applicato al meglio La pratica è fondamentale! 55
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ma scusate… N1 = N2 = Vogliamo veramente partire da 1 Finché ((X<=N1) AND (X<=N2)) ??????
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE P2: risolto Dati due numeri N1 e N2 X = 1 e TMP = 1 Finché X è minore o uguale a N1 e a N2 P2.1: X divide N1? e X divide N2? SI: –P2.2: X è divisore comune a N1 e a N2 –P2.3: TMP = X Incremento X TMP è il MCD 57
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Tornado nel passato… 58
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE P2: risolto Dati due numeri N1 e N2 X = min (N1,N2) Finché P2.1: X non divide N1 e N2 Decremento X P2.2 e P2.3: X è divisore comune a N1 e a N2 59
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Definisco la condizione 60 A: N1%X B: N2%X Finché X non divide N1 e N2 A B uscita Finché !(!(N1%x) AND !(N2%X))
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Definisco la condizione 61 A B !A !B (!A && !B) !(!A && !B) Continuo finché 1
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE MCD: Finito! 62