Programmazione: algoritmo

Riepilogo
Dato un problema:

Come lo risolveresti ? Descrivi a parole la
procedura, a grandi blocchi.
 Isola serie di operazioni che si ripetono in ogni
caso e una volta sola (costituiscono un blocco)
da sequenze di operazioni che vanno ripetute
(cicli) e da situazioni che possono richiedere di
eseguire operazioni diverse al verificarsi o
meno di una condizione (selezioni if).
 Se ci sono cicli, identifica la condizione da
valutare per uscirne. Un ciclo costituirà un
blocco.
MATLAB - Riepilogo
Programmazione: diagramma di flusso
2
Programmazione: traduzione diagramma
Per ogni blocco del diagramma di flusso, ripeti:

Esiste una funzione predefinita o un’istruzione che lo
traduce ?
 Se esiste, usala; altrimenti scomponi il blocco in
blocchi più piccoli, agendo come per il problema
principale (cioè seguendo questa procedura)
finché non hai tradotto tutto il blocco di partenza.

Riporta la procedura come diagramma di flusso

Ogni blocco diventa un quadrato

Ogni selezione if diventa un rombo

Per ogni ciclo determina il tipo di ciclo più
adatto al problema e inserisci il corrispondente
diagramma di flusso.
Per ogni ciclo:

Traduci il blocco corrispondente nel ciclo equivalente
(while, for, do..until)
Per ogni rombo, introduci la corrispondente selezione if e
traduci i blocchi (rettangoli) che la compongono.
MATLAB - Riepilogo
3
MATLAB - Riepilogo
4
1
Traduzione in diagramma di flusso
1.
Esempio:
somma di N numeri
Chiedi all’utente quanti
sommare
e
assegna
il
variabile N
numeri vuole
valore
alla
‘Quanti numeri ?’
N
MATLAB - Riepilogo
5
Esempio
2.
MATLAB - Riepilogo
6
Esempio
Definisci
la
variabile
che
dovrà
contenere la somma e ponila a zero
3.
Per N volte:
1.
2.
Chiedi all’utente di inserire un numero
Addiziona il numero inserito al valore della
variabile somma.
I1
Somma  0
No
I<=N
Sì
Chiedi all’utente di inserire un numero e
addizionalo al valore della variabile somma.
I  I+1
MATLAB - Riepilogo
7
MATLAB - Riepilogo
8
2
Esempio
1.
2.
Esempio
Chiedi all’utente di inserire un numero
Addiziona il numero inserito al valore
della variabile somma.
4.
Stampa il valore di somma
Somma
‘Inserisci numero’
Num
Somma  Somma + Num
9
MATLAB - Riepilogo
MATLAB - Riepilogo
Risultato finale
Esercizi
Start
‘Quanti numeri ?’
N
Somma  0
I1
10
1.
I <= N
Sì
‘Ins.
numero’
Num
2.
Che tipo di ciclo usereste nei seguenti casi ?
A.
No
B.
Somma  Somma + Num
Somma
Tradurre il diagramma di flusso ottenuto in un
programma MATLAB
Leggere da tastiera dieci numeri e calcolarne il prodotto.
Leggere una serie di numeri da tastiera fino a quando
non si inserisce 0, poi stamparli e calcolarne la media.
Realizzare i due programmi seguendo il metodo
appena visto.
II+1
3.
Stop
11
Realizzare il programma al punto A. utilizzando gli
altri due tipi di ciclo.
MATLAB - riepilogo
12
3