Upload
angela-cristina
View
4.386
Download
4
Embed Size (px)
DESCRIPTION
Presentazione Sul primo odulo ECDL: algoritmi
Citation preview
ECDL - Modulo 1
ECDL - Modulo 1
Fondamenti
Angela Gay
Isit Grosseto
http://www.isitgrosseto.com/
7 gennaio 2010
ECDL - Modulo 1
Algoritmi
Definire il termine Algoritmo
Il termine Algoritmo - Premesse
Per comprendere il concetto di algoritmo, partiamo con un:
ECDL - Modulo 1
Algoritmi
Definire il termine Algoritmo
Il termine Algoritmo - Premesse
Per comprendere il concetto di algoritmo, partiamo con un:
Esempio
Supponiamo di voler istruire un’esecutore’ (macchina o persona)che sa fare moltiplicazioni edivisioni, affinché possa calcolarel’area di un triangolo del qualevengono fornite la misura dellabase b e dell’altezza h.
ECDL - Modulo 1
Algoritmi
Definire il termine Algoritmo
Il termine Algoritmo - Premesse
Le istruzioni che dobbiamo dare all’esecutore, per renderlo capacedi calcolare l’area del triangolo, potrebbero essere le seguenti:
ECDL - Modulo 1
Algoritmi
Definire il termine Algoritmo
Il termine Algoritmo - Premesse
Le istruzioni che dobbiamo dare all’esecutore, per renderlo capacedi calcolare l’area del triangolo, potrebbero essere le seguenti:
Calcolo area triangolo di base b e altezza h
1 acquisisci b e h;
ECDL - Modulo 1
Algoritmi
Definire il termine Algoritmo
Il termine Algoritmo - Premesse
Le istruzioni che dobbiamo dare all’esecutore, per renderlo capacedi calcolare l’area del triangolo, potrebbero essere le seguenti:
Calcolo area triangolo di base b e altezza h
1 acquisisci b e h;
2 moltiplica b per h;
ECDL - Modulo 1
Algoritmi
Definire il termine Algoritmo
Il termine Algoritmo - Premesse
Le istruzioni che dobbiamo dare all’esecutore, per renderlo capacedi calcolare l’area del triangolo, potrebbero essere le seguenti:
Calcolo area triangolo di base b e altezza h
1 acquisisci b e h;
2 moltiplica b per h;
3 dividi il prodotto per 2;
ECDL - Modulo 1
Algoritmi
Definire il termine Algoritmo
Il termine Algoritmo - Premesse
Le istruzioni che dobbiamo dare all’esecutore, per renderlo capacedi calcolare l’area del triangolo, potrebbero essere le seguenti:
Calcolo area triangolo di base b e altezza h
1 acquisisci b e h;
2 moltiplica b per h;
3 dividi il prodotto per 2;
4 comunica il risultato ottenuto.
ECDL - Modulo 1
Algoritmi
Definire il termine Algoritmo
Il termine Algoritmo - Premesse
Le istruzioni che dobbiamo dare all’esecutore, per renderlo capacedi calcolare l’area del triangolo, potrebbero essere le seguenti:
Calcolo area triangolo di base b e altezza h
1 acquisisci b e h;
2 moltiplica b per h;
3 dividi il prodotto per 2;
4 comunica il risultato ottenuto.
Questo sequenza di istruzioni costituisce un algoritmo.
ECDL - Modulo 1
Algoritmi
Definire il termine Algoritmo
Algoritmo
Siamo ora in grado di dare una definizione intuitiva (cioè, nonrigorosa) di:
ECDL - Modulo 1
Algoritmi
Definire il termine Algoritmo
Algoritmo
Siamo ora in grado di dare una definizione intuitiva (cioè, nonrigorosa) di:
Algoritmo
Per algoritmo si intende una successione finita di passi contenentile istruzioni che specificano le operazioni da compiere per risolvereuna classe di problemi.
ECDL - Modulo 1
Algoritmi
Definire il termine Algoritmo
Algoritmo
Siamo ora in grado di dare una definizione intuitiva (cioè, nonrigorosa) di:
Algoritmo
Per algoritmo si intende una successione finita di passi contenentile istruzioni che specificano le operazioni da compiere per risolvereuna classe di problemi.
L’algoritmo deve essere:
finito, cioè costituito da un numero finito di passi, o istruzioni;
ECDL - Modulo 1
Algoritmi
Definire il termine Algoritmo
Algoritmo
Siamo ora in grado di dare una definizione intuitiva (cioè, nonrigorosa) di:
Algoritmo
Per algoritmo si intende una successione finita di passi contenentile istruzioni che specificano le operazioni da compiere per risolvereuna classe di problemi.
L’algoritmo deve essere:
finito, cioè costituito da un numero finito di passi, o istruzioni;
univoco, non deve essere ambiguo;
ECDL - Modulo 1
Algoritmi
Definire il termine Algoritmo
Algoritmo
Siamo ora in grado di dare una definizione intuitiva (cioè, nonrigorosa) di:
Algoritmo
Per algoritmo si intende una successione finita di passi contenentile istruzioni che specificano le operazioni da compiere per risolvereuna classe di problemi.
L’algoritmo deve essere:
finito, cioè costituito da un numero finito di passi, o istruzioni;
univoco, non deve essere ambiguo;
realizzabile: le istruzioni devono essere eseguibilimaterialmente
ECDL - Modulo 1
Algoritmi
Descrivere in forma algoritmica la procedura risolutiva di semplici problemi
Esempi di algoritmi
Vediamo ora alcuni altri esempi di algoritmi.
Determinare se un numero a è divisibile per un numero b
1 acquisisci a e b;
ECDL - Modulo 1
Algoritmi
Descrivere in forma algoritmica la procedura risolutiva di semplici problemi
Esempi di algoritmi
Vediamo ora alcuni altri esempi di algoritmi.
Determinare se un numero a è divisibile per un numero b
1 acquisisci a e b;
2 esegui la divisione a : b e indica con r il resto di tale divisione;
ECDL - Modulo 1
Algoritmi
Descrivere in forma algoritmica la procedura risolutiva di semplici problemi
Esempi di algoritmi
Vediamo ora alcuni altri esempi di algoritmi.
Determinare se un numero a è divisibile per un numero b
1 acquisisci a e b;
2 esegui la divisione a : b e indica con r il resto di tale divisione;3 se r = 0
ECDL - Modulo 1
Algoritmi
Descrivere in forma algoritmica la procedura risolutiva di semplici problemi
Esempi di algoritmi
Vediamo ora alcuni altri esempi di algoritmi.
Determinare se un numero a è divisibile per un numero b
1 acquisisci a e b;
2 esegui la divisione a : b e indica con r il resto di tale divisione;3 se r = 0
allora comunica che a è divisibile per b
ECDL - Modulo 1
Algoritmi
Descrivere in forma algoritmica la procedura risolutiva di semplici problemi
Esempi di algoritmi
Vediamo ora alcuni altri esempi di algoritmi.
Determinare se un numero a è divisibile per un numero b
1 acquisisci a e b;
2 esegui la divisione a : b e indica con r il resto di tale divisione;3 se r = 0
allora comunica che a è divisibile per b
altrimenti comunica che a non è divisibile per b
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi
Diagramma a blocchi
Per rappresentare gli algoritmi, a volte si usano dei diagrammi, dettidiagrammi a blocchi. Nelle prossime pagine ne vediamo qualcheesempio.
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi - Calcolo area triangolo
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi - Determina se un numero a è
divisibile per un numero b
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi - Algoritmo di Euclide per il calcolo
del MCD
acquisisci a e b
FINE
INIZIO
r <- resto(a:b)
r=0?
SI
NO
comunica:
b è i l r isultato
b <- r
a <- b
r<-resto(a:b)
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi - Algoritmo di Euclide per il calcolo
del MCD
acquisisci a e b
FINE
INIZIO
r <- resto(a:b)
r=0?
SI
NO
comunica:
b è il risultato
b <- r
a <- b
r<-resto(a:b)
a = 12; b = 20a b r
valori iniziali 12 201◦ iter.2◦ iter.3◦ iter.
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi - Algoritmo di Euclide per il calcolo
del MCD
acquisisci a e b
FINE
INIZIO
r <- resto(a:b)
r=0?
SI
NO
comunica:
b è il risultato
b <- r
a <- b
r<-resto(a:b)
a = 12; b = 20a b r
valori iniziali 12 20 121◦ iter.2◦ iter.3◦ iter.
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi - Algoritmo di Euclide per il calcolo
del MCD
acquisisci a e b
FINE
INIZIO
r <- resto(a:b)
r=0?
SI
NO
comunica:
b è il risultato
b <- r
a <- b
r<-resto(a:b)
a = 12; b = 20a b r
valori iniziali 12 20 121◦ iter.2◦ iter.3◦ iter.
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi - Algoritmo di Euclide per il calcolo
del MCD
acquisisci a e b
FINE
INIZIO
r <- resto(a:b)
r=0?
SI
NO
comunica:
b è il risultato
b <- r
a <- b
r<-resto(a:b)
a = 12; b = 20a b r
valori iniziali 12 20 121◦ iter. 202◦ iter.3◦ iter.
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi - Algoritmo di Euclide per il calcolo
del MCD
acquisisci a e b
FINE
INIZIO
r <- resto(a:b)
r=0?
SI
NO
comunica:
b è il risultato
b <- r
a <- b
r<-resto(a:b)
a = 12; b = 20a b r
valori iniziali 12 20 121◦ iter. 20 122◦ iter.3◦ iter.
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi - Algoritmo di Euclide per il calcolo
del MCD
acquisisci a e b
FINE
INIZIO
r <- resto(a:b)
r=0?
SI
NO
comunica:
b è il risultato
b <- r
a <- b
r<-resto(a:b)
a = 12; b = 20a b r
valori iniziali 12 20 121◦ iter. 20 12 82◦ iter.3◦ iter.
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi - Algoritmo di Euclide per il calcolo
del MCD
acquisisci a e b
FINE
INIZIO
r <- resto(a:b)
r=0?
SI
NO
comunica:
b è il risultato
b <- r
a <- b
r<-resto(a:b)
a = 12; b = 20a b r
valori iniziali 12 20 121◦ iter. 20 12 82◦ iter.3◦ iter.
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi - Algoritmo di Euclide per il calcolo
del MCD
acquisisci a e b
FINE
INIZIO
r <- resto(a:b)
r=0?
SI
NO
comunica:
b è il risultato
b <- r
a <- b
r<-resto(a:b)
a = 12; b = 20a b r
valori iniziali 12 20 121◦ iter. 20 12 82◦ iter. 123◦ iter.
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi - Algoritmo di Euclide per il calcolo
del MCD
acquisisci a e b
FINE
INIZIO
r <- resto(a:b)
r=0?
SI
NO
comunica:
b è il risultato
b <- r
a <- b
r<-resto(a:b)
a = 12; b = 20a b r
valori iniziali 12 20 121◦ iter. 20 12 82◦ iter. 12 83◦ iter.
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi - Algoritmo di Euclide per il calcolo
del MCD
acquisisci a e b
FINE
INIZIO
r <- resto(a:b)
r=0?
SI
NO
comunica:
b è il risultato
b <- r
a <- b
r<-resto(a:b)
a = 12; b = 20a b r
valori iniziali 12 20 121◦ iter. 20 12 82◦ iter. 12 8 43◦ iter.
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi - Algoritmo di Euclide per il calcolo
del MCD
acquisisci a e b
FINE
INIZIO
r <- resto(a:b)
r=0?
SI
NO
comunica:
b è il risultato
b <- r
a <- b
r<-resto(a:b)
a = 12; b = 20a b r
valori iniziali 12 20 121◦ iter. 20 12 82◦ iter. 12 8 43◦ iter.
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi - Algoritmo di Euclide per il calcolo
del MCD
acquisisci a e b
FINE
INIZIO
r <- resto(a:b)
r=0?
SI
NO
comunica:
b è il risultato
b <- r
a <- b
r<-resto(a:b)
a = 12; b = 20a b r
valori iniziali 12 20 121◦ iter. 20 12 82◦ iter. 12 8 43◦ iter. 8
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi - Algoritmo di Euclide per il calcolo
del MCD
acquisisci a e b
FINE
INIZIO
r <- resto(a:b)
r=0?
SI
NO
comunica:
b è il risultato
b <- r
a <- b
r<-resto(a:b)
a = 12; b = 20a b r
valori iniziali 12 20 121◦ iter. 20 12 82◦ iter. 12 8 43◦ iter. 8 4
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi - Algoritmo di Euclide per il calcolo
del MCD
acquisisci a e b
FINE
INIZIO
r <- resto(a:b)
r=0?
SI
NO
comunica:
b è il risultato
b <- r
a <- b
r<-resto(a:b)
a = 12; b = 20a b r
valori iniziali 12 20 121◦ iter. 20 12 82◦ iter. 12 8 43◦ iter. 8 4 0
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi - Algoritmo di Euclide per il calcolo
del MCD
acquisisci a e b
FINE
INIZIO
r <- resto(a:b)
r=0?
SI
NO
comunica:
b è il risultato
b <- r
a <- b
r<-resto(a:b)
a = 12; b = 20a b r
valori iniziali 12 20 121◦ iter. 20 12 82◦ iter. 12 8 43◦ iter. 8 4 0
ECDL - Modulo 1
Algoritmi
Rappresentare algoritmi mediante diagrammi
Diagramma a blocchi - Algoritmo di Euclide per il calcolo
del MCD
acquisisci a e b
FINE
INIZIO
r <- resto(a:b)
r=0?
SI
NO
comunica:
b è il risultato
b <- r
a <- b
r<-resto(a:b)
a = 12; b = 20a b r
valori iniziali 12 20 121◦ iter. 20 12 82◦ iter. 12 8 43◦ iter. 8 4 0