My seminar "Matematica, un approccio algoritmico" during the event "Come è piccolo il mondo" organised by Alumni Mathematica association. I introduce the notion of algorithm and some exemples of it for young students.
1. Alumni Mathematica
Come la scienza ci aiuta a risolvere i problemi quotidiani
Matematica: un
approccio algoritmico
Stefano Franco
stefano@alumnimathematica.org
15 febbraio 2014
Liceo Scientifico “Aldo Moro”
4. 1. Algoritmo, cenni storici
Abū Jaʿfar Muhammad
ibn Mūsā al-Khwārizmī
(vissuto tra il 780–850 ca)
5. 2. Cos’è un algoritmo?
Un algoritmo è un procedimento che risolve un
problema mediante un certo numero di passaggi
INPUT
(dati iniziali)
ALGORITMO
OUTPUT
(risultato)
10. Esempio 1: il MCD (massimo comun divisore)
Dati due numeri, il MCD è il più grande divisore
comune tra i due numeri
42 = 2 x 3 x 7
56 = 2 x 2 x 2 x 7
MCD(42, 56) = 2 x 7 = 14
11. Algoritmo MCD ha due operazioni:
1. Scompone i numeri in fattori primi
2. Estrae i componenti comuni
MCD(42, 56)
42, 56
N1, N2
(il primo numero da
scomporre lo chiamiamo N1,
il secondo N2)
MCD
- operazione 1
- operazione 2
MCD( N1, N2)
12. 4. Non unicità
Gli algoritmi non sono unici, ossia dato un certo
problema ci possono essere più algoritmi che lo
risolvono
13. Esempio 2: il problema dell’ordinamento
Data una certa sequenza di numeri interi
riordinarli dal più grande al più piccolo
INPUT
9
2
5
OUTPUT
2, 5, 9, 18, 67
18
67
15. Come far funzionare questo
algoritmo?
Quali e quante operazioni servono?
Servono due operazioni
1. Confrontare due
elementi (ossia
trovare il più piccolo)
2. Spostare un elemento
16. 1. Confrontare due elementi (ossia trovare
il più piccolo)
2. Spostare un elemento
X
18
2 , 5 , 9 , 18 , 67
67
9
2
X
X
5
X
19. E voi ne siete in grado?
Sei il capitano di una flotta navale: trova un algoritmo che
ti permetta di organizzare le tue navi in modo che davanti
ci siano le navi più piccole e via via le navi più grandi