Ricerca di Massimo e Minimo
Argomenti: confronti di grandezza, variabili di confronto, inizializzazione al primo valore, selezione logica (>, <)
Determinare il valore massimo e il valore minimo all'interno di una sequenza di numeri è uno degli algoritmi di confronto fondamentali della programmazione.
La regola d'oro per l'inizializzazione di Max e Min:
Mai inizializzare Max a 0! Se l'utente inserisse solo numeri negativi (es. -5, -12, -3), un massimo inizializzato a zero rimarrebbe erroneamente 0!
Le Variabili Coinvolte nel Calcolo
Per confrontare N numeri inseriti in sequenza dall'utente, l'algoritmo impiega le seguenti variabili:
- Variabile
numero: Accoglie il dato corrente inserito ad ogni iterazione. - Variabile
max: Memorizza il valore più grande trovato fino a quel momento. - Variabile
min: Memorizza il valore più piccolo trovato fino a quel momento. - Variabile
i: Contatore delle letture effettuate.
Rappresentazione dell'Algoritmo
Esempio Pratico: Ricerca di Massimo e Minimo su N Numeri
L'algoritmo chiede all'utente quanti numeri intende inserire (N), legge il primo per inizializzare max e min, e poi confronta i successivi tramite un ciclo.
2. Ciclo e Confronto: Se num > max ➔ max = num | Se num < min ➔ min = num
3. Output: Scrivi max, min
| 1 | Inizio |
| 2 | // Dichiarazione variabili |
| 3 | Reale numero, max, min |
| 4 | Intero N, i |
| 5 | |
| 6 | Scrivi "Quanti numeri vuoi confrontare?" |
| 7 | Leggi N |
| 8 | |
| 9 | // Lettura del primo elemento per inizializzare max e min |
| 10 | Scrivi "Inserisci il 1° numero:" |
| 11 | Leggi numero |
| 12 | max = numero |
| 13 | min = numero |
| 14 | |
| 15 | // Ciclo per i restanti N - 1 numeri |
| 16 | i = 2 |
| 17 | Mentre i <= N Fai |
| 18 | Scrivi "Inserisci il prossimo numero:" |
| 19 | Leggi numero |
| 20 | |
| 21 | // Verifica per il Massimo |
| 22 | Se numero > max Allora |
| 23 | max = numero |
| 24 | Fine Se |
| 25 | |
| 26 | // Verifica per il Minimo |
| 27 | Se numero < min Allora |
| 28 | min = numero |
| 29 | Fine Se |
| 30 | |
| 31 | i = i + 1 |
| 32 | Fine Mentre |
| 33 | |
| 34 | Scrivi "Il valore massimo è: ", max |
| 35 | Scrivi "Il valore minimo è: ", min |
| 36 | Fine |
Errore Comune: Perché partire con i = 2 nel ciclo?
Poiché il 1° numero è già stato letto alle righe 10-11 per impostare il punto di partenza di max e min, il ciclo deve iniziare da i = 2 ed effettuare soltanto i restanti N - 1 confronti!
Per esercitarti a realizzare questo algoritmo in ambiente grafico, consulta la guida:
Quiz di Verifica: Massimo e Minimo
Rispondi alle 5 domande per verificare la tua comprensione sugli algoritmi di ricerca degli estremi numerici.
In sintesi
Argomenti: concetti principali, riepilogo, competenze
- La ricerca di massimo e minimo richiede il confronto progressivo tra il valore corrente e il valore estremo memorizzato.
- La regola fondamentale impone di inizializzare le variabili max e min con il primo valore letto dall'utente.
- Comprendere perché non bisogna mai inizializzare il massimo a zero quando si gestiscono numeri negativi.
- Utilizzare la struttura di selezione (Se / IF) per aggiornare le variabili di confronto durante la lettura.
- Rappresentare la ricerca di estremi numerici in pseudocodice e nei diagrammi di flusso.