Esempio di algoritmo • Scrivere l’algoritmo che esegue la somma di due numeri start start read X read X read Y read Y Z := X + Y write Z Z := X + Y end write Z end Informatica di Base -- R.Gaeta 82 Esempio: massimo tra due numeri Dati due numeri, dire qual è il massimo tra i due. start start read X read X read Y read Y vero X>Y max := X if (X > Y) then max := X falso max := Y else max := Y write max end end if write max end Informatica di Base -- R.Gaeta 83 Esempio di algoritmo: calcolo radici start start read a,b,c read a,b,c delta := b*b-4*a*c if (delta < 0) then delta:=b*b-4*a*c vero write “nessuna radice” falso delta < 0 else r1 := (-b+sqrt(delta))/2*a r1 := (-b + sqrt(delta))/2*a write "nessuna radice" r2 := (-b-sqrt(delta))/2*a r2 := (-b - sqrt(delta))/2*a write r1,r2 write r1,r2 vero delta = 0 write "radici coincidenti" if (delta = 0) then write “radici coincidenti” falso else write "radici distinte" write “radici distinte” end if end if end end Informatica di Base -- R.Gaeta 84 Esercizio: massimo di una sequenza • Si supponga di fornire in input ad un programma un numero indefinito di interi positivi. L’inserimento verrà terminato dall’utente quando questi inserirà uno zero (0). Il programma deve restituire il valore massimo tra quelli introdotti. Disegnare il diagramma di flusso di tale programma. Informatica di Base -- R.Gaeta 85 Strutture di controllo: iterazione …… azioni azioni while (condizione logica) azioni da ripetere azioni da ripetere vero condizione logica end while azioni seguenti …… falso azioni seguenti Informatica di Base -- R.Gaeta 86 Strutture di controllo: iterazioni annidate azioni …… azioni while (condizione logica esterna) azioni iterazione interna da ripetere while (condizione logica interna) azioni iterazione interna da ripetere azioni iterazione esterna da ripetere vero end while condizione logica interna falso vero azioni iterazione esterna da ripetere end while azioni seguenti condizione logica esterna falso …… azioni seguenti Informatica di Base -- R.Gaeta 87