In questa lezione impari a
- tradurre una regola in un diagramma di flusso
- usare input, output e decisioni
- verificare il programma con casi di prova
- individuare errori nelle condizioni
Aprire Flowgorithm
Se non l'hai ancora installato, segui il modulo 1 del corso Flowgorithm oppure scaricalo dal sito ufficiale. Per ripassare le decisioni c'è il modulo 5, Strutture di selezione.
Nel diagramma userai:
- Input per leggere un valore;
- Output per visualizzare un messaggio;
- Se (If) per valutare una condizione;
- variabili di tipo Real per temperature e precipitazioni (possono avere la virgola).
Esercizio guidato: temperatura sopra 30 °C
Problema: leggere una temperatura massima. Se è maggiore di 30, mostrare Giornata molto calda; altrimenti mostrare Temperatura non superiore a 30 °C.
- Crea un nuovo diagramma.
- Dichiara una variabile
temperaturadi tipo Real. - Inserisci un'istruzione di input per leggere
temperatura. - Inserisci una decisione con la condizione
temperatura > 30. - Nel ramo Vero, visualizza
Giornata molto calda. - Nel ramo Falso, visualizza
Temperatura non superiore a 30 °C. - Esegui il diagramma con 29, 30 e 31.
- Confronta i risultati con le previsioni della lezione precedente.
Mostra i risultati attesi
29 e 30 seguono il ramo Falso; 31 segue il ramo Vero.
Esercizi
⭐⭐ Medio
Esercizio 1 – Tre classificazioni. Leggi una temperatura e mostra:
Freddase è inferiore a 5 °C;Intermediase è compresa tra 5 °C e 25 °C inclusi;Caldase è superiore a 25 °C.
Suggerimento: usa una prima decisione temperatura < 5; nel ramo Falso inserisci una seconda decisione temperatura <= 25.
Casi di prova: −2, 5, 18, 25 e 26.
Mostra la soluzione
−2 → Fredda; 5 → Intermedia; 18 → Intermedia; 25 → Intermedia; 26 → Calda.
⭐⭐⭐ Avanzato
Esercizio 2 – Temperatura e pioggia. Leggi temperaturaMassima e precipitazioni. Regole:
- se la temperatura massima è maggiore di 25 °C e le precipitazioni sono maggiori di 0 mm, mostra
Giornata calda e piovosa; - se la temperatura massima è maggiore di 25 °C e non piove, mostra
Giornata calda; - in tutti gli altri casi, mostra
Giornata non calda.
Si può fare in due modi:
- con due decisioni una dentro l'altra: prima
temperaturaMassima > 25; nel ramo Vero una seconda decisioneprecipitazioni > 0; - con l'operatore And: una prima decisione
temperaturaMassima > 25 And precipitazioni > 0; nel suo ramo Falso serve ancora una decisionetemperaturaMassima > 25per distinguere la giornata calda da quella non calda.
Controlla il diagramma con la tabella dei test:
| Temperatura massima | Precipitazioni | Output atteso |
|---|---|---|
| 28 | 5 | Giornata calda e piovosa |
| 28 | 0 | Giornata calda |
| 25 | 4 | Giornata non calda |
| 18 | 0 | Giornata non calda |
Mostra la soluzione
Con le decisioni annidate:
Leggi temperaturaMassima, precipitazioni
SE temperaturaMassima > 25 ALLORA
SE precipitazioni > 0 ALLORA
Visualizza "Giornata calda e piovosa"
ALTRIMENTI
Visualizza "Giornata calda"
FINE SE
ALTRIMENTI
Visualizza "Giornata non calda"
FINE SE
I risultati sono quelli della tabella. Con 25 °C la giornata è «non calda» anche se piove, perché 25 non è maggiore di 25.
⭐⭐ Sfida
Esercizio 3 – Allerta pioggia. Modifica il programma per mostrare Pioggia intensa quando le precipitazioni superano 20 mm. Scegli almeno tre casi di prova, compreso il valore esattamente uguale a 20.
Mostra la soluzione
Condizione precipitazioni > 20: il valore 20 non la attiva, 21 sì. Una buona tabella dei test usa per esempio 0, 20 e 21.
Prossima lezione
Nell'ultima lezione assemblerai dati, statistiche, grafici e algoritmo in un report illustrato.