Sostieni AppuntiFacili con una piccola donazione su PayPal

Dona con PayPal
AppuntiFacili
Torna Indietro Segnala errore

Controlli Condizionali: if-else

✍️ Dennis Turco 🏷️ Informatica 📘 C++
Ultima modifica:
#c++#programmazione#controllicondizionali

1. Descrizione

L’istruzione if-else permette di controllare il flusso di esecuzione di un programma.

Il codice contenuto nel blocco if viene eseguito solo se la condizione è vera (true).

  • Se la condizione è vera → viene eseguito il blocco if
  • Se la condizione è falsa → viene eseguito il blocco else (se presente)

In C++ una condizione è considerata vera quando restituisce un valore diverso da 0.

Controlli

2. Sintassi

Sintassi base dell’istruzione if:

if (condizione) {
  // istruzioni eseguite se la condizione è vera
}

L’if statement valuta la condizione dentro alle parentesi ( ).

  • Se la condizione risulta true, il codice dentro al corpo dell’if viene eseguito.
  • Se la condizione risulta false, il codice dentro al corpo dell’if viene evitato.

INFO

Il codice tra { } prende il nome di corpo dell’istruzione if

3. Funzionamento

3.1 If semplice

L’istruzione if permette di verificare determinate condizioni ed ha la seguente sintassi:

//...

if (condizione) {
    //....
}

//...

In questo caso se l’espressione risulta vera, fa eseguire l’istruzione immediatamente successiva, altrimenti (se la condizione è falsa) si salta l’istruzione (o il blocco di istruzioni) e si procede nell’esecuzione delle istruzioni successive.

3.2 If - Else

Permette di scegliere tra due alternative.

if (condizione) {
    // caso vero
} else {
    // caso falso
}

3.3 If - Else If - Else

Permette di controllare più condizioni.

if(condizione1) {
    // codice
}
else if(condizione2) {
    // codice
} else {
    // caso finale
}

Così si può comandare il flusso del programma decidendo di eseguire una parte di codice oppure no (nel caso del solo if), di fare una scelta tra due parti di codice (nel caso if - else) o di fare una scelta tra più parti di codice (nel caso if - else if - else).

4. In sintesi

  • Utilizzare l’if istruzione per specificare un blocco di codice da eseguire se una condizione è true.
  • Utilizzare l’else istruzione per specificare un blocco di codice da eseguire se la condizione è false.
  • Utilizzare l’else if istruzione per specificare una nuova condizione se la prima condizione è false.

4.1 Esempio

if (risultato_esame >= 18){
    printf ("Complimenti hai superato l'esame");
}
else if (risultato_esame >= 15) {
    printf ("Devi sostenere l'orale per questo esame");
}
else {
    printf ("Non hai superato l'esame");
}

5. Quiz a risposta multipla

A cosa serve l'istruzione if in C++?

Quando viene eseguito il blocco else?

Quale sintassi è corretta?

A cosa serve else if?

Quante istruzioni else può avere un if?

6. Esercizi

20 Esercizi di programmazione con la Selezione (if)

6.1 Esercizio

realizzare un programma che chiede all’utente 3 valori (valore1, valore2, valore3), in base ai quali il programma restituisce in output i 3 valori dal maggiore al minore.

Esempio Output: inserisci 3 numeri: 4 3 5 numero3 >= numero1 >= numero2

💡 Mostra soluzione
#include <iostream>
using namespace std;

int main() {
    int numero1;
    int numero2;
    int numero3;

    cout << "inserisci 3 numeri: ";
    cin >> numero1;
    cin >> numero2;
    cin >> numero3;

if (numero1 >= numero2 && numero1 >= numero3) {
        if (numero2 >= numero3) {
            cout << "numero1 >= numero2 >= numero3" << endl;
        }
        else {
            cout << "numero1 >= numero3 >= numero2" << endl;
        }
    }
    else if (numero2 >= numero1 && numero2 >= numero3) {
        if (numero1 >= numero3) {
            cout << "numero2 >= numero1 >= numero3" << endl;
        }
        else {
            cout << "numero2 >= numero3 >= numero1" << endl;
        }
    }
    else {
        if (numero2 >= numero1) {
            cout << "numero3 >= numero2 >= numero1" << endl;
        }
        else {
            cout << "numero3 >= numero1 >= numero2" << endl;
        }
    }
        return 0;
}

6.2 Esercizio

realizzare un programma che chiede all’utente 2 valori, in base ai quali il programma dice qual è il maggiore, oppure uguali nel caso.

Esempio Output: inserisci primo valore: 7 inserisci secondo valore: 3 il numero maggiore e’: 7

💡 Mostra soluzione
#include <iostream>
using namespace std;

int main(){
    int x;
    int y;

    cout << "inserisci primo valore: ";
    cin >> x;

    cout << "inserisci secondo valore: ";
    cin >> y;

    if (x > y){
        cout << "il numero maggiore e': " << x;
    }
    else if (x < y){
        cout << "il numero maggiore e': " << y;
    }
    else{
        cout << "i numeroi sono uguali";
    }
    return 0;
}

6.3 Esercizio

realizzare un programma che chiede all’utente 1 valore, se il valore è:

x>1x<5x>1 ∧ x < 5 → il voto è estremamente insufficiente

x>=5x<6x>=5 ∧ x < 6 → il voto è insufficiente

x>=6x<7x>=6 ∧ x < 7 → il voto è sufficiente

x>=7x<8x>=7 ∧ x < 8 → il voto è buono

x>=8x<9x>=8 ∧ x < 9 → il voto è ottimo

x>=9x<=10x>=9 ∧ x <= 10 → il voto è eccellente

x<0x>10x<0 ∨ x>10 → il voto non è valido

Esempio Output: inserisci valore: 7 il voto e’ buono

💡 Mostra soluzione
#include <iostream>
using namespace std;

int main(){

    float val;

    cout << "inserisci valore: ";
    cin >> val;

    if(val1>1 && val1<5){
        cout << "il voto e' estremamente insufficiente";
    }
    else if(val1>=5 && val1<6){
        cout << "il voto e' insufficiente";
    }
    else if(val1>=6 && val1<7){
        cout << "il voto e' sufficiente";
    }
    else if(val1>=7 && val1<8){
        cout << "il voto e' buono";
    }
    else if(val1>=8 && val1<9){
        cout << "il voto e' ottimo";
    }
    else if(val1>=9 && val1<=10){
        cout << "il voto e' eccellente";
    }
    else if(val1<0 || val1>10){
        cout << "il voto non e' valido";
    }
    else {
        cout << "errore...";
    }

    return 0;

}
Prenota una lezione