39
ECDL - Modulo 1 ECDL - Modulo 1 Fondamenti Angela Gay Isit Grosseto http://www.isitgrosseto.com/ 7 gennaio 2010

1.01 Algoritmi

Embed Size (px)

DESCRIPTION

Presentazione Sul primo odulo ECDL: algoritmi

Citation preview

Page 1: 1.01 Algoritmi

ECDL - Modulo 1

ECDL - Modulo 1

Fondamenti

Angela Gay

Isit Grosseto

http://www.isitgrosseto.com/

7 gennaio 2010

Page 2: 1.01 Algoritmi

ECDL - Modulo 1

Algoritmi

Definire il termine Algoritmo

Il termine Algoritmo - Premesse

Per comprendere il concetto di algoritmo, partiamo con un:

Page 3: 1.01 Algoritmi

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.

Page 4: 1.01 Algoritmi

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:

Page 5: 1.01 Algoritmi

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;

Page 6: 1.01 Algoritmi

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;

Page 7: 1.01 Algoritmi

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;

Page 8: 1.01 Algoritmi

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.

Page 9: 1.01 Algoritmi

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.

Page 10: 1.01 Algoritmi

ECDL - Modulo 1

Algoritmi

Definire il termine Algoritmo

Algoritmo

Siamo ora in grado di dare una definizione intuitiva (cioè, nonrigorosa) di:

Page 11: 1.01 Algoritmi

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.

Page 12: 1.01 Algoritmi

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;

Page 13: 1.01 Algoritmi

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;

Page 14: 1.01 Algoritmi

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

Page 15: 1.01 Algoritmi

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;

Page 16: 1.01 Algoritmi

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;

Page 17: 1.01 Algoritmi

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

Page 18: 1.01 Algoritmi

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

Page 19: 1.01 Algoritmi

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

Page 20: 1.01 Algoritmi

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.

Page 21: 1.01 Algoritmi

ECDL - Modulo 1

Algoritmi

Rappresentare algoritmi mediante diagrammi

Diagramma a blocchi - Calcolo area triangolo

Page 22: 1.01 Algoritmi

ECDL - Modulo 1

Algoritmi

Rappresentare algoritmi mediante diagrammi

Diagramma a blocchi - Determina se un numero a è

divisibile per un numero b

Page 23: 1.01 Algoritmi

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)

Page 24: 1.01 Algoritmi

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.

Page 25: 1.01 Algoritmi

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.

Page 26: 1.01 Algoritmi

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.

Page 27: 1.01 Algoritmi

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.

Page 28: 1.01 Algoritmi

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.

Page 29: 1.01 Algoritmi

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.

Page 30: 1.01 Algoritmi

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.

Page 31: 1.01 Algoritmi

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.

Page 32: 1.01 Algoritmi

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.

Page 33: 1.01 Algoritmi

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.

Page 34: 1.01 Algoritmi

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.

Page 35: 1.01 Algoritmi

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

Page 36: 1.01 Algoritmi

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

Page 37: 1.01 Algoritmi

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

Page 38: 1.01 Algoritmi

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

Page 39: 1.01 Algoritmi

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