SlideShare a Scribd company logo
1 of 23
Diagrammi a blocchi




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




                                        2
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.

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




                                            4
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à.




                                                                        5
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.



                                                                                 6
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.


                                                                  7
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.


                                                             8
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.


                                                            9
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.

                                                 10
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 S1 e S2.



                                          11
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.
                                 12
Analisi strutturata
   Schema di iterazione (ciclo o loop):
       modo conciso per descrivere azione che devono essere
        ripetute.




                                                               13
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.

                                                                     14
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.


                                                                   15
Analisi strutturata




                      16
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.

                                            17
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.




                                                                        18
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.

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




                     21
Soluzione: massimo




                     22
Soluzione: media




                   23

More Related Content

What's hot

Presentazione corretta algoritmi
Presentazione corretta algoritmiPresentazione corretta algoritmi
Presentazione corretta algoritmimattuzzi
 
Regular Model Checking - Verifica di Sistemi Parametrici
Regular Model Checking - Verifica di Sistemi ParametriciRegular Model Checking - Verifica di Sistemi Parametrici
Regular Model Checking - Verifica di Sistemi ParametriciAlessandra Zullo
 
Programmazione Strutturata 20/11/2008
Programmazione Strutturata 20/11/2008Programmazione Strutturata 20/11/2008
Programmazione Strutturata 20/11/2008dibari.92
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStudiabo
 
Python - Primi passi
Python - Primi passi Python - Primi passi
Python - Primi passi orestJump
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStudiabo
 
Umano vs Computer: un esempio pratico
Umano vs Computer: un esempio praticoUmano vs Computer: un esempio pratico
Umano vs Computer: un esempio praticoFrancesco Sblendorio
 

What's hot (10)

Presentazione corretta algoritmi
Presentazione corretta algoritmiPresentazione corretta algoritmi
Presentazione corretta algoritmi
 
Regular Model Checking - Verifica di Sistemi Parametrici
Regular Model Checking - Verifica di Sistemi ParametriciRegular Model Checking - Verifica di Sistemi Parametrici
Regular Model Checking - Verifica di Sistemi Parametrici
 
Programmazione Strutturata 20/11/2008
Programmazione Strutturata 20/11/2008Programmazione Strutturata 20/11/2008
Programmazione Strutturata 20/11/2008
 
Algoritmi
Algoritmi Algoritmi
Algoritmi
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltin
 
Presentazione,
Presentazione,Presentazione,
Presentazione,
 
Python - Primi passi
Python - Primi passi Python - Primi passi
Python - Primi passi
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltin
 
Umano vs Computer: un esempio pratico
Umano vs Computer: un esempio praticoUmano vs Computer: un esempio pratico
Umano vs Computer: un esempio pratico
 
Master Thesis
Master ThesisMaster Thesis
Master Thesis
 

Viewers also liked

Web scraping e Datawrapper per giornalisti locali
Web scraping e Datawrapper per giornalisti localiWeb scraping e Datawrapper per giornalisti locali
Web scraping e Datawrapper per giornalisti localiDataninja
 
Pools of data
Pools of dataPools of data
Pools of dataDataninja
 
STATISTICA DESCRITTIVA - PRIMI PASSI-2 - MEDIE, MODA, MEDIANA, ISTOGRAMMA, DI...
STATISTICA DESCRITTIVA - PRIMI PASSI-2 - MEDIE, MODA, MEDIANA, ISTOGRAMMA, DI...STATISTICA DESCRITTIVA - PRIMI PASSI-2 - MEDIE, MODA, MEDIANA, ISTOGRAMMA, DI...
STATISTICA DESCRITTIVA - PRIMI PASSI-2 - MEDIE, MODA, MEDIANA, ISTOGRAMMA, DI...Ist. Superiore Marini-Gioia - Enzo Exposyto
 
Trabalzini
TrabalziniTrabalzini
Trabalziniuokko
 
STATISTICA DESCRITTIVA - PRIMI PASSI-5 - MEDIE, MODA, MEDIANA, ISTOGRAMMA, DI...
STATISTICA DESCRITTIVA - PRIMI PASSI-5 - MEDIE, MODA, MEDIANA, ISTOGRAMMA, DI...STATISTICA DESCRITTIVA - PRIMI PASSI-5 - MEDIE, MODA, MEDIANA, ISTOGRAMMA, DI...
STATISTICA DESCRITTIVA - PRIMI PASSI-5 - MEDIE, MODA, MEDIANA, ISTOGRAMMA, DI...Ist. Superiore Marini-Gioia - Enzo Exposyto
 
Medie di calcolo e medie di posizione
Medie di calcolo e medie di posizioneMedie di calcolo e medie di posizione
Medie di calcolo e medie di posizioneLuigi Pasini
 
Lezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-RLezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-RGiuseppe Cramarossa
 
SCUOLA MARIA MONTESSORI_Progetto Etra
SCUOLA MARIA MONTESSORI_Progetto EtraSCUOLA MARIA MONTESSORI_Progetto Etra
SCUOLA MARIA MONTESSORI_Progetto Etramaristella22
 
Montessori unimc-ridotta -1
Montessori unimc-ridotta -1Montessori unimc-ridotta -1
Montessori unimc-ridotta -1imartini
 
Elementi di statistica (classe prima media)
Elementi di statistica (classe prima media)Elementi di statistica (classe prima media)
Elementi di statistica (classe prima media)welljump
 
Ottimizzare i flussi dei materiali: logistica interna e distributiva
Ottimizzare i flussi dei materiali: logistica interna e distributivaOttimizzare i flussi dei materiali: logistica interna e distributiva
Ottimizzare i flussi dei materiali: logistica interna e distributivaForema
 
Lean office: ridurre gli sprechi ed aumentare l’efficienza negli uffici
Lean office: ridurre gli sprechi ed aumentare l’efficienza negli ufficiLean office: ridurre gli sprechi ed aumentare l’efficienza negli uffici
Lean office: ridurre gli sprechi ed aumentare l’efficienza negli ufficiForema
 

Viewers also liked (15)

Web scraping e Datawrapper per giornalisti locali
Web scraping e Datawrapper per giornalisti localiWeb scraping e Datawrapper per giornalisti locali
Web scraping e Datawrapper per giornalisti locali
 
Pools of data
Pools of dataPools of data
Pools of data
 
STATISTICA DESCRITTIVA - PRIMI PASSI-2 - MEDIE, MODA, MEDIANA, ISTOGRAMMA, DI...
STATISTICA DESCRITTIVA - PRIMI PASSI-2 - MEDIE, MODA, MEDIANA, ISTOGRAMMA, DI...STATISTICA DESCRITTIVA - PRIMI PASSI-2 - MEDIE, MODA, MEDIANA, ISTOGRAMMA, DI...
STATISTICA DESCRITTIVA - PRIMI PASSI-2 - MEDIE, MODA, MEDIANA, ISTOGRAMMA, DI...
 
Trabalzini
TrabalziniTrabalzini
Trabalzini
 
STATISTICA DESCRITTIVA - PRIMI PASSI-5 - MEDIE, MODA, MEDIANA, ISTOGRAMMA, DI...
STATISTICA DESCRITTIVA - PRIMI PASSI-5 - MEDIE, MODA, MEDIANA, ISTOGRAMMA, DI...STATISTICA DESCRITTIVA - PRIMI PASSI-5 - MEDIE, MODA, MEDIANA, ISTOGRAMMA, DI...
STATISTICA DESCRITTIVA - PRIMI PASSI-5 - MEDIE, MODA, MEDIANA, ISTOGRAMMA, DI...
 
Medie di calcolo e medie di posizione
Medie di calcolo e medie di posizioneMedie di calcolo e medie di posizione
Medie di calcolo e medie di posizione
 
Diagramma Gohonzon
Diagramma  GohonzonDiagramma  Gohonzon
Diagramma Gohonzon
 
L'acqua 2.1
L'acqua 2.1L'acqua 2.1
L'acqua 2.1
 
Lezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-RLezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-R
 
SCUOLA MARIA MONTESSORI_Progetto Etra
SCUOLA MARIA MONTESSORI_Progetto EtraSCUOLA MARIA MONTESSORI_Progetto Etra
SCUOLA MARIA MONTESSORI_Progetto Etra
 
Montessori unimc-ridotta -1
Montessori unimc-ridotta -1Montessori unimc-ridotta -1
Montessori unimc-ridotta -1
 
Elementi di statistica (classe prima media)
Elementi di statistica (classe prima media)Elementi di statistica (classe prima media)
Elementi di statistica (classe prima media)
 
Ottimizzare i flussi dei materiali: logistica interna e distributiva
Ottimizzare i flussi dei materiali: logistica interna e distributivaOttimizzare i flussi dei materiali: logistica interna e distributiva
Ottimizzare i flussi dei materiali: logistica interna e distributiva
 
Lean office: ridurre gli sprechi ed aumentare l’efficienza negli uffici
Lean office: ridurre gli sprechi ed aumentare l’efficienza negli ufficiLean office: ridurre gli sprechi ed aumentare l’efficienza negli uffici
Lean office: ridurre gli sprechi ed aumentare l’efficienza negli uffici
 
Maria montessori
Maria montessoriMaria montessori
Maria montessori
 

More from GervasiChristian (20)

02 processing
02 processing02 processing
02 processing
 
01-Processing
01-Processing01-Processing
01-Processing
 
01 maschera concorso
01  maschera concorso01  maschera concorso
01 maschera concorso
 
04 1 news letters
04 1 news letters04 1 news letters
04 1 news letters
 
Volantino
VolantinoVolantino
Volantino
 
003 news letters
003 news letters003 news letters
003 news letters
 
02 promemoria open day
02 promemoria open day02 promemoria open day
02 promemoria open day
 
02 promemoria open day
02 promemoria open day02 promemoria open day
02 promemoria open day
 
002 news letters
002 news letters002 news letters
002 news letters
 
002 news letters
002 news letters002 news letters
002 news letters
 
001 news letters
001 news letters001 news letters
001 news letters
 
Attestato sella ronda hero 2012[1]
Attestato sella ronda hero 2012[1]Attestato sella ronda hero 2012[1]
Attestato sella ronda hero 2012[1]
 
Ouho kazein 27 02-12
Ouho kazein 27 02-12Ouho kazein 27 02-12
Ouho kazein 27 02-12
 
001 locandina
001 locandina001 locandina
001 locandina
 
Umbria mobilità-assisi 2011
Umbria mobilità-assisi 2011Umbria mobilità-assisi 2011
Umbria mobilità-assisi 2011
 
Logo per kit tecnologico
Logo per kit tecnologicoLogo per kit tecnologico
Logo per kit tecnologico
 
01 a volantino
01 a volantino01 a volantino
01 a volantino
 
01 deplian
01 deplian01 deplian
01 deplian
 
01 deplian
01 deplian01 deplian
01 deplian
 
Evento 6 giugno piantina delle attività
Evento 6 giugno piantina delle attivitàEvento 6 giugno piantina delle attività
Evento 6 giugno piantina delle attività
 

Diagrammiblocchi 1228237260540857-9[2]

  • 2. Sommario  Diagrammi di flusso, o a blocchi.  Analisi strutturata.  Esercizi. 2
  • 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. 3
  • 4. Diagrammi a blocchi  I blocchi elementari sono i seguenti: 4
  • 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à. 5
  • 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. 6
  • 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. 7
  • 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. 8
  • 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. 9
  • 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. 10
  • 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 S1 e S2. 11
  • 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. 12
  • 13. Analisi strutturata  Schema di iterazione (ciclo o loop):  modo conciso per descrivere azione che devono essere ripetute. 13
  • 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. 14
  • 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. 15
  • 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. 17
  • 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. 18
  • 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. 19
  • 20. Esercizi  Ricerca di un elemento in un vettore.  Determinazione del massimo numero in un vettore.  Media di un vettore.  (Ordinamento di un vettore). 20