Problema. Data una sequenza di numeri, trovare il maggiore.
Soluzione proposta. Per determinare il maggiore di una sequenza di numeri si può pensare di procedere nel modo seguente:
- Prelevare il primo numero.
- Procurarsi gli altri numeri uno alla volta e ogni volta memorizzare solo quello che risulta essere il maggiore fino a quel momento.
Adottando questa strategia risolutiva si osserva che dopo la lettura del primo numero e la sua memorizzazione in una variabile (max), si individuano alcune azioni che si ripetono:
- Lettura di un nuovo numero della sequenza (memorizzazione in una variabile, v).
- Confronto del numero appena letto con quello che risulta essere il maggiore fra i numeri letti fino a quel momento e che si trova nella variabile max.
- Quindi, aggiornamento della variabile max se il nuovo numero letto risulta essere maggiore.
I passi individuati vanno ripetuti un numero di volte (che possiamo contare utilizzando una variabile contatore, c) pari a quanti sono i numeri della sequenza (q) meno uno. Il valore di q non è noto a priori e possiamo richiederlo in input.
Con le variabili individuate durante l’analisi e descritte nella seguente tabella, si ottiene il seguente algoritmo.
Flow chart e pseudocodice dell’algoritmo
Flow chart e pseudocodice dell’algoritmo equivalente finale
P.S. Il secondo algoritmo progettato facilita l’attività di debugging, in particolar modo per quel che riguarda la gestione degli errori di runtime dovuti agli input non validi (per approfondimenti: La gestione strutturata degli errori di runtime).