argomento06 introduzione ad algobuildcesposito/materiale/lezioni/lezione_6.pdflessico, sintassi e...
TRANSCRIPT
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