Example: stock market

AlgoBuild: Strutture iterative e selettive

Fondamenti di InformaticaAlgoBuild: Strutture iterative e selettiveProf. Christian EspositoCorso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) 2016/17 AlgoBuild: Strutture iterative e selettiveAlgoBuild: Strutture iterative e selettiveOUTLINE Strutturaselettiva Esempi Struttura iterativa FOR (ciclo a condizione iniziale) Esempi Struttura iterativa DO/WHILE (ciclo a condizione finale) Esempi ArrayAlgoBuild: Strutture iterative e selettive02/85 Diagrammi di Flusso: Blocco di Decisione Binaria (o Condizionale) Possono essere presenti istruzioni condizionali, la cui esecuzione dipende cio da scelte effettuate in base ai dati Concettualmente, possiamo immaginare che il flusso di esecuzione si ramifichi In base ad una condizioneviene deciso se eseguire un operazione oppureun altra?Diramazione(condizionale)AlgoBuild : Strutture iterative e selettive03/85 Strutture di Controllo: Selezione SempliceAlgoBuild: Strutture iterative e selettive04/85 Strutture di Controllo: Selezione a Due VieAlgoBuild: Strutture iterative e selettive05/85 Struttura Selettiva IF Esempio Definiamo un diagramma di flusso che Prende in input la variabile VOTOda parte dell utente Mostra in output Superato!

Strutture di Controllo: Ciclo a Condizione Finale AlgoBuild: Strutture iterative e selettive 60/85. Struttura Iterativa DO/WHILE –Esempio • Definiamo un diagramma di flusso che rappresenta il calcolo della media aritmetica di un certo numero (non noto a priori) di valori

Tags:

  Strutture, Strutture di

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of AlgoBuild: Strutture iterative e selettive

1 Fondamenti di InformaticaAlgoBuild: Strutture iterative e selettiveProf. Christian EspositoCorso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) 2016/17 AlgoBuild: Strutture iterative e selettiveAlgoBuild: Strutture iterative e selettiveOUTLINE Strutturaselettiva Esempi Struttura iterativa FOR (ciclo a condizione iniziale) Esempi Struttura iterativa DO/WHILE (ciclo a condizione finale) Esempi ArrayAlgoBuild: Strutture iterative e selettive02/85 Diagrammi di Flusso: Blocco di Decisione Binaria (o Condizionale) Possono essere presenti istruzioni condizionali, la cui esecuzione dipende cio da scelte effettuate in base ai dati Concettualmente, possiamo immaginare che il flusso di esecuzione si ramifichi In base ad una condizioneviene deciso se eseguire un operazione oppureun altra?Diramazione(condizionale)AlgoBuild : Strutture iterative e selettive03/85 Strutture di Controllo: Selezione SempliceAlgoBuild: Strutture iterative e selettive04/85 Strutture di Controllo: Selezione a Due VieAlgoBuild: Strutture iterative e selettive05/85 Struttura Selettiva IF Esempio Definiamo un diagramma di flusso che Prende in input la variabile VOTOda parte dell utente Mostra in output Superato!

2 SeVOTO maggiore o uguale di 18 NON Superato , altrimentiAlgoBuild: Strutture iterative e selettive06/85 Struttura Selettiva IF Iniziamo dal prendere in input la variabile VOTOAlgoBuild: Strutture iterative e selettive07/85 Struttura Selettiva IFAlgoBuild: Strutture iterative e selettive08/85 Struttura Selettiva IFAlgoBuild: Strutture iterative e selettive09/85 Struttura Selettiva IFCi verr richiesto di inserire l espressione (condizione booleana) che la struttura selettiva IF deve soddisfare. Tale espressione pu assumere un valore booleano: vero (T) o falso (F)AlgoBuild: Strutture iterative e selettive10/85 Struttura Selettiva IFAlgoBuild: Strutture iterative e selettive11/85 Struttura Selettiva IFFlusso di esecuzione se la condizione falsaAlgoBuild: Strutture iterative e selettive12/85 Struttura Selettiva IFFlusso di esecuzione se la condizione veraAlgoBuild: Strutture iterative e selettive13/85 Struttura Selettiva IF PSEUDO-CODICEPROG mainIN VOTOIF VOTO >= 18 OUT "Superato!

3 "ELSE //if VOTO >= 18 OUT "NON Superato"END IF //VOTO >= 18 END PROG //mainAlgoBuild: Strutture iterative e selettive14/85 AlgoBuild: Strutture iterative e selettiveStruttura Selettiva IF DEMO 15/85 AlgoBuild: Strutture iterative e selettiveStruttura Selettiva IF DEMO 16/85 AlgoBuild: Strutture iterative e selettiveStruttura Selettiva IF DEMO 17/85 AlgoBuild: Strutture iterative e selettiveStruttura Selettiva IF DEMO Variabile VOTO presa in input dall istruzione precedente18/85 AlgoBuild: Strutture iterative e selettiveStruttura Selettiva IF DEMO Condizione vera19/85 AlgoBuild: Strutture iterative e selettiveStruttura Selettiva IF DEMO 20/85 AlgoBuild: Strutture iterative e selettiveStruttura Selettiva IF DEMO Cosa sarebbe accaduto se avessi usato VOTO = 16?21/85 Struttura Selettiva IF (Annidata) Nelle istruzioni del blocco Vero o del blocco Falso (else), possibile inserire altri blocchi di scelta In tal caso si dice che la seconda scelta risulta annidataall interno della primaC1A1BC2A2A3A4 VVFFAlgoBuild: Strutture iterative e selettive22/85 Struttura Selettiva IF (Annidata) C1 Vero, C2 Vero Istruzioni eseguite: A1, A2, A4C1A1BC2A2A3A4 VVFFAlgoBuild: Strutture iterative e selettive23/85 Struttura Selettiva IF (Annidata) C1 Vero, C2 Falso Istruzioni eseguite: A1, A3, A4C1A1BC2A2A3A4 VVFFAlgoBuild: Strutture iterative e selettive24/85 Struttura Selettiva IF (Annidata) C1 Falso Istruzioni eseguite: BC1A1BC2A2A3A4 VVFFAlgoBuild.

4 Strutture iterative e selettive25/85 Struttura Selettiva IF (Annidata) L intero blocco di scelta pi interno (dalla condizione fino al ricongiungimento) deve essere completamente contenuto all interno di uno dei rami del blocco pi esternoC1A1BC2A2A3A4 VVFFAlgoBuild: Strutture iterative e selettive26/85 Struttura Selettiva IF (Annidata): Esempio 1 L esito dell esame di uno studente pu assumere una delle seguenti quattro valutazioni Sufficiente:se il voto compreso tra 18 e 21 Buono:se il voto compreso tra 22 e 25 Ottimo:se il voto compreso tra 26 e 28 Eccellente:se il voto 29 o 30 Un voto validose compreso tra 0 e 30 AlgoBuild: Strutture iterative e selettive27/85 Struttura Selettiva IF (Annidata): Esempio 1 Controllo che il voto sia validoAlgoBuild: Strutture iterative e selettive28/85 Struttura Selettiva IF (Annidata): Esempio 1Se il voto minore di 18, l esame non superatoAlgoBuild: Strutture iterative e selettive29/85 Struttura Selettiva IF (Annidata): Esempio 1 AlgoBuild: Strutture iterative e selettive30/85 Struttura Selettiva IF (Annidata): Esempio 1IF annidatoAlgoBuild: Strutture iterative e selettive31/85 AlgoBuild: Strutture iterative e selettiveIF annidato10/85 AlgoBuild: Strutture iterative e selettiveIF annidatoAlgoBuild: Strutture iterative e selettiveIF annidatoEsempio: Risoluzione di equazioni di primo grado + = 0 La soluzione : = / Solo se 0 = ( ) Se =0 =0 = ( ) Se =0 b 0 AlgoBuild: Strutture iterative e selettive35/85 AlgoBuild: Strutture iterative e selettive36/85 AlgoBuild: Strutture iterative e selettive37/85 AlgoBuild.

5 Strutture iterative e selettive38/85IF annidatoIF annidatoAlgoBuild: Strutture iterative e selettive39/85 AlgoBuild: Strutture iterative e selettive40/85 Strutture di Controllo: Ciclo a Condizione InizialeAlgoBuild: Strutture iterative e selettive41/85 AlgoBuild: Strutture iterative e selettiveStruttura Iterativa FOR Esempio 1 Definiamoundiagrammadiflussoche Prendeininputleseguentiduevariabili X Y Memorizzae(mostrainoutput)unavariabile R=XY X X .. XY volte42/85 AlgoBuild: Strutture iterative e selettiveStruttura Iterativa FOR Esempio 143/85 AlgoBuild: Strutture iterative e selettiveStruttura Iterativa FOR Esempio 144/85 AlgoBuild: Strutture iterative e selettiveStruttura Iterativa FOR Esempio 145/85 Struttura Iterativa FOR Esempio 1 I=1;I<=Y;I=I+1 I=1 InizializzazionedelcicloFOR(allaprimaite razioneI=1) I<=Y CondizionediuscitadalcicloFOR(appenaIsar maggiorediY,ilcicloFORsiconcluder ) I=I+1 Incremento:adogniiterazionelavariabileIv err incrementataautomaticamentedi1 Intotaleilcicloverr eseguitoYvolteAlgoBuild: Strutture iterative e selettive46/85 Struttura Iterativa FOR Esempio 1 AlgoBuild: Strutture iterative e selettive47/85 Struttura Iterativa FOR Esempio 1 Rdenota la variabile in cui verr memorizzato di volta in volta l output.

6 Tale variabile inizializzata ad 1 AlgoBuild: Strutture iterative e selettive48/85 Struttura Iterativa FOR Esempio 1 PSEUDO-CODICEPROG mainIN XIN YASSIGN R = 1 FOR I = 1; I <= Y; I = I + 1 ASSIGN R = R * XEND FOR //I = 1; I <= Y; I = I + 1 OUT REND PROG //mainAlgoBuild: Strutture iterative e selettive49/8550/85 AlgoBuild: Strutture iterative e selettiveStruttura Iterativa FOR DEMO (Video)Introduzione ad AlgoBuildStruttura Iterativa FOR Esempio 2 Definiamoundiagrammadiflussocherappresen tailcalcolodellamediaaritmeticadiNnumeri presiininput,dove N unavariabilepresaininputAlgoBuild: Strutture iterative e selettive51/85 AlgoBuild: Strutture iterative e selettiveStruttura Iterativa FOR Esempio 2 PSEUDO-CODICE PROG mainIN NASSIGN Somma= 0 FOR I = 1; I <= N; I = I + 1IN ValoreASSIGN Somma= Valore+ SommaEND FOR //I = 1; I <= N; I = I + 1 ASSIGN Media = Somma/ NOUT MediaEND PROG //main52/85 AlgoBuild: Strutture iterative e selettiveStruttura Iterativa FOR Esempio 2 Richiedo Nall utente (Input)53/85 AlgoBuild: Strutture iterative e selettiveStruttura Iterativa FOR Esempio 2 Imposto Sommaa zero Ci mi servir per tener traccia della somma degli N numeri54/85 AlgoBuild: Strutture iterative e selettiveStruttura Iterativa FOR Esempio 2 Ciclo forche va da 1 a N Ad ogni iterazione Viene richiesto in input un numero (IN Valore) Viene aggiornata la variabile Sommache verr utilizzata successivamente per il calcolo della media aritmetica Somma = Somma + Valore 55/85 AlgoBuild: Strutture iterative e selettiveStruttura Iterativa FOR Esempio 2 Calcolo la media Dividendo la somma (variabile Somma) per gli Nnumeri presi in input56/85 AlgoBuild.

7 Strutture iterative e selettiveStruttura Iterativa FOR Esempio 2Il contenuto della variabile Media viene mostrato in output57/85 AlgoBuild: Strutture iterative e selettiveStruttura Iterativa FOR Demo (Video)Introduzione ad AlgoBuild58/85 AlgoBuild: Strutture iterative e selettiveStruttura Iterativa FOR Esempio 2 OSSERVAZIONE necessariofornirepreventivamentealnostro programmailnumerodivaloridicuisidovr possibilefarelamediadiuncertonumero(nonn otoapriori)divaloripresiininput?59/85 Strutture di Controllo: Ciclo a Condizione FinaleAlgoBuild: Strutture iterative e selettive60/85 Struttura Iterativa DO/WHILE Esempio Definiamoundiagrammadiflussocherappresen tailcalcolodellamediaaritmeticadiuncerto numero(nonnotoapriori)divaloripresiininp utAlgoBuild: Strutture iterative e selettive61/85 AlgoBuild: Strutture iterative e selettiveStruttura Iterativa DO/WHILE EsempioPSEUDO-CODICEPROG mainASSIGN Somma= 0 ASSIGN N = 0DO_WHILE //Continua == 1IN ValoreASSIGN Somma= Somma+ ValoreASSIGN N = N + 1IN ContinuaEND DO_WHILE Continua == 1 ASSIGN Media = Somma/ NOUT MediaEND PROG //main62/85 AlgoBuild: Strutture iterative e selettiveStruttura Iterativa DO/WHILE Esempio Inizializzazionea0dellevariabiliSommaedN Non statopresoancoraininputalcunvalore(quind iN=0) Non stataeseguitaancoralasommadialcunvalore( quindiSomma=0)63/85 AlgoBuild.

8 Strutture iterative e selettiveStruttura Iterativa DO/WHILE Esempio CicloDO/WHILE Richiedeininputunvalore(INValore) AggiornalavariabileSomma,aggiungendoglil avariabileValore Somma=Somma+Valore AggiornailvalorediN(datoche statopresoininputunnuovovalore) N=N+1 Chiedeall utentesevuolecontinuare(quindiunnuovoval oreverr presoininput) SeilvaloredellavariabileContinuasar diversoda1,allorailciclowhilesiinterromp er Altrimentisiproseguir conun altraiterazione64/85 AlgoBuild: Strutture iterative e selettiveStruttura Iterativa DO/WHILE Esempio CalcolalamediaaritmeticadividendoSommape rN Lamediaaritmetica memorizzatanellavariabileMedia Chevienepoimostratainoutput65/85 AlgoBuild: Strutture iterative e selettiveStruttura Iterativa DO/WHILE DEMO (Video)AlgoBuild: Strutture iterative e selettive66/85 Array (o vettore) una variabile strutturatadove possibile memorizzare pi valori tutti dello stesso tipo Un array monodimensionaleo vettorepu essere immaginato come un contenitore suddiviso in tanti scomparti quanti sono i dati che vi si vogliono memorizzare Un array bidimensionale noto come matrice Ognuno di questi scomparti, detti elementi del vettore, contiene un unico dato ed individuato da un numero progressivo, detto indice, che specifica la posizione dell elemento all interno del vettore stesso L indice pu assumere valori interi da zeroal numero totale di elementi meno 1 L indice di base dell array sempre zero Il numero complessivo degli elementi del vettore viene detto lunghezzaIndice i0123456789a3215851296331021 Nome arrayAlgoBuild.

9 Strutture iterative e selettive67/85 Array (o vettore) Per accedere a un singolo elemento di un array si deve specificare il nome dell arrayseguito dall indice dell elementoposto tra parentesi quadre: a[i] Es: a[1] restituisce l elemento 15, a[3] restituisce l elemento 5 Indice i0123456789a3215851296331021 Nome arrayAlgoBuild: Strutture iterative e selettive68/85 Esempio: Inserire gli elementi in un Array e stamparli Vediamo come inserire gli elementi (valori) in un vettore di lunghezza 10 Al termine dell inserimento, gli elementi verranno poi stampatiIndice i0123456789aNome arrayAlgoBuild: Strutture iterative e selettive69/85 Indice i0123456789aNome arrayAlgoBuild: Strutture iterative e selettive70/85 Indice i0123456789aNome arrayAlgoBuild: Strutture iterative e selettive71/85 Indice i0123456789aNome arrayAlgoBuild: Strutture iterative e selettive72/85 Indice i0123456789aNome array32 AlgoBuild: Strutture iterative e selettive73/85 Indice i0123456789aNome array3215 AlgoBuild: Strutture iterative e selettive74/85 Indice i0123456789aNome array32158 AlgoBuild: Strutture iterative e selettive75/85 Indice i0123456789aNome array321585 AlgoBuild: Strutture iterative e selettive76/85 Indice i0123456789aNome array32158512 AlgoBuild: Strutture iterative e selettive77/85 Indice i0123456789aNome array321585129 AlgoBuild: Strutture iterative e selettive78/85 Indice i0123456789aNome array32158512963 AlgoBuild: Strutture iterative e selettive79/85 Indice i0123456789aNome array321585129633 AlgoBuild: Strutture iterative e selettive80/85 Indice i0123456789aNome array321585129633102 AlgoBuild: Strutture iterative e selettive81/85 Indice i0123456789aNome array3215851296331021 AlgoBuild.

10 Strutture iterative e selettive82/85 Prendo valori in inputRestituisco valori in outputAlgoBuild: Strutture iterative e selettive83/85 Esempio: Determinare il massimo elemento di un array e stamparne la posizioneAlgoBuild: Strutture iterative e selettiveINIZIO ALGORITMO trovaMaxposizione = 0 Periche va da0a 9 Sea[i]> a[posizione]posizione= i //Istruz


Related search queries