La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

I DIAGRAMMI DI FLUSSO Vantaggi e svantaggi.

Presentazioni simili


Presentazione sul tema: "I DIAGRAMMI DI FLUSSO Vantaggi e svantaggi."— Transcript della presentazione:

1 I DIAGRAMMI DI FLUSSO Vantaggi e svantaggi

2 Diagrammi di flusso (Flow Chart)
Per rappresentare in modo efficace un algoritmo sono stati sviluppati dei modelli grafici (i diagrammi di flusso o diagrammi a blocchi) che associano alle istruzioni del programma dei simboli grafici. I blocchi sono i simboli grafici che vengono utilizzati nella scrittura del diagramma per descrivere azioni e decisioni; gli archi orientati servono per collegare i vari blocchi e per descrivere la sequenza di svolgimento delle azioni. Ogni forma ha il suo significato I DIAGRAMMI DI FLUSSO

3 INIZIO Indica l’inizio dell’algoritmo
Un solo inizio per ogni diagramma di flusso I DIAGRAMMI DI FLUSSO

4 INGRESSO/USCITA Indica un inserimento di dati o una restituzione di dati (azione di input/output) Input: ingresso dei dati Output: uscita dei dati I DIAGRAMMI DI FLUSSO

5 ELABORAZIONE/AZIONE Indica un’operazione, un’azione che deve essere eseguita Operazione da eseguire I DIAGRAMMI DI FLUSSO

6 DECISIONE/DOMANDA/CONFRONTO
Se ci sono delle decisioni da prendere, più opzioni, più strade possibili, bisogna utilizzare questa forma. Controllo I DIAGRAMMI DI FLUSSO

7 DIREZIONE DEL FLUSSO Le frecce collegano i vari blocchi e indicano la direzione del processo Collegano blocchi I DIAGRAMMI DI FLUSSO

8 FINE Dichiara la conclusione del diagramma FINE I DIAGRAMMI DI FLUSSO

9 Un diagramma a blocchi è un insieme di blocchi elementari composto da:
a) un blocco iniziale b) un blocco finale c) un numero finito n (n>=1) di blocchi di azione e/o di blocchi di lettura/scrittura d) un numero finito m (m>=0) di blocchi di controllo I DIAGRAMMI DI FLUSSO

10 ciascun blocco è raggiungibile dal blocco iniziale
L’insieme dei blocchi elementari che descrivono un algoritmo deve soddisfare le seguenti condizioni: ciascun blocco di azione o di lettura/scrittura ha una sola freccia entrante ed una sola freccia uscente ciascun blocco di controllo ha una sola freccia entrante e due frecce uscenti ciascuna freccia entra in un blocco oppure si innesta in un’altra freccia ciascun blocco è raggiungibile dal blocco iniziale il blocco finale è raggiungibile da qualsiasi altro blocco I DIAGRAMMI DI FLUSSO

11 Come si esegue un algoritmo descritto con un diagramma di flusso?
Si inizia dal blocco iniziale (START, BEGIN, INIZIO…) Si seguono le frecce Si esegue ogni blocco rettangolare che si incontra Si valuta l’espressione di ogni blocco romboidale e si segue la freccia etichettata con il valore risultante dalla valutazione (vero / falso, si / no, T/F ….) Ci si arresta quando si incontra il blocco finale (stop/fine) I DIAGRAMMI DI FLUSSO

12 Schema di sequenza – più schemi di flusso sono eseguiti in sequenza
La programmazione strutturata favorisce la descrizione di algoritmi facilmente documentabili e comprensibili, privi di salti senza regole. I blocchi di un diagramma a blocchi strutturato sono collegati secondo i seguenti schemi di flusso: Schema di sequenza – più schemi di flusso sono eseguiti in sequenza Schema di selezione – un blocco di controllo subordina l’esecuzione di due possibili schemi di flusso al verificarsi di una condizione Schema di iterazione – si itera l’esecuzione di un dato schema di flusso I DIAGRAMMI DI FLUSSO

13 Un diagramma a blocchi strutturato è un diagramma a blocchi nel quale gli schemi di flusso sono strutturati Uno schema di flusso è strutturato quando soddisfa una delle seguenti proprietà: È uno schema elementare o uno schema di sequenza (nella sequenza ci sono solo schemi di flusso strutturati) I DIAGRAMMI DI FLUSSO

14 È uno schema di selezione
Nel primo caso, lo schema S viene eseguito solo se la condizione è vera; se la condizione è falsa, non viene eseguita alcuna azione Nel secondo caso, viene eseguito solo uno dei due schemi S_true o S_false, in dipendenza del valore di verità della condizione I DIAGRAMMI DI FLUSSO

15 È uno schema di iterazione
Nel primo caso, S può non venire mai eseguito, se la condizione è subito falsa; Nel secondo caso, S viene eseguito almeno una volta I DIAGRAMMI DI FLUSSO

16 L’uso dei diagrammi a blocchi strutturati garantisce:
Ogni diagramma a blocchi non strutturato è trasformabile in un diagramma a blocchi strutturato equivalente; Due diagrammi a blocchi sono equivalenti se, operando sugli stessi dati, producono gli stessi risultati L’uso dei diagrammi a blocchi strutturati garantisce: facilità di comprensione e modifica dei diagrammi a blocchi maggiore uniformità nella descrizione degli algoritmi I DIAGRAMMI DI FLUSSO

17 Ogni programma può essere codificato riferendosi esclusivamente ad un algoritmo strutturato e quindi attenendosi alle tre strutture fondamentali: SEQUENZIALE ITERATIVA CONDIZIONALE In un diagramma strutturato non apparirà mai una istruzione di salto incondizionato. I DIAGRAMMI DI FLUSSO

18 I tre schemi fondamentali possono essere concatenati, uno di seguito all’altro, o nidificati, uno dentro l’altro; non possono in nessun caso essere “intrecciati” o “accavallati” : I DIAGRAMMI DI FLUSSO

19 I tre schemi fondamentali possono essere concatenati, uno di seguito all’altro, o nidificati, uno dentro l’altro; non possono in nessun caso essere “intrecciati” o “accavallati” : I DIAGRAMMI DI FLUSSO

20 Digramma di flusso non strutturato
I DIAGRAMMI DI FLUSSO

21 Come verificare se un diagramma di flusso è strutturato
I DIAGRAMMI DI FLUSSO

22 Esempio: Dato un numero, dire se è positivo o negativo
Inizia Leggi NUMERO Se NUMERO>=0 Allora Scrivi “Il numero è positivo” Altrimenti Scrivi “Il numero è negativo” FineSe Fine I DIAGRAMMI DI FLUSSO

23 Esempio: Dato un numero, dire se è positivo ,negativo o nullo
Inizia Leggi NUMERO Se NUMERO>0 Allora Scrivi “Il numero è positivo” Altrimenti Se Numero=0 Scrivi “Il numero è nullo” Scrivi “Il numero è negativo” FineSe Fine I DIAGRAMMI DI FLUSSO

24 Esempio: Dati due numeri, calcolare il loro prodotto usando solo l’operazione di somma
Inizia Leggi NUM1, NUM2 PROD=0 Mentre NUM2>0 PROD=PROD+NUM1 NUM2=NUM2-1 FineMentre Scrivi PROD Fine I DIAGRAMMI DI FLUSSO

25 Esempio: Dati tre numeri, stabilire quale sia il maggiore (soluzione 1)
Inizia Leggi NUM1, NUM2, NUM3 Se NUM1>NUM2 Allora MAX=NUM1 Altrimenti MAX=NUM2 FineSe Se NUM3>MAX MAX=NUM3 Scrivi MAX Fine I DIAGRAMMI DI FLUSSO

26 Esempio: Dati tre numeri, stabilire quale sia il maggiore (soluzione 2)
Inizia Leggi NUM1,NUM2,NUM3 Se (NUM1>NUM2) AND (NUM1>NUM3) Allora MAX=NUM1 Altrimenti Se (NUM2>NUM1) AND (NUM2>NUM3) MAX=NUM2 MAX=NUM3 FineSe Scrivi MAX Fine I DIAGRAMMI DI FLUSSO

27 Esempio: Sommare tre numeri consecutivi (soluzione 1)
Inizia Leggi NUM SOMMA=0 SOMMA=SOMMA+NUM SOMMA=SOMMA+(NUM+1) SOMMA=SOMMA+(NUM+2) Scrivi SOMMA Fine I numeri da sommare sono solo 3, ma se fossero n? Bisogna introdurre un ciclo I DIAGRAMMI DI FLUSSO

28 Esempio: Sommare tre numeri consecutivi (soluzione 2)
Questo diagramma è valido anche se i numeri da sommare sono n, basta cambiare la condizione del do_while con “while k<n-1” I DIAGRAMMI DI FLUSSO

29 Esempio: Calcolare la media di n numeri
Questo è un esempio di ciclo “indefinito” perché non è possibile sapere a priori quante volte verrà eseguito. I numeri vengono letti uno alla volta fino a che non si incontra un numero NUM=0, che segnala la fine della serie. I DIAGRAMMI DI FLUSSO

30 LIMITI DEI DIAGRAMMI DI FLUSSO
I diagrammi di flusso complessi o non strutturati sono generalmente illeggibili, non si riesce a seguire l’algoritmo soprattutto quando superano le dimensioni di un semplice esercizio didattico. La lettura andrebbe fatta un po’ dall’alto un po’ dal basso senza un ordine preciso. I diagrammi di flusso sono facilmente esposti ad errori logici, bastano pochi accavallamenti di cicli per perdere il filo del controllo. Ciò nasce dalle correzioni consentite da un indisciplinato uso delle frecce che causa un proliferare di errori logici che si accentua con la complessità del problema e l’inesperienza del risolutore. Scarsa praticità dovuta alla natura grafica bidimensionale. Difficoltà di riconoscimento della struttura di controllo. I DIAGRAMMI DI FLUSSO

31 LIMITI DEI DIAGRAMMI DI FLUSSO
La soluzione a questi problemi consiste nell’imporre una disciplina di composizione che eviti cattive strutturazioni degli algoritmi. L’idea base è che: un algoritmo deve essere letto dall’alto al basso secondo un ordine sequenziale di esecuzione. Ciò non significa che non possono esistere dei cicli o dei controlli, ma che questi siano strutturati in modo da poter essere considerati come un unico blocco operativo con un unico ingresso e una sola uscita. Si devono poter distinguere: blocchi semplici; blocchi composti; tutti con un unico punto di ingresso e un unico punto di uscita. I DIAGRAMMI DI FLUSSO

32 VANTAGGI DEI DIAGRAMMI DI FLUSSO
Un diagramma di flusso è utile per scomporre un processo in attività elementari facili da gestire e da comprendere, infatti un diagramma di flusso strutturato è componibile ossia ad ogni schema elementare si può sostituire con uno schema più complesso di selezione o di iterazione. È facilmente modificabile. È facilmente leggibile poiché rappresenta il processo come una mappa È utile per identificare i processi più critici e i punti di controllo I DIAGRAMMI DI FLUSSO


Scaricare ppt "I DIAGRAMMI DI FLUSSO Vantaggi e svantaggi."

Presentazioni simili


Annunci Google