Corso di Potenziamento di Informatica
Francesco Folino
Diagrammi di Flusso
Diagrammi
g
di flusso
Inizio
Elaborazione
Fine
Start
End
Ingresso/Uscita
Selezione a 2 vie
Si
predicato
Introduzione
Sottoprogramma
No
Introduzione all’Informatica
Diagrammi
g
di flusso
‹ I blocchi sono collegati tra di loro da archi orientati
ƒ
La freccia identifica il flusso dell’esecuzione
SI
NO
Introduzione
Introduzione all’Informatica
Diagrammi
g
di flusso
‹ I blocchi condizionali
…
Si
blocco
Istruzioni
…
Si
test
No
test
blocco
istruzioni 1
…
No
blocco
istruzioni 2
…
Introduzione
Introduzione all’Informatica
Diagrammi
g
di flusso
‹ I blocchi condizionali
…
Si
N
No
test
Si
blocco1
test
No
blocco2
Si
blocco n
test
N
No
blocco n+1
…
Introduzione
Introduzione all’Informatica
Diagrammi
g
di flusso
‹ I blocchi condizionali
Si
blocco
Istruzioni
…
…
test
blocco
Istruzioni
Si
No
test
No
…
…
Introduzione
Introduzione all’Informatica
Esempio:
p massimo tra due numeri
Inizio
Si
Lettura
aeb
Passo 1
cÅa–b
Passo 2
c > 0?
Scrittura
“il max è” a
No
Scrittura
“il max è” b
Passo 3
Fine
Introduzione
Introduzione all’Informatica
Esempio:
p Massimo tra tre numeri
Inizio
Lettura
a, b, c
m = Max a, b
m = Max m,
m c
Scrittura
S
i
“il max è” m
Fine
Introduzione
Introduzione all’Informatica
Esempio:
p Massimo tra “N” numeri naturali
Inizio
m=0
Lettura
N
N>0?
No
Scrittura
“il max è” m
Si
N=N–1
Lettura
A
Fine
m = Max m,c
Introduzione
Introduzione all’Informatica
Esercizio: Moltiplicazione
p
Inizio
Lettura
a, b
mul = 0
b>0?
No
Scrittura
mul
Si
mul = mul + a
Fine
b=b–1
Introduzione
Introduzione all’Informatica
Esercizio: Divisione
Inizio
Lettura
a, b
q=0
r=a
No
r ≥ b?
Si
r=r–b
Scrittura
qr
Fine
q=q+1
Introduzione
Introduzione all’Informatica
Esempio:
p MCD
Inizio
Lettura
M, N
M N?
M>N?
Si
M=M–N
No
N>M?
Si
N=N–M
No
Scrittura
N
Fine
Introduzione
Introduzione all’Informatica
Esercizio: sommare i p
primi N numeri naturali
Inizio
Lettura
N
i=0
s=0
s=s+i
i=i+1
No
i ≤ N?
Si
Scrittura
S
itt
s
Introduzione
Fine
Introduzione all’Informatica
Esercizio: Calcolare le radici di un’equazione
q
di II grado
g
Inizio
Lettura
a, b, c
delta = b2 – 4ac
delta>0?
Si
Scrittura
“Nessuna
Soluzione”
No
delta=0?
Si
No
r1 = (–b – sqrt(delta))/(2a)
r = – b/(2a)
r2 = (–b + sqrt(delta))/(2a)
S
Scrittura
“Radici
Coincidenti:” r
Scrittura
“Radici
distinte:” r1, r2
Fine
Introduzione
Introduzione all’Informatica
Esercizio: Somma dei p
primi N numeri naturali pari
p
Lettura
N
Inizio
i=0
s=0
i%2 = 0?
Si
No
s=s+i
i=i+1
N
No
i ≤ N?
Si
Scrittura
s
Introduzione
Fine
Introduzione all’Informatica
Esercizio: Visualizzare i p
primi cinque
q multipli
p di N
Inizio
Lettura
N
i=1
i ≤ 5?
N
No
Si
Fine
ris = N*i
Scrittura
ris
i=i+1
Introduzione
Introduzione all’Informatica
Esercizio: inserire dall’esterno 6 numeri. Stampare quanti
sono i numeri negativi tra quelli inseriti
Inizio
i=1
contt = 0
i ≤ 6?
Si
Lettura
N
No
Scrittura
cont
Fine
N < 0?
Si
cont = cont + 1
i=i+1
Introduzione
Introduzione all’Informatica
FINE
Introduzione
Introduzione all’Informatica