Flow Chart - Diagramma a blocchi

dibari.92 153,600 views 23 slides Dec 02, 2008
Slide 1
Slide 1 of 23
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23

About This Presentation

Spiegazione abbastanza curata sui diagrammi a blocchi (in inglese \"flow chart\") che ho trovato su un sito.


Slide Content

1
Diagrammi a blocchi

2
Sommario
Diagrammi di flusso, o a blocchi.
Analisi strutturata.
Esercizi.

3
Diagrammi a blocchi
È un linguaggio formale di tipo grafico per rappresentare gli
algoritmi.
Attraverso il diagramma a blocchi (o flow chart) si può indicare
l’ordine di esecuzione delle istruzioni.
Un particolare simbolo grafico detto blocco elementare è
associato a ciascun tipo di istruzione elementare.
I blocchi sono collegati fra loro tramite frecce che indicano il
susseguirsi delle istruzioni.

4
Diagrammi a blocchi
I blocchi elementari sono i seguenti:

5
Diagrammi a blocchi
Un diagramma a blocchi descrive un algoritmo se:
ha un blocco iniziale e uno finale;
è costituito da un numero finito di blocchi azione e/o blocchi
lettura/scrittura e/o blocchi di controllo;
ciascun blocco elementare soddisfa le condizioni di validità.

6
Diagrammi a blocchi
Condizioni di validità:
ciascun blocco azione, lettura/scrittura ha una sola freccia entrante
e una sola freccia uscente;
ciascun blocco di controllo ha una sola freccia entrante e due frecce
uscenti;
ciascuna freccia entra in un blocco o si innesta su un’altra freccia;
ciascun blocco è raggiungibile dal blocco iniziale;
il blocco finale è raggiungibile da qualsiasi altro blocco.

7
Esercizio
Scrivere un algoritmo e rappresentarlo tramite un
diagramma a blocchi per i seguenti problemi:
attraversare la strada;
preparare la pasta;
calcolare l’area del triangolo;
determinare le radici di un’equazione di secondo grado;
realizzare la somma di due numeri interi.

8
Analisi strutturata
Analisi volta alla stesura di descrizioni di algoritmi
tramite diagrammi a blocchi di tipo strutturato.
Un diagramma a blocchi di tipo strutturato è più
facilmente comprensibile e modificabile.
In un diagramma strutturato non apparirà mai
un’istruzione di salto incondizionato.

9
Analisi strutturata
Teorema di Böhm-Jacopini:
Ogni diagramma a blocchi non strutturato è
sempre trasformabile in un diagramma a blocchi
strutturato ad esso equivalente.
Due diagrammi sono equivalenti se, partendo dagli
stessi dati iniziali, producono gli stessi risultati.

10
Analisi strutturata
Una descrizione è di tipo strutturato se i
blocchi sono collegati tramite i seguenti
schemi di flusso strutturato:
schema di sequenza;
schema di selezione;
schema di iterazione.

11
Analisi strutturata
Schema di sequenza:
due o più schemi di flusso sono
eseguiti in successione.
Nota: lo schema di sequenza è
strutturato se e solo se lo sono i
blocchi S
1
e S
2
.

12
Analisi strutturata
Schema di selezione:
esiste un blocco di
controllo che permette
di scegliere quale
schema di flusso
debba essere eseguito
tra due schemi, in
funzione del valore di
verità del controllo.

13
Analisi strutturata
Schema di iterazione (ciclo o loop):
modo conciso per descrivere azione che devono essere
ripetute.

14
Analisi strutturata
Nota.
I due schemi precedenti non sono equivalenti; in un caso lo
schema S è eseguito almeno una volta, nell’altro potrebbe
non essere mai eseguito.
Le condizioni vero/falso per il controllo possono essere
invertite: si parla di iterazione per vero quando S è eseguito
finché la condizione su C è vera e iterazione per falso
nell’altro caso.

15
Note sullo schema di iterazione
Quando è necessario eseguire lo stesso insieme di
operazioni per un numero specificato di volte, si
adotta un particolare schema di iterazione:
inizia con una sequenza di azioni di assegnazione, dette
istruzioni di inizializzazione;
possiede una sequenza di azioni (iterazione) che viene
ripetuta per un numero specificato di volte.

16
Analisi strutturata

17
Analisi strutturata
Condizione di fine ciclo: viene
controllata dopo l’esecuzione di ogni
blocco di iterazione.
Può essere con controllo in coda al ciclo
o in testa.

18
Analisi strutturata
Un ciclo è detto enumerativo quando è noto a priori il
numero di volte che deve essere eseguito.
Si usa la tecnica del contatore per controllarne l’esecuzione:
si usa cioè una variabile detta contatore del ciclo che viene
incrementata (o decrementata) fino a raggiungere un valore
prefissato.

19
Analisi strutturata
Un ciclo è indefinito quando non è noto a priori il
numero di volte che deve essere eseguito.
Questo accade quando la condizione di fine ciclo
dipende dal valore di una o più variabili che, a loro
volta, o dipendono dall’interazione con l’esterno o
vengono modificate dall’interno dell’iterazione in
modo complesso.

20
Esercizi
Ricerca di un elemento in un vettore.
Determinazione del massimo numero in
un vettore.
Media di un vettore.
(Ordinamento di un vettore).

21
Soluzione: ricerca

22
Soluzione: massimo

23
Soluzione: media