Argomento06 Introduzione ad AlgoBuildcesposito/materiale/lezioni/Lezione_6.pdflessico, sintassi e...

Post on 31-Jul-2020

7 views 0 download

Transcript of Argomento06 Introduzione ad AlgoBuildcesposito/materiale/lezioni/Lezione_6.pdflessico, sintassi e...

FondamentidiInformaticaIntroduz ioneadA lgoBui ld

Prof. Chr i st ian Espos i toCorso d i Laurea in Ingegner ia Meccanica e Gest iona le (C lasse I )A .A . 2016/17

IntroduzioneadAlgoBuild

Introduzione adAlgoBuild:OUTLINE•Caratteristiche•Comesi presenta•Utilizzodelbloccodioutput• Esempio•Utilizzodeiblocchidiinput,outputedesecuzione• Esempio

IntroduzioneadAlgoBuild 02/52

Caratteristiche – 1/3

• Fonte• https://algobuild.com/it/index.html

IntroduzioneadAlgoBuild 03/52

Caratteristiche – 2/3

• Con AlgoBuild è possibile disegnare in manierasemplice ed efficace diagrammi di flusso

• AlgoBuild permette anche di tradurre i diagrammi diflusso in pseudo-codice

•Maggiori informazioni• https://algobuild.com/it/index.html

IntroduzioneadAlgoBuild 04/52

Caratteristiche – 3/3

•Dove reperirlo?• AlgoBuild è scaricabile gratuitamente• L’indirizzo da cui può essere scaricato è• https://algobuild.com/it/download.html

• La versione stabile attualmente è la 0.75

IntroduzioneadAlgoBuild 05/52

Comesi Presenta

IntroduzioneadAlgoBuild 06/52

Comesi Presenta

Diagrammadiflusso

IntroduzioneadAlgoBuild 07/52

Comesi PresentaPseudo-codice

IntroduzioneadAlgoBuild 08/52

Comesi Presenta

PannellodiOutput

IntroduzioneadAlgoBuild 09/52

Comesi Presenta

Pannellodellevariabili

IntroduzioneadAlgoBuild 10/52

Comesi PresentaBarrastrumenti

IntroduzioneadAlgoBuild 11/52

Esempio 1:“Hello,World!”– 1/13• Iniziamo ad utilizzare AlgoBuild con l’esempioHello, World!

•Hello, World!mostra semplicemente la stringa• “Ciao, Mondo!”

• Storicamente, molti manuali di programmazioneusano l’esempio “Hello, world!” per mostrarelessico, sintassi e semantica basilare di un datolinguaggio di programmazione

IntroduzioneadAlgoBuild 12/52

Esempio 1:“Hello,World!”– 2/13• Nell’area del diagramma di flusso possiamo notare idue blocchi di inizio (START) e fine (END)• Sono inseriti automaticamente da AlgoBuild

IntroduzioneadAlgoBuild 13/52

Esempio 1:“Hello,World!”– 3/13• Posizioniamoci con il mouse sulla freccia che collegalo START e l’END del nostro diagramma di flusso

IntroduzioneadAlgoBuild 14/52

Esempio 1:“Hello,World!”– 4/13• Cliccando su «NEW», ci verranno proposte diversealternative per l’inserimento di un nuovo blocco

IntroduzioneadAlgoBuild 15/52

Esempio 1:“Hello,World!”– 5/13• Selezioniamo Nuovo Output

IntroduzioneadAlgoBuild 16/52

Esempio 1:“Hello,World!”– 6/13• Selezioniamo Nuovo Output• Ci verrà richiesto qual è l’output che vogliamo mostrare

IntroduzioneadAlgoBuild 17/52

Esempio 1:“Hello,World!”– 7/13• Scriviamo la stringa ‘‘Ciao, Mondo!’’, poi• Clicchiamo su OK• Oppure premiamo il tasto Invio della tastiera

IntroduzioneadAlgoBuild 18/52

Esempio 1:“Hello,World!”– 8/13• Ecco il nostro diagramma di flusso

IntroduzioneadAlgoBuild 19/52

Esempio 1:“Hello,World!”– 9/13• AlgoBuild ha contestualmente generato anche lopseudo-codice• Ecco cosa ci presenterà l’area preposta

IntroduzioneadAlgoBuild 20/52

Esempio 1:“Hello,World!”– 10/13• Possiamo anche modificare il nome del diagramma diflusso• Cliccando sul blocco START oppure END• Scrivendo il nome che vogliamo assegnare al diagramma

IntroduzioneadAlgoBuild 21/52

Esempio 1:“Hello,World!”– 11/13• Possiamo modificare anche il nome del diagramma diflusso• Cliccando sul blocco START oppure END• Scrivendo il nome che vogliamo assegnare al diagramma• Ad esempio, lo chiamiamo helloworld

IntroduzioneadAlgoBuild 22/52

Esempio 1:“Hello,World!”– 12/13

•NOTA IMPORTANTE• Per inserire un nuovo blocco dobbiamo sempre cliccaresulla freccia che collega i due blocchi tra i qualivogliamo inserire un nuovo blocco

IntroduzioneadAlgoBuild 23/52

Esempio 1:“Hello,World!”– 13/13• L’esecuzione…• Ora che il nostro diagramma è stato generato, possiamosimulare la sua esecuzione tramite AlgoBuild

Comandiperlagestionedell’esecuzione

IntroduzioneadAlgoBuild 24/52

Esempio 1:“Hello,World!”– 13/13• L’esecuzione…• Ora che il nostro diagramma è stato generato, possiamosimulare la sua esecuzione tramite AlgoBuild

Serveadavviarel’esecuzionedelleistruzioni

IntroduzioneadAlgoBuild 25/52

Esempio 1:“Hello,World!”– 13/13• L’esecuzione…• Ora che il nostro diagramma è stato generato, possiamosimulare la sua esecuzione tramite AlgoBuild

Serveamettereinpausal’esecuzione

IntroduzioneadAlgoBuild 26/52

Esempio 1:“Hello,World!”– 13/13• L’esecuzione…• Ora che il nostro diagramma è stato generato, possiamosimulare la sua esecuzione tramite AlgoBuild

Serveadinterromperel’esecuzione

IntroduzioneadAlgoBuild 27/52

Esempio 1:“Hello,World!”– 13/13• L’esecuzione…• Ora che il nostro diagramma è stato generato, possiamosimulare la sua esecuzione tramite AlgoBuild

• AlgoBuild permette di simulare l’esecuzione anchepasso passo• In questo caso sarà necessario cliccare ogni volta su pereseguire l’istruzione successiva

IntroduzioneadAlgoBuild 28/52

Esempio 1:“Hello,World!”– 13/13• L’esecuzione…• Ora che il nostro diagramma è stato generato, possiamosimulare la sua esecuzione tramite AlgoBuild

• AlgoBuild permette di simulazione l’esecuzione,anche passo passo

• Possiamo anche decidere il tempo (in millisecondi)che intercorre tra ogni istruzione eseguita

IntroduzioneadAlgoBuild 29/52

Esempio 1:“Hello,World!”(2)

DEMO Esecuzione «Hello, World!» (Tempo passo: 5000ms, ovvero 5 secondi)

IntroduzioneadAlgoBuild 30/52

• Cliccando con il tasto sinistro su una specifica istruzione appariràilmenu contestuale che consente di• Modificare l’istruzione selezionata• Copiare l’istruzione• Tagliare l’istruzione (utile per spostarla da una parte ad un’altra,utilizzando i comandi Taglia e Incolla)

Modificareun’Istruzione

AlgoBuild:Struttureiterativeeselettive 31/52

Operatore Descrizione

< Minore

<= Minoreo uguale

> Maggiore

>= Maggioreouguale

== Uguale

!= Diverso

Operatore Descrizione

+ Addizione

- Sottrazione

* Moltiplicazione

/ Divisione

% Resto delladivisioneintera

AlgoBuild:Operatori Artimetici,Relazionali eLogici• Operatori Aritmetici

• Operatori Relazionali

Operatore Descrizione

&& AND

|| OR

! NOT

• Operatori Logici

IntroduzioneadAlgoBuild 32/52

Esempio 2:Perimetro Rettangolo – 1/5

P = 2 * (L1 + L2)

L1

L2

IntroduzioneadAlgoBuild 33/52

Esempio 2:Perimetro Rettangolo – 1/5

P = 2 * (L1 + L2)

L1

L2

L1à inputL2à inputPà output

IntroduzioneadAlgoBuild 34/52

IntroduzioneadAlgoBuild

Esempio 2:Perimetro Rettangolo – 2/5◦ Iniziamo

35/52

IntroduzioneadAlgoBuild

Esempio 2:Perimetro Rettangolo – 2/5◦ Iniziamo

36/52

IntroduzioneadAlgoBuild

Esempio 2:Perimetro Rettangolo – 2/5◦ Iniziamo

Inseriamoilprimoinput:lavariabileL1

37/52

IntroduzioneadAlgoBuild

Esempio 2:Perimetro Rettangolo – 2/5◦ Iniziamo

Ripetendole operazioniappenaviste, inseriamoanchel’inputdellasecondavariabile(ovveroL2)

38/52

IntroduzioneadAlgoBuild

Esempio 2:Perimetro Rettangolo – 2/5◦ Iniziamo

Comesipuònotare,talediagrammadiflussopresentadueblocchidiinput,denotatidallevariabiliL1edL2

39/52

IntroduzioneadAlgoBuild

Esempio 2:Perimetro Rettangolo – 2/5◦ Iniziamo

40/52

IntroduzioneadAlgoBuild

Esempio 2:Perimetro Rettangolo – 2/5

41/52

IntroduzioneadAlgoBuild

Esempio 2:Perimetro Rettangolo – 2/5

42/52

IntroduzioneadAlgoBuild

Esempio 2:Perimetro Rettangolo – 2/5◦ Iniziamo

L’ultimaoperazioneèquelladimostrareavideoilvaloredellavariabilerisultatoP

(dopol’operazionediassegnamento) 43/52

Esempio 2:Perimetro Rettangolo – 3/5

PSEUDO-CODICE

PROGperimetro_retINL1INL2ASSIGNP=2*(L1+L2)OUTP

ENDPROG//perimetro_ret

IntroduzioneadAlgoBuild 44/52

DEMO Esecuzione Perimetro Rettangolo (Tempo passo: 5000ms, ovvero 5 secondi)

IntroduzioneadAlgoBuild 45/52

• Selezionando l’opzione «Traccia» verranno fornite(nel Pannello di Output) ulteriori informazioniriguardanti il flusso di esecuzione• Oltre ad eventuali errori che possono intercorrere

Esempio 2:Perimetro Rettangolo – 4/5

IntroduzioneadAlgoBuild 46/52

Selezionando l’opzione «Traccia» Non selezionando l’opzione «Traccia»

Esempio 2:Perimetro Rettangolo – 5/5

IntroduzioneadAlgoBuild 47/52

• AlgoBuild permette di modificare le opzioni di visualizzazione deldiagramma di flusso, permettendo di cambiare• Tipo di carattere• Dimensioni del carattere• Dimensioni del carattere nel pannello di output• Spessore delle linee relative al contorno dei blocchi ed agli archi orientatiche collegano i blocchi (frecce)

• Cliccando sul tasto apparirà una finestra di dialogo che cipermetterà di vedere e modificare le suddette caratteristichedi visualizzazione

Altre Opzioni AlgoBuild – 1/3

IntroduzioneadAlgoBuild 48/52

• AlgoBuild permette di modificare le opzioni di visualizzazione deldiagramma di flusso, permettendo di cambiare• Tipo di carattere• Dimensioni del carattere• Dimensioni del carattere nel pannello di output• Spessore delle linee relative al contorno dei blocchi ed agli archi orientatiche collegano i blocchi (frecce)

• Cliccando sul tasto apparirà una finestra di dialogo che cipermetterà di vedere e modificare le suddette caratteristichedi visualizzazione

Altre Opzioni AlgoBuild – 1/3

IntroduzioneadAlgoBuild

FinestradiDialogoModificaopzionidivisualizzazione

49/52

• È anche possibile salvare un diagramma di flusso, per poi aprirlosuccessivamente (ad esempio, per fare modifiche, per simulare altreesecuzioni, etc)• Le opzioni di salvataggio ed apertura sono presenti nella barra strumenti

• Le opzioni di salvataggio/apertura sono presenti anche nel menu «File»• In particolare, sono presenti anche opzioni per• Stampare il diagramma di flusso• Copiare il diagramma di flusso negli appunti• Il diagramma verrà copiato come immagine• Salvare il diagramma come immagine (JPG, PNG, GIF)

Altre Opzioni AlgoBuild – 2/3

IntroduzioneadAlgoBuild 50/52

• Il menu «Aiuto» permette di accedere rapidamente a• Manuale AlgoBuild (online)• Sintassi e funzioni (online)• Pagina Facebook ufficiale e canale Youtube (con suggerimenti e video)• Informazioni sulla versione di AlgoBuild

Altre Opzioni AlgoBuild – 3/3

IntroduzioneadAlgoBuild 51/52

Riepilogo• Primo approccio ad AlgoBuild• Utilizzo dei blocchi di• Input• Output• Esecuzione/Assegnamento• Simulazione di esecuzione, mediante AlgoBuild

IntroduzioneadAlgoBuild 52/52