Vai al contenuto

Strutture di selezione

In questa lezione impari a

  • usare il blocco Se (If) e Se-Altrimenti (If-Else)
  • scrivere condizioni con gli operatori di confronto e logici
  • gestire più di due alternative annidando blocchi Se

Fino a ora i diagrammi seguivano sempre lo stesso percorso. Da qui imparano a scegliere.

Il blocco Se (If)

Il blocco Se ha la forma di un rombo. Contiene una condizione: se è vera il percorso continua da un lato, se è falsa dall'altro.

eta >= 18 ?
VERO
Output "Puoi entrare"
FALSO
Output "Sei minorenne"

Operatori di confronto e logici

Operatore Significato
> , < maggiore, minore
>= , <= maggiore o uguale, minore o uguale
== , <> uguale, diverso
And / Or / Not e, o, negazione: combinano più condizioni

Flowgorithm accetta sia = sia == per confrontare due valori. In questo corso usiamo sempre ==, perché è la scrittura che ritroverai identica in Python, Java e JavaScript. Non confonderlo con l'= singolo dell'assegnazione (totale = 10), che serve a dare un valore, non a confrontare.

Esempio con And: eta >= 14 And eta < 18 è vera solo per chi ha tra 14 e 17 anni.

Più alternative: i Se annidati

Flowgorithm non ha un blocco Switch: per le decisioni c'è solo il blocco Se. Quando le alternative sono più di due, si mette un altro Se nel ramo "Falso" del precedente.

eta < 14 ?
VERO
"Solo pomeridiano"
FALSO
eta < 18 ?

Il secondo Se sta dentro il ramo Falso del primo: viene valutato solo se il primo è risultato falso. Così si costruisce una catena di alternative con un solo tipo di blocco.

Esercizi

⭐⭐ Medio

Esercizio 1 – Il buttafuori della discoteca. In base all'età, il diagramma decide chi può entrare.

  1. Dichiara e chiedi eta (Integer).
  2. Se eta < 14 → "Puoi entrare solo al pomeridiano".
  3. Altrimenti, se eta < 18 → "Ingresso riservato, chiedi ai tuoi genitori".
  4. Altrimenti → "Puoi entrare!".
Suggerimento

Per tre alternative servono due blocchi Se annidati, uno dentro il ramo Falso dell'altro, come nello schema qui sopra.

⭐⭐ Medio

Esercizio 2 – Che sconto hai? Il diagramma calcola lo sconto in base alla spesa.

  1. Dichiara e chiedi spesa (Real).
  2. Se spesa >= 100 → sconto del 20%.
  3. Altrimenti, se spesa >= 50 → sconto del 10%.
  4. Altrimenti → nessuno sconto.
  5. Mostra la spesa finale dopo lo sconto.

Consegna: salva i file .fprg e prova ogni diagramma con almeno 3 valori diversi.