DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 21 Agosto.

Slides:



Advertisements
Presentazioni simili
Process synchronization
Advertisements

TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
II° Circolo Orta Nova (FG)
/ fax
Informatica Generale Marzia Buscemi
Frontespizio Economia Monetaria Anno Accademico
La scelta del paniere preferito
1 la competenza alfabetica della popolazione italiana CEDE distribuzione percentuale per livelli.
1 Tavolo del Patto per la crescita intelligente, sostenibile e inclusiva Il ricorso agli ammortizzatori sociali nei territori colpiti dagli eventi sismici.
DISEGNO TECNICO INDUSTRIALE
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Ordini Parziali - Reticoli
Dipartimento di Ricerca Sociale - Università del Piemonte Orientale 1 Castelli Aperti giugno 2005 Castello di Camino (AL) IL PUBBLICO DI CASTELLI.
PROGRAMMI DI COOPERAZIONE TERRITORIALE I controlli di primo livello in azione Un caso pratico Programma Interreg IV C Progetto B3 Regions Regione Piemonte.
EIE 06/07 II / 1 Strumenti delle politiche agricole in economia aperta equilibrio di mercato in economia aperta politiche di un paese importatore politiche.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 20 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Recap sul C Marco D. Santambrogio – Ver. aggiornata al 11 Aprile 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 8 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
Algebra di Boole ed elementi di logica
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 3 Ottobre 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stringhe e tipi di dati strutturati Marco D. Santambrogio – Ver. aggiornata al.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2: 25 Marzo 2013 Marco D. Santambrogio – Gianluca Durelli -
Process synchronization
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 19 Aprile 2013 Marco D. Santambrogio – Ver. aggiornata al 18 Aprile 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ulitma lezione… fine corso IEIM 2013 Marco D. Santambrogio – Ver. aggiornata al.
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
OPERAZIONI CON TRINOMI DI II° GRADO
I numeri relativi by iprof.
Lezione 8 Numerosità del campione
Num / 36 Lezione 9 Numerosità del campione.
EQUAZIONI DI SECONDO GRADO
Scuola dell'Infanzia sez.D
Le operazioni con i numeri
1 Informatica Senza Computer? Chiariamoci un po le idee!!! Carlo Gaibisso Informatica senza Computer?
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
SIPE - Seminario Istruzione Presidente Eletti - Firenze, 3 Marzo IL SITO DISTRETTUALE gli adempimenti e le scadenze Roberto Ariani Presidente della.
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
SCOPRI LA TABELLINA click Trova la regola nascosta… click
1 Questionario di soddisfazione ATA - a. sc. 2008/09 Il questionario è stato somministrato nel mese di aprile Sono stati restituiti 29 questionari.
Massimo Comun Divisore
1101 = x 10 x 10 x x 10 x = CORRISPONDENZE
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e stringhe Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 18 Ottobre.
Ad opera di: Matteo Donatelli e Maurizio Di Paolo Presentazione su : Elettropneumatica 1.
Bando di Residenza Cap Scheda ENTE 3ROL - Richieste On Line.
1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Pippo.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esercitazione 1 Marco D. Santambrogio – Ver. aggiornata al 9 Aprile 2014.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 13 Marzo 2014.
Bando Pittori e Scultori in Piemonte alla metà del ‘700
Bando Beni in comune. 2ROL - Richieste On Line 3.
lun mar mer gio ven SAB DOM FEBBRAIO.
OPERAZIONI CON TRINOMI DI II° GRADO
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 20 Ottobre 2014.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 31 Marzo 2014 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE La Ricorsione Marco D. Santambrogio – Ver. aggiornata al 21 Maggio 2014.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 15 Giugno.
Process synchronization
Transcript della presentazione:

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 21 Agosto 2014

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 2

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Parte 0/4: La brutta notizia! Abbiamo un problema!!!!  Dati due numeri interi, si trovi il MCD 3 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? 4

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 5

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 6

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 7

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 8

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? 9

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 10

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 11

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 12

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 13

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 14

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 15

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 16

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 17

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 18 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 19

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 20 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 21 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 22 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 23 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 24 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 25

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 26

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 27

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 28 Quante e quali variabili ci servono?

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Parte 3/4: Portare avanti il piano 29 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 30

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Parte 3/4: Portare avanti il piano 5. X = 1 e TMP = 1; 31

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Definisco la condizione 32 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 33

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Funzioni equivalenti 1 34 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 35

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Vediamo il codice: debug 36

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Vediamo il codice: debug 37

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Funzioni equivalenti 1: corretta 38 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 39 è 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 40

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE MCD: Finito… 41

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! 42

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 44

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Tornado nel passato… 45

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 46

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Definisco la condizione 47 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 48 A B !A !B (!A && !B) !(!A && !B) Continuo finché 1

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE MCD: Finito! 49