1.01 Algoritmi

Post on 25-May-2015

4.379 views 4 download

description

Presentazione Sul primo odulo ECDL: algoritmi

Transcript of 1.01 Algoritmi

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