C++ Strutture di Controllo (Esercizi Cpp)

Lezione#04 Il C++ è forse il linguaggio di programmazione a oggetti più conosciuto nel mondo informatico. In questa lezione affronteremo l’argomento Strutture di Controllo.
Cpp Strutture di Controllo nel corso C++ in 11 Passi. Il linguaggio C++, oltre ad essere da anni argomento didattico degli ITIS ad indirizzo informatico, è molto usato in ambiente scientifico. Inoltre lo ritroviamo anche in applicazioni per il gaming e nello sviluppo di GUI.
Nelle lezioni precedenti abbiamo scritto codice, seguendo un percorso “sequenziale”. In effetti, si scorre il codice, riga per riga fino alla fine del listato. Tuttavia, possiamo controllare il flusso di esecuzione del nostro programma.
// Esempio #01 #include <cstdlib> #include <iostream> using namespace std; int main() { cout << "Print this"; exit(0); cout << "Don't print this"; }
Print this
Nel primo esempio attraverso la funzione exit(0) , diciamo al compilatore di uscire dall’esecuzione, subito dopo avere stampato a video la scritta “Print this”.
Exit richiede 0 come argomento, proprio come restituiamo 0 quando si esce normalmente. Dobbiamo anche includere la libreria cstdlib.Ci sono altri modi per controllare il flusso. Possiamo dire al nostro programma, di eseguire un blocco di codice solo se viene soddisfatta una determinata condizione. Proviamo a stampare la dichiarazione tra parentesi nel prossimo esempio.
// Esempio #02 if (100 > 50) { cout << "Print if true" << endl; } cout << "Print always";
Print if true
Print always
Il blocco di codice interno all’ istruzione if verrà eseguito solo se la condizione data è vera. Il blocco esterno funzionerà sempre.
Possiamo prendere ulteriormente controllo del flusso di esecuzione, usando l’ istruzione else .
// Esempio #03 if (!true) { cout << "Don't print this!"; } else { cout << "Print this!"; }
Print this
Quando la condizione if è falsa, verrà eseguito il blocco else del codice. Nell’esempio #03 la condizione è !true, ossia false (la negazione di true è false).
In alcuni casi potremmo voler eseguire più istruzioni if. A tal proposito ricorriamo all’istruzione else if.
// Esempio #04 int x = 15; if (x < 10) cout << "x is less than 10"; else if (x >= 10 && x <= 20) cout << "x is greater than 9 and less than 21"; else cout << "x is greater than 20";
x is greater than 9 and less than 21
Quindi l’else if ci dà ancora più flessibilità per eseguire istruzioni di controllo multiple.
Non sempre abbiamo bisogno delle parentesi graffe {}, tuttavia è sempre meglio usarle per migliorare la lettura del listato.È anche possibile avere un blocco if all’interno ( annidato ) di un altro blocco if. Proviamo a invocare l’istruzione if interna.
// Esempio #05 int x = 10; int y = 12; if(x == 10) { if(y > 10) { cout << "We're in the nest!"; cout << endl; } cout << "We're outside the nest!"; }
We’re in the nest!
We’re outside the nest!
Se inseriamo il primo blocco e la seconda condizione è vera, entrambi i messaggi verranno stampati a video!
Quando abbiamo molte istruzioni if da usare per un determinato progetto, possiamo rendere il codice più chiaro ricorrendo all’istruzione switch .
// Esempio #06 int num = 3; switch (num) { case 1: cout << "Number 1"; break; case 2: cout << "Number 2"; break; case 3: cout << "Number 3"; break; default: cout << "Invalid input"; break; }
Number 3
L’istruzione switch valuta l’espressione tra parentesi tonde data come argomento; in questo caso l’esperessione è num e di conseguenza esegue il codice in corrispondenza del case 3. La keyword case rappresenta un’etichetta che identifica una particolare caso con una o più istruzioni da eseguire.
Quindi, l’espressione case viene confrontata con l’espressione switch. Se il confronto risulta vero, viene eseguito il codice nel case corrispondente.
break Viene usato per far terminare il programma una volta eseguito il case corrispondente; senza break verrebbero eseguite le istruzioni successive, fino al termine del listato. default Quando diamo all’istruzione switch un valore non incluso in alcun case, allora viene eseguito il codice di default.Esercitati con le Strutture di Controllo in Cpp.
Esercizio “Mister Code” si prenderà una vacanza dai suoi sforzi di programmazione, ma non sa quanti bagagli può portare con sè. Inizializza una variabile limit con valore 45 e una variabile baggage con valore qualsiasi. Utilizza le istruzioni condizionali per visualizzare messaggi di avviso, a seconda che il bagaglio sia inferiore o superiore al limite massimo.Ritorna alla precedente <– []–> Vai alla successiva