Lezione 6

Controllo dei dati

Prima di applicare una formula bisogna verificare che le misure siano valide.

Perché controllare i dati

Una base negativa, un'altezza uguale a zero o un raggio negativo non hanno senso in questo contesto. Il programma deve intercettare questi casi e mostrare un errore invece di calcolare un risultato inutile.

if (base > 0 && altezza > 0) {
    area = base * altezza;
    cout << area;
} else {
    cout << "Dati non validi";
}

Operatori di confronto utili

OperatoreSignificatoEsempio
==Ugualea == b
!=Diversoa != b
>Maggiorea > b
<Minorea < b
>=Maggiore o ugualea >= b
<=Minore o ugualea <= b
In molti linguaggi = assegna un valore, mentre == confronta due valori.

Condizioni semplici e complesse

Una condizione semplice controlla un solo valore. Una condizione complessa collega più controlli.

Raggio valido

raggio > 0

Rettangolo valido

base > 0 && altezza > 0

Errore sui dati

base <= 0 || altezza <= 0

// Esempi
base > 0
raggio > 0
base > 0 && altezza > 0
baseMaggiore > 0 && baseMinore > 0 && altezza > 0

Esempio completo: numero pari o dispari

Questo esempio usa l'operatore modulo %: se il resto della divisione per 2 è zero, il numero è pari; altrimenti è dispari.

Flowchart per controllare se un numero è pari o dispari

Il ramo vero stampa che il numero è pari, il ramo falso stampa che è dispari.

if (a % 2 == 0) {
    cout << "a e' pari";
} else {
    cout << "a e' dispari";
}

Flowchart collegato: quadrato

Flowchart per calcolare area e perimetro del quadrato

Questo flowchart mostra il caso lineare. Come estensione, prima dei calcoli si può inserire una selezione con controllo lato > 0.

Precedente Lezione successiva