Sei sulla pagina 1di 13

Diagrammi di flusso

The friendship algorithm


Cosa sono?
● I diagrammi di flusso (Flow charts) sono
dei diagrammi usati per rappresentare
sequenze di operazioni
● Sono formati da blocchi (da cui anche il
nome “Diagrammi a blocchi”), ognuno con
un suo significato
Blocchi inizio/fine
● Identificano il punto
di inizio e di fine
della sequenza di
operazioni
● Il blocco “Inizio” (o
“Start”) ha una sola
freccia in uscita
● Il blocco “Fine” (o
“End”) ha una sola
freccia in entrata
Blocco Input/Output
● Identifica una
operazione di Input
(il programma si
aspetta informazioni
dall'utente) o di
Output (il
programma emette
un risultato)
● Si scrive “I” oppure
“O” a seconda del
caso
Blocco di esecuzione
● Rappresenta una
operazione svolta
dall'esecutore
● Se l'operazione è
un assegnamento,
si indica con una
freccia, ad es.
a←5
b ← x + 3,5
Blocco di scelta
● Rappresenta un
punto in cui
bisogna decidere
● Al suo interno c'è
un enunciato logico
che può essere
vero o falso
● Se è vero, seguo
una strada,
altrimenti l'altra
Esercizi - 1
● Scrivere un diagramma a blocchi per
sommare due numeri
● Scrivere un diagramma a blocchi per
trovare la somma di tre numeri consecutivi
dato il primo
● Scrivere un diagramma a blocchi per
calcolare la media tra quattro numeri
Scelte annidate
● Un ramo del blocco
di scelta può a sua
volta contenere un
altro blocco
decisionale
● In questo caso si
parla di
“Scelta annidata”
Scelte in cascata
● In questo caso la
seconda scelta è
indipendente dalla
prima
● Si parla perciò di
“Scelta in cascata”
Esercizi - 2

1.Scrivere un diagramma a blocchi per


trovare il massimo tra due numeri
2.Scrivere un diagramma a blocchi per la
selezione da un mazzo di chiavi di quella
che apre un lucchetto
Per casa
Scrivere un diagramma a blocchi per:
● calcolare le radici reali di equazioni di 2°
grado
● calcolare il M.C.D. di due numeri con il
metodo di Euclide:
– Dati due numeri naturali a e b, si controlla se
b è zero. Se lo è, a è il MCD. Se non lo è, si
divide a / b e si assegna ad r il resto della
divisione. Se r = 0 allora si può terminare
affermando che b è il MCD cercato, altrimenti
occorre assegnare a = b e b = r e si ripete
nuovamente la divisione.