SlideShare a Scribd company logo
1 of 31
Programmazione a
                blocchi
Con Algobuild – Fabio Biscaro
I 5 blocchi base
                           Inizio programma

                                  I

                                                           Input
 Fine programma

                                                           IN A
       F


                                              Esecuzione
                  Output


                  OUT A                        A=5+1
Algobuild: l’esecutore


Algobuild permette di scrivere un algoritmo con un linguaggio a
blocchi e in più è un esecutore.
Come tutti gli esecutori ha queste caratteristiche:
• Sa eseguire un algoritmo
• Può prendere degli input dall’utente
• Può eseguire delle istruzioni di calcolo
• Può restituire dei valori all’utente
• Ha della memoria in cui mantenere i valori che servono
  durante l’esecuzione: variabili
Stampa di un numero inserito
Caso d’uso:
Domanda        Risposta
Chi lo usa     Un utente
Obiettivo      Stampare lo stesso numero che
               l’utente ha inserito preceduto dal testo
               «Il numero che hai inserito è»
Input          Un numero
Output         Il numero inserito
Procedimento   • Chiedo all’utente un numero
               • Stampo il numero
Casi limite    Nessuno
Test           Inserisco 5 e stampa 5
Stampa di un numero inserito
Divisione
Caso d’uso:
Domanda        Risposta
Chi lo usa     Un utente
Obiettivo      Calcolare la divisione tra due numeri
Input          I due numeri
Output         La divisione
Procedimento   1. Chiedo all’utente di inserire i due
                  numeri
               2. Calcolo la divisione dei due numeri
               3. Stampo la divisione
Casi limite    Divisione per zero
Test           10/5 = 2
               10/0 scrive impossibile
Algoritmo divisione
Blocco condizionale – Selezione -If
Si usa ogni volta in cui in base ad una condizione devono
accadere cose diverse:
• Se un numero è maggiore di 5 fai qualcosa
• Se inserisci un numero positivo scrivo «positivo»,
    altrimenti scrivo «negativo»
• …

                          Blocco Se o Selezione




                                   A>5
   Condizione vera                                          Condizione falsa
Numero pari o dispari?
Caso d’uso:
Domanda        Risposta
Chi lo usa     Un utente
Obiettivo      Determinare se un numero è pari o
               dispari
Input          Il numero
Output         «pari» o «dispari»
Procedimento   1. Chiedo all’utente un numero
               2. Calcolo il resto della divisione per
                  due
               3. Se il resto è zero scrivo «pari»,
                  altrimenti scrivo «dispari»
Casi limite    Nessuno
Test           12 è pari, 11 è dispari
Condizioni

  Condizione                      Sintassi
  Uguale                          ==
  Diverso                         !=
  Maggiore                        >
  Minore                          <
  Maggiore uguale                 >=
  Minore uguale                   <=



      Verificare se a è maggiore uguale a 12 si scrive a>=12
Numero pari o dispari?
Algoritmo divisione
considerando i casi limite
Caso d’uso:
Domanda         Risposta
Chi lo usa      Un utente
Obiettivo       Calcolare la divisione tra due numeri
Input           I due numeri
Output          La divisione
Procedimento    1. Chiedo all’utente di inserire i due
                   numeri
                2. Verifico se il dividendo è zero
                3. Calcolo la divisione dei due numeri
                4. Stampo la divisione
Casi limite     Divisione per zero
Test            Verificare 20/5 = 4
                Verificare che 20/0 non dia errore
Algoritmo divisione
considerando i casi limite
Combinare condizioni
• Bisogno: Vedo una gelateria e ho voglia di gelato!

• Mi servono 2€ o qualcuno che me li presta

• Mi servono 10 minuti di tempo
Problema: Posso mangiare un gelato?
Domanda        Risposta
Chi lo usa     Io
Obiettivo      Mangiare il gelato
Input          Mio tempo, i soldi dell’amico, i miei soldi
Output         Posso mangiarlo? Sì o no
Procedimento   1. chiedo i soldi miei
               2. Chiedo i soldi amico
               3. Chiedo il tempo
Casi limite    nessuno
Test           Se ho 5€, amico 5€, tempo 10 minuti -> sì
               Se ho 2€, amico 0€, tempo 3 min -> no
Combinare condizioni
                             Operatore unario NOT - !

        Serve un                A      NOT A
       operatore!               V        F
                                F        V


Operatori binari    O - ||                        E - &&
   A        B       AoB         A        B       AeB
   V        V        V          V        V        V
   V        F        V          V        F        F
   F        V        V          F        V        F
   F        F        F          F        F        F
Esempio Algobuild
Cosa succede quando qualcosa si deve
ripetere più volte?
Esempi:
1. Continuare a ripetere l’inserimento di un numero finché non
   è diverso da zero, come nel caso del divisore della divisione
2. Scrivere 5 volte «Ciao Mondo!»
3. Fare un conto alla rovescia partendo da un numero inserito
   dall’utente
4. Scrivere la tabellina del 3 fino a 10
Riepilogo: esempio di flusso




 Cosa succede quando qualcosa si deve ripetere
                  più volte?
Serve qualcosa di nuovo!

   I cicli


       1. Do While

              2. While

                         3. For
Inserimento finché il numero è
diverso da zero
Domanda        Risposta
Chi lo usa     Utente
Obiettivo      Fare una divisione tra due numeri
Input          I due numeri
Output         La divisione
Procedimento   1. Chiedo i numeri
               2. Se il divisore è = 0 chiedo ancora il numero
               3. Effettuo la divisione
Casi limite    nessuno
Test           10 /5 e 10/0 (deve richiedere il secondo
               numero)
Inserimento finché il numero è
diverso da zero
Scrivere 10 volte «Ciao Mondo!»

Domanda        Risposta
Chi lo usa     Utente
Obiettivo      Scrivere 10 volte «ciao mondo»
Input          Nessuno
Output         10 volte «ciao mondo!»
Procedimento   1.   Creo un contatore = 0
               2.   Scrivo «ciao mondo»
               3.   Aumento il contatore di 1
               4.   Ripeto l’istruzione finché il contatore è < 10
Casi limite    Nessuno
Test           Deve scrivere 10 volte ciao mondo
Scrivere 10 volte «Ciao Mondo!»
Conto alla rovescia

Domanda        Risposta
Chi lo usa     Utente
Obiettivo      Conto alla rovescia da N a 0
Input          Il numero N
Output         I numeri da N a 0
Procedimento   1.   Chiedo l’inserimento di N
               2.   Scrivo N
               3.   Decremento N di uno
               4.   Se N > 0 torno al punto 2, altrimenti fine
Casi limite    N deve essere maggiore di 0
               Se inserisco 0 stampo 0
Test           Deve scrivere il conto alla rovescia dal numero
               inserito
Conto alla rovescia
Tabellina del 3 (con il for)

Domanda        Risposta
Chi lo usa     Utente
Obiettivo      Scrivere la tabellina del 3 con il for
Input          Nessuno
Output         La tabellina del 3
Procedimento   1.   Imposto una variabile uguale a 3
               2.   Scrivo la variabile
               3.   Aumento la variabile di 3
               4.   Se N <= 30 torno al punto 2, altrimenti fine
Casi limite    Nessuno
Test           Deve scrivere la tabellina del 3
Tabellina del 3 (con il for)
Trova il massimo tra 5 numeri
Domanda        Risposta
Chi lo usa     Utente
Obiettivo      Trovare il massimo tra 5 numeri positivi inseriti
Input          5 numeri
Output         Il massimo dei numeri inseriti
Procedimento   1. Imposto un contatore a 0
               2. Imposto il massimo a 0
               3. Inserisco un numero
               4. Verifico se il numero è maggiore del
                  massimo e nel caso aggiorno il massimo
               5. Incremento il contatore
               6. Se il contatore è < di 5 torno al punto 3
               7. Stampo il massimo
Casi limite    Inserisco dei numeri negativi
Test           Dato 10, 3, 6, 34 e 17 deve restituire 34
Trova il massimo tra 5 numeri
Riferimenti
Esercizi – Informatica Insieme
Algobuild – www.algobuild.com
Manuale - Manuale di Algobuild
Sintassi del linguaggio - Sintassi
Canale Youtube di Algobuild
Altri video su Algobuild - Video
Fabio Biscaro – www.oggiimparoio.it




                Grazie per l’attenzione!

More Related Content

What's hot

What's hot (20)

imperfection
imperfectionimperfection
imperfection
 
Articolo 3 costituzione
Articolo 3 costituzioneArticolo 3 costituzione
Articolo 3 costituzione
 
Prima Guerra Mondiale-Sintesi degli avvenimenti
Prima Guerra Mondiale-Sintesi degli avvenimentiPrima Guerra Mondiale-Sintesi degli avvenimenti
Prima Guerra Mondiale-Sintesi degli avvenimenti
 
Il calligramma. Spiegazione ed esempi.
Il calligramma. Spiegazione ed esempi.Il calligramma. Spiegazione ed esempi.
Il calligramma. Spiegazione ed esempi.
 
Organi Stato italiano
Organi Stato italianoOrgani Stato italiano
Organi Stato italiano
 
01 Hardware
01  Hardware01  Hardware
01 Hardware
 
L'alfabeto di Scratch - lezione 1
L'alfabeto di Scratch - lezione 1L'alfabeto di Scratch - lezione 1
L'alfabeto di Scratch - lezione 1
 
LA PERCENTUALE
LA PERCENTUALELA PERCENTUALE
LA PERCENTUALE
 
Educazione alla cittadinanza digitale
Educazione alla cittadinanza digitaleEducazione alla cittadinanza digitale
Educazione alla cittadinanza digitale
 
segreteria
segreteriasegreteria
segreteria
 
La società di massa
La società di massaLa società di massa
La società di massa
 
Van Gogh
Van GoghVan Gogh
Van Gogh
 
Bilancia dei pagamenti
Bilancia dei pagamenti Bilancia dei pagamenti
Bilancia dei pagamenti
 
Tecniche di comunicazione efficace
Tecniche di comunicazione efficaceTecniche di comunicazione efficace
Tecniche di comunicazione efficace
 
L'unione europea
L'unione europeaL'unione europea
L'unione europea
 
La seconda guerra mondiale
La seconda guerra mondialeLa seconda guerra mondiale
La seconda guerra mondiale
 
Corso Fake news: "All'inizio fu la bufala"
Corso Fake news: "All'inizio fu la bufala"Corso Fake news: "All'inizio fu la bufala"
Corso Fake news: "All'inizio fu la bufala"
 
I generi testuali
I generi testualiI generi testuali
I generi testuali
 
Vincent Van Gogh
Vincent Van GoghVincent Van Gogh
Vincent Van Gogh
 
Moti del 1820 21 in italia ed europa
Moti del 1820 21 in italia ed europaMoti del 1820 21 in italia ed europa
Moti del 1820 21 in italia ed europa
 

Viewers also liked

Insegnare gli algoritmi giocando: progetto sviluppo e sperimentazione di un p...
Insegnare gli algoritmi giocando: progetto sviluppo e sperimentazione di un p...Insegnare gli algoritmi giocando: progetto sviluppo e sperimentazione di un p...
Insegnare gli algoritmi giocando: progetto sviluppo e sperimentazione di un p...Marco Damiano
 
Cosa sono gli algoritmi?
Cosa sono gli algoritmi?Cosa sono gli algoritmi?
Cosa sono gli algoritmi?mattuzzi
 
15 - Programmazione: Algoritmi
15 - Programmazione: Algoritmi15 - Programmazione: Algoritmi
15 - Programmazione: AlgoritmiMajong DevJfu
 
Asd 01 Algoritmi E Strutture Dati
Asd 01 Algoritmi E Strutture DatiAsd 01 Algoritmi E Strutture Dati
Asd 01 Algoritmi E Strutture DatiPier Luca Lanzi
 
Studio comparativo tra gli algoritmi di Dijkstra e Bellman-Ford
Studio comparativo tra gli algoritmi di Dijkstra e Bellman-FordStudio comparativo tra gli algoritmi di Dijkstra e Bellman-Ford
Studio comparativo tra gli algoritmi di Dijkstra e Bellman-FordFrancesco Ciclosi
 
Crea compiti motivanti - Flipped Classroom
Crea compiti motivanti - Flipped ClassroomCrea compiti motivanti - Flipped Classroom
Crea compiti motivanti - Flipped ClassroomFabio Biscaro
 
Coding: dai diagrammi di flusso al pipecoding
Coding: dai diagrammi di flusso al pipecodingCoding: dai diagrammi di flusso al pipecoding
Coding: dai diagrammi di flusso al pipecodingAlessandro Bogliolo
 
4 Strutture Condizionali
4   Strutture Condizionali4   Strutture Condizionali
4 Strutture Condizionaliguest60e9511
 
Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086Sergio Porcu
 
Costruiamo una mappa concettuale
Costruiamo una mappa concettualeCostruiamo una mappa concettuale
Costruiamo una mappa concettualeGiulio Falco
 

Viewers also liked (20)

come costruire un algoritmo
come costruire un algoritmocome costruire un algoritmo
come costruire un algoritmo
 
Insegnare gli algoritmi giocando: progetto sviluppo e sperimentazione di un p...
Insegnare gli algoritmi giocando: progetto sviluppo e sperimentazione di un p...Insegnare gli algoritmi giocando: progetto sviluppo e sperimentazione di un p...
Insegnare gli algoritmi giocando: progetto sviluppo e sperimentazione di un p...
 
Cosa sono gli algoritmi?
Cosa sono gli algoritmi?Cosa sono gli algoritmi?
Cosa sono gli algoritmi?
 
Esercizio Sugli Algoritmi
Esercizio Sugli AlgoritmiEsercizio Sugli Algoritmi
Esercizio Sugli Algoritmi
 
15 - Programmazione: Algoritmi
15 - Programmazione: Algoritmi15 - Programmazione: Algoritmi
15 - Programmazione: Algoritmi
 
Asd 01 Algoritmi E Strutture Dati
Asd 01 Algoritmi E Strutture DatiAsd 01 Algoritmi E Strutture Dati
Asd 01 Algoritmi E Strutture Dati
 
Correzione Flow Chart Numeri Compresi Millucci
Correzione Flow Chart Numeri Compresi MillucciCorrezione Flow Chart Numeri Compresi Millucci
Correzione Flow Chart Numeri Compresi Millucci
 
Studio comparativo tra gli algoritmi di Dijkstra e Bellman-Ford
Studio comparativo tra gli algoritmi di Dijkstra e Bellman-FordStudio comparativo tra gli algoritmi di Dijkstra e Bellman-Ford
Studio comparativo tra gli algoritmi di Dijkstra e Bellman-Ford
 
Algoritmi
Algoritmi Algoritmi
Algoritmi
 
Crea compiti motivanti - Flipped Classroom
Crea compiti motivanti - Flipped ClassroomCrea compiti motivanti - Flipped Classroom
Crea compiti motivanti - Flipped Classroom
 
Coding: dai diagrammi di flusso al pipecoding
Coding: dai diagrammi di flusso al pipecodingCoding: dai diagrammi di flusso al pipecoding
Coding: dai diagrammi di flusso al pipecoding
 
Flow chart
Flow chartFlow chart
Flow chart
 
Pixel art
Pixel artPixel art
Pixel art
 
4 Strutture Condizionali
4   Strutture Condizionali4   Strutture Condizionali
4 Strutture Condizionali
 
Correzione Flow Chart Riepilogo
Correzione Flow Chart RiepilogoCorrezione Flow Chart Riepilogo
Correzione Flow Chart Riepilogo
 
1.01 Algoritmi
1.01 Algoritmi1.01 Algoritmi
1.01 Algoritmi
 
Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086
 
Didattica e innovazione
Didattica e innovazioneDidattica e innovazione
Didattica e innovazione
 
Un algoritmo è per sempre
Un algoritmo è per sempreUn algoritmo è per sempre
Un algoritmo è per sempre
 
Costruiamo una mappa concettuale
Costruiamo una mappa concettualeCostruiamo una mappa concettuale
Costruiamo una mappa concettuale
 

Recently uploaded

LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................giorgiadeascaniis59
 
Storia-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptxStoria-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptxteccarellilorenzo
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxlorenzodemidio01
 
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024IISGiovanniVallePado
 
TeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docxTeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docxteccarellilorenzo
 
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...Nguyen Thanh Tu Collection
 
Una breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereUna breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereMarco Chizzali
 
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxsasaselvatico
 
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptxTeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptxteccarellilorenzo
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxlorenzodemidio01
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....giorgiadeascaniis59
 
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxlorenzodemidio01
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................giorgiadeascaniis59
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxlorenzodemidio01
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.camillaorlando17
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticanico07fusco
 
TeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdfTeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdfteccarellilorenzo
 

Recently uploaded (17)

LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................
 
Storia-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptxStoria-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptx
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptx
 
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
 
TeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docxTeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docx
 
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
 
Una breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereUna breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opere
 
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
 
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptxTeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
 
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informatica
 
TeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdfTeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdf
 

Programmazione a blocchi

  • 1. Programmazione a blocchi Con Algobuild – Fabio Biscaro
  • 2. I 5 blocchi base Inizio programma I Input Fine programma IN A F Esecuzione Output OUT A A=5+1
  • 3. Algobuild: l’esecutore Algobuild permette di scrivere un algoritmo con un linguaggio a blocchi e in più è un esecutore. Come tutti gli esecutori ha queste caratteristiche: • Sa eseguire un algoritmo • Può prendere degli input dall’utente • Può eseguire delle istruzioni di calcolo • Può restituire dei valori all’utente • Ha della memoria in cui mantenere i valori che servono durante l’esecuzione: variabili
  • 4. Stampa di un numero inserito Caso d’uso: Domanda Risposta Chi lo usa Un utente Obiettivo Stampare lo stesso numero che l’utente ha inserito preceduto dal testo «Il numero che hai inserito è» Input Un numero Output Il numero inserito Procedimento • Chiedo all’utente un numero • Stampo il numero Casi limite Nessuno Test Inserisco 5 e stampa 5
  • 5. Stampa di un numero inserito
  • 6. Divisione Caso d’uso: Domanda Risposta Chi lo usa Un utente Obiettivo Calcolare la divisione tra due numeri Input I due numeri Output La divisione Procedimento 1. Chiedo all’utente di inserire i due numeri 2. Calcolo la divisione dei due numeri 3. Stampo la divisione Casi limite Divisione per zero Test 10/5 = 2 10/0 scrive impossibile
  • 8. Blocco condizionale – Selezione -If Si usa ogni volta in cui in base ad una condizione devono accadere cose diverse: • Se un numero è maggiore di 5 fai qualcosa • Se inserisci un numero positivo scrivo «positivo», altrimenti scrivo «negativo» • … Blocco Se o Selezione A>5 Condizione vera Condizione falsa
  • 9. Numero pari o dispari? Caso d’uso: Domanda Risposta Chi lo usa Un utente Obiettivo Determinare se un numero è pari o dispari Input Il numero Output «pari» o «dispari» Procedimento 1. Chiedo all’utente un numero 2. Calcolo il resto della divisione per due 3. Se il resto è zero scrivo «pari», altrimenti scrivo «dispari» Casi limite Nessuno Test 12 è pari, 11 è dispari
  • 10. Condizioni Condizione Sintassi Uguale == Diverso != Maggiore > Minore < Maggiore uguale >= Minore uguale <= Verificare se a è maggiore uguale a 12 si scrive a>=12
  • 11. Numero pari o dispari?
  • 12. Algoritmo divisione considerando i casi limite Caso d’uso: Domanda Risposta Chi lo usa Un utente Obiettivo Calcolare la divisione tra due numeri Input I due numeri Output La divisione Procedimento 1. Chiedo all’utente di inserire i due numeri 2. Verifico se il dividendo è zero 3. Calcolo la divisione dei due numeri 4. Stampo la divisione Casi limite Divisione per zero Test Verificare 20/5 = 4 Verificare che 20/0 non dia errore
  • 14. Combinare condizioni • Bisogno: Vedo una gelateria e ho voglia di gelato! • Mi servono 2€ o qualcuno che me li presta • Mi servono 10 minuti di tempo
  • 15. Problema: Posso mangiare un gelato? Domanda Risposta Chi lo usa Io Obiettivo Mangiare il gelato Input Mio tempo, i soldi dell’amico, i miei soldi Output Posso mangiarlo? Sì o no Procedimento 1. chiedo i soldi miei 2. Chiedo i soldi amico 3. Chiedo il tempo Casi limite nessuno Test Se ho 5€, amico 5€, tempo 10 minuti -> sì Se ho 2€, amico 0€, tempo 3 min -> no
  • 16. Combinare condizioni Operatore unario NOT - ! Serve un A NOT A operatore! V F F V Operatori binari O - || E - && A B AoB A B AeB V V V V V V V F V V F F F V V F V F F F F F F F
  • 18. Cosa succede quando qualcosa si deve ripetere più volte? Esempi: 1. Continuare a ripetere l’inserimento di un numero finché non è diverso da zero, come nel caso del divisore della divisione 2. Scrivere 5 volte «Ciao Mondo!» 3. Fare un conto alla rovescia partendo da un numero inserito dall’utente 4. Scrivere la tabellina del 3 fino a 10
  • 19. Riepilogo: esempio di flusso Cosa succede quando qualcosa si deve ripetere più volte?
  • 20. Serve qualcosa di nuovo! I cicli 1. Do While 2. While 3. For
  • 21. Inserimento finché il numero è diverso da zero Domanda Risposta Chi lo usa Utente Obiettivo Fare una divisione tra due numeri Input I due numeri Output La divisione Procedimento 1. Chiedo i numeri 2. Se il divisore è = 0 chiedo ancora il numero 3. Effettuo la divisione Casi limite nessuno Test 10 /5 e 10/0 (deve richiedere il secondo numero)
  • 22. Inserimento finché il numero è diverso da zero
  • 23. Scrivere 10 volte «Ciao Mondo!» Domanda Risposta Chi lo usa Utente Obiettivo Scrivere 10 volte «ciao mondo» Input Nessuno Output 10 volte «ciao mondo!» Procedimento 1. Creo un contatore = 0 2. Scrivo «ciao mondo» 3. Aumento il contatore di 1 4. Ripeto l’istruzione finché il contatore è < 10 Casi limite Nessuno Test Deve scrivere 10 volte ciao mondo
  • 24. Scrivere 10 volte «Ciao Mondo!»
  • 25. Conto alla rovescia Domanda Risposta Chi lo usa Utente Obiettivo Conto alla rovescia da N a 0 Input Il numero N Output I numeri da N a 0 Procedimento 1. Chiedo l’inserimento di N 2. Scrivo N 3. Decremento N di uno 4. Se N > 0 torno al punto 2, altrimenti fine Casi limite N deve essere maggiore di 0 Se inserisco 0 stampo 0 Test Deve scrivere il conto alla rovescia dal numero inserito
  • 27. Tabellina del 3 (con il for) Domanda Risposta Chi lo usa Utente Obiettivo Scrivere la tabellina del 3 con il for Input Nessuno Output La tabellina del 3 Procedimento 1. Imposto una variabile uguale a 3 2. Scrivo la variabile 3. Aumento la variabile di 3 4. Se N <= 30 torno al punto 2, altrimenti fine Casi limite Nessuno Test Deve scrivere la tabellina del 3
  • 28. Tabellina del 3 (con il for)
  • 29. Trova il massimo tra 5 numeri Domanda Risposta Chi lo usa Utente Obiettivo Trovare il massimo tra 5 numeri positivi inseriti Input 5 numeri Output Il massimo dei numeri inseriti Procedimento 1. Imposto un contatore a 0 2. Imposto il massimo a 0 3. Inserisco un numero 4. Verifico se il numero è maggiore del massimo e nel caso aggiorno il massimo 5. Incremento il contatore 6. Se il contatore è < di 5 torno al punto 3 7. Stampo il massimo Casi limite Inserisco dei numeri negativi Test Dato 10, 3, 6, 34 e 17 deve restituire 34
  • 30. Trova il massimo tra 5 numeri
  • 31. Riferimenti Esercizi – Informatica Insieme Algobuild – www.algobuild.com Manuale - Manuale di Algobuild Sintassi del linguaggio - Sintassi Canale Youtube di Algobuild Altri video su Algobuild - Video Fabio Biscaro – www.oggiimparoio.it Grazie per l’attenzione!