SlideShare a Scribd company logo
Uniurb4HS
alessandrobogliolo
Uniurb4HSL’Università di Urbino per le Scuole Superiori
Algoritmi intuitivi
alessandro bogliolo
01.01. Con carta, penna, dita e cervello
Uniurb4HS
alessandrobogliolo
3 4 7 6 +
5 8 3 1 =
7
++
0
1+
+
3
1+
+
9
Addizione in colonna
Uniurb4HS
alessandrobogliolo
Uniurb4HS
alessandrobogliolo
Calcolatore meccanico 1900-1950
Uniurb4HS
alessandrobogliolo
1642 - Pascalina
Blaise Pascal
Propagazione del riporto
20 soldi
12 denari
Uniurb4HS
alessandrobogliolo
825 – Notazione posizionale
Muḥammad ibn Mūsā al-Khwārizmī
M.i.M. alal-Khwārizmī, The Book of Addition and Subtraction According to the Hindu Calculation, 825 (Latin translation of XII
Century: Algoritmi de numero Indorum)
algoritmi
Uniurb4HS
alessandrobogliolo
3 4 7 6
1101001000
CIFRE
PESO
POSIZIONE 0123
103 102 101 100
= 3 x 1000 + 4 x 100 + 7 x 10 + 6 x 1
Notazione posizionale
Base 10 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Uniurb4HS
alessandrobogliolo
1 1 0 1
1248
CIFRE
PESO
POSIZIONE 0123
23 22 21 20
= 1 x 8 + 1 x 4 + 0 x 2 + 1 x 1
Notazione posizionale
Base 2 {0, 1}
1 3
Uniurb4HS
alessandrobogliolo
Automi
Quando ti tocco la testa
Se hai la mano destra sulla spalla di chi ti è davanti allora
Abbassa la mano destra
Altrimenti
Alza la mano destra e appoggiala sulla spalla di chi ti è davanti
Ripeti per sempre
Se hai un numero dispari di mani sulle spalle allora
Alza la mano sinistra e appoggiala sulla spalla di chi ti è davanti
Altrimenti
Abbassa la mano sinistra
Se hai più di una mano sulle spalle allora
Alza la mano destra e appoggiala sulla spalla di chi ti è destra
Altrimenti
Abbassa la mano destra
Uniurb4HS
alessandrobogliolo
Algoritmo
Uniurb4HS
alessandrobogliolo
Sulle dita
Repertorio di istruzioni ridotto: conteggio e incremento
Uniurb4HS
alessandrobogliolo
Sulle dita
Aggiungiamo l’assegnamento
Uniurb4HS
alessandrobogliolo
Sulle dita
Aggiungiamo il confronto
Uniurb4HS
alessandrobogliolo
• Contiamo sulle dite, finché bastano
• A + B passi
• min{A,B} passi
• Impariamo a memoria le somme di numeri a una cifra
• Non dobbiamo più ricalcolarle
• Facciamo l’addizione in colonna di numeri a più cifre
• Il numero di passi dipende solo dal numero di cifre
Tanti algoritmi una sola somma
Uniurb4HS
alessandrobogliolo
3 4 7 6 +
5 8 3 1 =
7
+
passi
7
+
0
1 10+
5
+
3
1
13
+
4
+
9
9
48
1
3
1
5
1
4
15
1
1
1
1
1
1
6 < 4*2
Complessità
Uniurb4HS
alessandrobogliolo
2
3
6
6 passi
2x3
3x2
Moltiplicazione
Uniurb4HS
alessandrobogliolo
Sulle dita
Incremento e conteggio
Uniurb4HS
alessandrobogliolo
Sulle dita
Usiamo l’addizione
Uniurb4HS
alessandrobogliolo
3
321x23
2
1 2
3
3
8
31
6
7
3 2 1 x
2 3 =
9 6 3 +
6 4 2 _ =
7 3 8 3
1
Metodo grafico
Uniurb4HS
alessandrobogliolo
3 2 1 x
2 3 =
x
3
passi
3
6
6
9
9
2
4
+
2
6
61
46
383
1
7
xx
xxx
+++ 3
8
13
7
1
2
3
1
2
2
18
1
2
4
1
1
1
1
1
1
1
10
1
1
1
1
In colonna
Uniurb4HS
alessandrobogliolo
0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7 8 9
2 0 2 4 6 8 10 12 14 16 18
3 0 3 6 9 12 15 18 21 24 27
4 0 4 8 12 16 20 24 28 32 36
5 0 5 10 15 20 25 30 35 40 45
6 0 6 12 18 24 30 36 42 48 54
7 0 7 14 21 28 35 42 49 56 63
8 0 8 16 24 32 40 48 56 64 72
9 0 9 18 27 36 45 54 63 72 81
passi
3
6
9
2
4
6
61
3
8
13
7
1
2
3
1
2
2
18
1
2
4
1
1
1
1
1
1
1
10
1
1
1
1
moltiplicazioneaddizione
Il perchè delle tabelline

More Related Content

More from Alessandro Bogliolo

BIBMOOC 04.02 - Marketing culturale - Anna Busa
BIBMOOC 04.02 - Marketing culturale - Anna BusaBIBMOOC 04.02 - Marketing culturale - Anna Busa
BIBMOOC 04.02 - Marketing culturale - Anna Busa
Alessandro Bogliolo
 
BIBMOOC 3.2 - Coding unplugged fai-da-te
BIBMOOC 3.2 - Coding unplugged fai-da-teBIBMOOC 3.2 - Coding unplugged fai-da-te
BIBMOOC 3.2 - Coding unplugged fai-da-te
Alessandro Bogliolo
 
BIBMOOC 03.01 - Programmazione visuale a blocchi
BIBMOOC 03.01 - Programmazione visuale a blocchiBIBMOOC 03.01 - Programmazione visuale a blocchi
BIBMOOC 03.01 - Programmazione visuale a blocchi
Alessandro Bogliolo
 
BIBMOOC 02.01 - Esecutore ideale e istruzioni elementari
BIBMOOC 02.01 - Esecutore ideale e istruzioni elementariBIBMOOC 02.01 - Esecutore ideale e istruzioni elementari
BIBMOOC 02.01 - Esecutore ideale e istruzioni elementari
Alessandro Bogliolo
 
BIBMOOC 02.02 - Sequenze di istruzioni ripetizione e condizioni
BIBMOOC 02.02 - Sequenze di istruzioni ripetizione e condizioniBIBMOOC 02.02 - Sequenze di istruzioni ripetizione e condizioni
BIBMOOC 02.02 - Sequenze di istruzioni ripetizione e condizioni
Alessandro Bogliolo
 
BIBMOOC 01.03 - Le biblioteche e la loro funzione sociale - Chiara Faggiolani
BIBMOOC 01.03 - Le biblioteche e la loro funzione sociale - Chiara FaggiolaniBIBMOOC 01.03 - Le biblioteche e la loro funzione sociale - Chiara Faggiolani
BIBMOOC 01.03 - Le biblioteche e la loro funzione sociale - Chiara Faggiolani
Alessandro Bogliolo
 
BIBMOOC 1.2 - Coding e pensiero computazionale
BIBMOOC 1.2 - Coding e pensiero computazionaleBIBMOOC 1.2 - Coding e pensiero computazionale
BIBMOOC 1.2 - Coding e pensiero computazionale
Alessandro Bogliolo
 
BIBMOOC 1.1 - Informazione e rappresentazioni digitali
BIBMOOC 1.1 - Informazione e rappresentazioni digitaliBIBMOOC 1.1 - Informazione e rappresentazioni digitali
BIBMOOC 1.1 - Informazione e rappresentazioni digitali
Alessandro Bogliolo
 
CodyTrip a BTO2021
CodyTrip a BTO2021CodyTrip a BTO2021
CodyTrip a BTO2021
Alessandro Bogliolo
 
AIMOOC 7.3 - Per una IA etica - Claudia Chiavarino
AIMOOC 7.3 - Per una IA etica - Claudia ChiavarinoAIMOOC 7.3 - Per una IA etica - Claudia Chiavarino
AIMOOC 7.3 - Per una IA etica - Claudia Chiavarino
Alessandro Bogliolo
 
AIMOOC 7.2 - La strategia europea per l'I.A. - Lucilla Sioli
AIMOOC 7.2 - La strategia europea per l'I.A. - Lucilla SioliAIMOOC 7.2 - La strategia europea per l'I.A. - Lucilla Sioli
AIMOOC 7.2 - La strategia europea per l'I.A. - Lucilla Sioli
Alessandro Bogliolo
 
AIMOOC 5.5 - Programmazione o addestramento? - Alessandro Bogliolo
AIMOOC 5.5 - Programmazione o addestramento? - Alessandro BoglioloAIMOOC 5.5 - Programmazione o addestramento? - Alessandro Bogliolo
AIMOOC 5.5 - Programmazione o addestramento? - Alessandro Bogliolo
Alessandro Bogliolo
 
AIMOOC 1.5 - La coscienza - Mario Rosanova
AIMOOC 1.5 - La coscienza - Mario RosanovaAIMOOC 1.5 - La coscienza - Mario Rosanova
AIMOOC 1.5 - La coscienza - Mario Rosanova
Alessandro Bogliolo
 
AIMOOC 5.4 - L'intelligenza della forza bruta - Alessandro Bogliolo
AIMOOC 5.4 - L'intelligenza della forza bruta - Alessandro BoglioloAIMOOC 5.4 - L'intelligenza della forza bruta - Alessandro Bogliolo
AIMOOC 5.4 - L'intelligenza della forza bruta - Alessandro Bogliolo
Alessandro Bogliolo
 
AIMOOC 5.3 - Il libero arbitrio dell'esecutore ideale - Alessandro Bogliolo
AIMOOC 5.3 - Il libero arbitrio dell'esecutore ideale - Alessandro BoglioloAIMOOC 5.3 - Il libero arbitrio dell'esecutore ideale - Alessandro Bogliolo
AIMOOC 5.3 - Il libero arbitrio dell'esecutore ideale - Alessandro Bogliolo
Alessandro Bogliolo
 
AIMOOC 4.3 - Conoscenza e comunicazione fra neuroni - Stefano Sartini
AIMOOC 4.3 - Conoscenza e comunicazione fra neuroni - Stefano SartiniAIMOOC 4.3 - Conoscenza e comunicazione fra neuroni - Stefano Sartini
AIMOOC 4.3 - Conoscenza e comunicazione fra neuroni - Stefano Sartini
Alessandro Bogliolo
 
AIMOOC 1.3 - Memoria di lavoro e funzioni esecutive - Manuela Berlingeri
AIMOOC 1.3 - Memoria di lavoro e funzioni esecutive - Manuela BerlingeriAIMOOC 1.3 - Memoria di lavoro e funzioni esecutive - Manuela Berlingeri
AIMOOC 1.3 - Memoria di lavoro e funzioni esecutive - Manuela Berlingeri
Alessandro Bogliolo
 
AIMOOC 5.2 - Adattamento al contesto - Alessandro Bogliolo
AIMOOC 5.2 - Adattamento al contesto - Alessandro BoglioloAIMOOC 5.2 - Adattamento al contesto - Alessandro Bogliolo
AIMOOC 5.2 - Adattamento al contesto - Alessandro Bogliolo
Alessandro Bogliolo
 
AIMOOC 4.2 - Machine Learning - Valerio Freschi
AIMOOC 4.2 - Machine Learning - Valerio FreschiAIMOOC 4.2 - Machine Learning - Valerio Freschi
AIMOOC 4.2 - Machine Learning - Valerio Freschi
Alessandro Bogliolo
 
AIMOOC 2.1 - Alan Turing - Vincenzo Fano
AIMOOC 2.1 - Alan Turing - Vincenzo FanoAIMOOC 2.1 - Alan Turing - Vincenzo Fano
AIMOOC 2.1 - Alan Turing - Vincenzo Fano
Alessandro Bogliolo
 

More from Alessandro Bogliolo (20)

BIBMOOC 04.02 - Marketing culturale - Anna Busa
BIBMOOC 04.02 - Marketing culturale - Anna BusaBIBMOOC 04.02 - Marketing culturale - Anna Busa
BIBMOOC 04.02 - Marketing culturale - Anna Busa
 
BIBMOOC 3.2 - Coding unplugged fai-da-te
BIBMOOC 3.2 - Coding unplugged fai-da-teBIBMOOC 3.2 - Coding unplugged fai-da-te
BIBMOOC 3.2 - Coding unplugged fai-da-te
 
BIBMOOC 03.01 - Programmazione visuale a blocchi
BIBMOOC 03.01 - Programmazione visuale a blocchiBIBMOOC 03.01 - Programmazione visuale a blocchi
BIBMOOC 03.01 - Programmazione visuale a blocchi
 
BIBMOOC 02.01 - Esecutore ideale e istruzioni elementari
BIBMOOC 02.01 - Esecutore ideale e istruzioni elementariBIBMOOC 02.01 - Esecutore ideale e istruzioni elementari
BIBMOOC 02.01 - Esecutore ideale e istruzioni elementari
 
BIBMOOC 02.02 - Sequenze di istruzioni ripetizione e condizioni
BIBMOOC 02.02 - Sequenze di istruzioni ripetizione e condizioniBIBMOOC 02.02 - Sequenze di istruzioni ripetizione e condizioni
BIBMOOC 02.02 - Sequenze di istruzioni ripetizione e condizioni
 
BIBMOOC 01.03 - Le biblioteche e la loro funzione sociale - Chiara Faggiolani
BIBMOOC 01.03 - Le biblioteche e la loro funzione sociale - Chiara FaggiolaniBIBMOOC 01.03 - Le biblioteche e la loro funzione sociale - Chiara Faggiolani
BIBMOOC 01.03 - Le biblioteche e la loro funzione sociale - Chiara Faggiolani
 
BIBMOOC 1.2 - Coding e pensiero computazionale
BIBMOOC 1.2 - Coding e pensiero computazionaleBIBMOOC 1.2 - Coding e pensiero computazionale
BIBMOOC 1.2 - Coding e pensiero computazionale
 
BIBMOOC 1.1 - Informazione e rappresentazioni digitali
BIBMOOC 1.1 - Informazione e rappresentazioni digitaliBIBMOOC 1.1 - Informazione e rappresentazioni digitali
BIBMOOC 1.1 - Informazione e rappresentazioni digitali
 
CodyTrip a BTO2021
CodyTrip a BTO2021CodyTrip a BTO2021
CodyTrip a BTO2021
 
AIMOOC 7.3 - Per una IA etica - Claudia Chiavarino
AIMOOC 7.3 - Per una IA etica - Claudia ChiavarinoAIMOOC 7.3 - Per una IA etica - Claudia Chiavarino
AIMOOC 7.3 - Per una IA etica - Claudia Chiavarino
 
AIMOOC 7.2 - La strategia europea per l'I.A. - Lucilla Sioli
AIMOOC 7.2 - La strategia europea per l'I.A. - Lucilla SioliAIMOOC 7.2 - La strategia europea per l'I.A. - Lucilla Sioli
AIMOOC 7.2 - La strategia europea per l'I.A. - Lucilla Sioli
 
AIMOOC 5.5 - Programmazione o addestramento? - Alessandro Bogliolo
AIMOOC 5.5 - Programmazione o addestramento? - Alessandro BoglioloAIMOOC 5.5 - Programmazione o addestramento? - Alessandro Bogliolo
AIMOOC 5.5 - Programmazione o addestramento? - Alessandro Bogliolo
 
AIMOOC 1.5 - La coscienza - Mario Rosanova
AIMOOC 1.5 - La coscienza - Mario RosanovaAIMOOC 1.5 - La coscienza - Mario Rosanova
AIMOOC 1.5 - La coscienza - Mario Rosanova
 
AIMOOC 5.4 - L'intelligenza della forza bruta - Alessandro Bogliolo
AIMOOC 5.4 - L'intelligenza della forza bruta - Alessandro BoglioloAIMOOC 5.4 - L'intelligenza della forza bruta - Alessandro Bogliolo
AIMOOC 5.4 - L'intelligenza della forza bruta - Alessandro Bogliolo
 
AIMOOC 5.3 - Il libero arbitrio dell'esecutore ideale - Alessandro Bogliolo
AIMOOC 5.3 - Il libero arbitrio dell'esecutore ideale - Alessandro BoglioloAIMOOC 5.3 - Il libero arbitrio dell'esecutore ideale - Alessandro Bogliolo
AIMOOC 5.3 - Il libero arbitrio dell'esecutore ideale - Alessandro Bogliolo
 
AIMOOC 4.3 - Conoscenza e comunicazione fra neuroni - Stefano Sartini
AIMOOC 4.3 - Conoscenza e comunicazione fra neuroni - Stefano SartiniAIMOOC 4.3 - Conoscenza e comunicazione fra neuroni - Stefano Sartini
AIMOOC 4.3 - Conoscenza e comunicazione fra neuroni - Stefano Sartini
 
AIMOOC 1.3 - Memoria di lavoro e funzioni esecutive - Manuela Berlingeri
AIMOOC 1.3 - Memoria di lavoro e funzioni esecutive - Manuela BerlingeriAIMOOC 1.3 - Memoria di lavoro e funzioni esecutive - Manuela Berlingeri
AIMOOC 1.3 - Memoria di lavoro e funzioni esecutive - Manuela Berlingeri
 
AIMOOC 5.2 - Adattamento al contesto - Alessandro Bogliolo
AIMOOC 5.2 - Adattamento al contesto - Alessandro BoglioloAIMOOC 5.2 - Adattamento al contesto - Alessandro Bogliolo
AIMOOC 5.2 - Adattamento al contesto - Alessandro Bogliolo
 
AIMOOC 4.2 - Machine Learning - Valerio Freschi
AIMOOC 4.2 - Machine Learning - Valerio FreschiAIMOOC 4.2 - Machine Learning - Valerio Freschi
AIMOOC 4.2 - Machine Learning - Valerio Freschi
 
AIMOOC 2.1 - Alan Turing - Vincenzo Fano
AIMOOC 2.1 - Alan Turing - Vincenzo FanoAIMOOC 2.1 - Alan Turing - Vincenzo Fano
AIMOOC 2.1 - Alan Turing - Vincenzo Fano
 

Uniurb4HS 0101 - Algoritmi intuitivi - Addizione e moltiplicazione