Programmazione: algoritmo Riepilogo Dato un problema: Come lo risolveresti ? Descrivi a parole la procedura, a grandi blocchi. Isola serie di operazioni che si ripetono in ogni caso e una volta sola (costituiscono un blocco) da sequenze di operazioni che vanno ripetute (cicli) e da situazioni che possono richiedere di eseguire operazioni diverse al verificarsi o meno di una condizione (selezioni if). Se ci sono cicli, identifica la condizione da valutare per uscirne. Un ciclo costituirà un blocco. MATLAB - Riepilogo Programmazione: diagramma di flusso 2 Programmazione: traduzione diagramma Per ogni blocco del diagramma di flusso, ripeti: Esiste una funzione predefinita o un’istruzione che lo traduce ? Se esiste, usala; altrimenti scomponi il blocco in blocchi più piccoli, agendo come per il problema principale (cioè seguendo questa procedura) finché non hai tradotto tutto il blocco di partenza. Riporta la procedura come diagramma di flusso Ogni blocco diventa un quadrato Ogni selezione if diventa un rombo Per ogni ciclo determina il tipo di ciclo più adatto al problema e inserisci il corrispondente diagramma di flusso. Per ogni ciclo: Traduci il blocco corrispondente nel ciclo equivalente (while, for, do..until) Per ogni rombo, introduci la corrispondente selezione if e traduci i blocchi (rettangoli) che la compongono. MATLAB - Riepilogo 3 MATLAB - Riepilogo 4 1 Traduzione in diagramma di flusso 1. Esempio: somma di N numeri Chiedi all’utente quanti sommare e assegna il variabile N numeri vuole valore alla ‘Quanti numeri ?’ N MATLAB - Riepilogo 5 Esempio 2. MATLAB - Riepilogo 6 Esempio Definisci la variabile che dovrà contenere la somma e ponila a zero 3. Per N volte: 1. 2. Chiedi all’utente di inserire un numero Addiziona il numero inserito al valore della variabile somma. I1 Somma 0 No I<=N Sì Chiedi all’utente di inserire un numero e addizionalo al valore della variabile somma. I I+1 MATLAB - Riepilogo 7 MATLAB - Riepilogo 8 2 Esempio 1. 2. Esempio Chiedi all’utente di inserire un numero Addiziona il numero inserito al valore della variabile somma. 4. Stampa il valore di somma Somma ‘Inserisci numero’ Num Somma Somma + Num 9 MATLAB - Riepilogo MATLAB - Riepilogo Risultato finale Esercizi Start ‘Quanti numeri ?’ N Somma 0 I1 10 1. I <= N Sì ‘Ins. numero’ Num 2. Che tipo di ciclo usereste nei seguenti casi ? A. No B. Somma Somma + Num Somma Tradurre il diagramma di flusso ottenuto in un programma MATLAB Leggere da tastiera dieci numeri e calcolarne il prodotto. Leggere una serie di numeri da tastiera fino a quando non si inserisce 0, poi stamparli e calcolarne la media. Realizzare i due programmi seguendo il metodo appena visto. II+1 3. Stop 11 Realizzare il programma al punto A. utilizzando gli altri due tipi di ciclo. MATLAB - riepilogo 12 3