Corso C++ #3: il ciclo di iterazione

DiMarco Nisticò

PUBBLICATO IL 6 Ott 2016 ALLE 20:57 - AGGIORNATO IL 19 Agosto 2019 ALLE 10:56

In C++, un ciclo di iterazione esegue un’istruzione finchè una determinata condizione si verifica. I cicli più comuni ed utilizzati sono: if/else, for e while. Andiamo a scoprire insieme il loro funzionamento e come applicarli.

Il ciclo if/else

Il ciclo if esegue un’istruzione ben precisa finchè la condizione dichiarata è vera. La struttura è la seguente:

Ciclo if
if (condizione) {istruzione}
Ciclo if/else
if (condizione) {istruzione;} else {istruzione2;}

La condizione va inserita tra parentesi tonde mentre l’istruzione nelle graffe, ricordandosi del “;” al termine di ognuna. E’ possibile anche impostare più di un’istruzione per ogni ciclo if dichiarato. Se volete dichiarare un’istruzione anche quando la condizione è falsa, potete utilizzare il ciclo if/else, che assegna una seconda istruzione nel caso non si verificasse la condizione dell’if. Inoltre, è possibile concatenare vari cicli if in un unico blocco. In questo caso si parla di if annidato.
Vediamo una piccola applicazione del ciclo if in tutti i casi:

ciclo-if

[adsense]

Nel programma descritto nell’immagine, abbiamo inizialmente dichiarato tre variabili di tipo intero. Successivamente, viene stampato un messaggio che chiede all’utente di inserire i tre numeri a, b e c. Infine, sono dichiarati tre cicli if, che vengono avviati contemporaneamente dopo la compilazione del programma. Il primo semplicemente stampa i tre numeri se a è minore di b e b è minore di c. Il secondo, invece, somma a e b se a è minore di b. L’ultimo fa la differenza tra a e c, se a è maggiore di c, in caso contrario ne fa la somma. A fianco viene mostrata l’esecuzione del programma con i numeri 1, 2 e 3. Come potete osservare, il primo ciclo è verificato, infatti vengono stampati tutti i numeri. Il secondo non viene eseguito perchè a è minore di b. L’ultimo viene eseguito sia nel caso di condizione vera che falsa.

Il ciclo for

Il ciclo for viene utilizzato quando è necessario eseguire un’iterazione un numero finito di volte. E’ caratterizzato da una variabile inizializzata (solitamente indicata con i), una condizione, sotto la quale il ciclo può ripetere la sua iterazione, e un incremento, necessario a non far andare in loop il ciclo.
Il codice da utilizzare è il seguente:

Ciclo for
for (inizializzazione; condizione,; incremento) {istruzione;}

Vediamo il seguente programma:

ciclo-for

Lo scopo del programma è scrivere un codice che permetta di sommare tra loro i numeri naturali minori o uguali di un certo valore massimo. Per cui bisogna dichiarare tale valore come intero e stampare un messaggio che ci permetta di inserirlo da tastiera. Dopo di ciò inseriamo un ciclo for che inizializzi la variabile ad 1 (perchè i numeri naturali partono da 1), imponga la condizione che sia minore o uguale al numero inserito e la incrementi finchè si verifica la condizione. Appena il ciclo si conclude, somma tra loro i valori di i ottenuti ad ogni iterazione del ciclo for e stampa tale somma a schermo. Come potete vedere dall’immagine, è stato scelto il numero 5 come valore massimo, per cui il ciclo for eseguirà la somma 1+2+3+4+5=15, stampandola a schermo.

Il ciclo while/do-while

Il ciclo while, a differenza del for, esegue l’istruzione un numero indefinito di volte, sempre sotto una specifica condizione. Il codice è mostrato di seguito:

Ciclo while
while (condizione) {istruzione;}
Ciclo do-while
do {istruzioni;} while (condizione)

Diamo un’occhiata al seguente programma:

ciclo-while

Il programma è molto semplice: dichiara una variabile di tipo intero e stampa un messaggio per inserirla come input da tastiera. In seguito, il programma esegue un ciclo while che stampa il numero inserito finchè è maggiore di 0. Questo è un classico caso di loop poichè il numero in input verrà stampato all’infinito. Proprio per questo abbiamo inserito l’istruzione “break;” per fare in modo che il ciclo venga eseguito una sola volta, l’unica di cui abbiamo bisogno.

Questi erano i tre cicli di iterazioni più utilizzati nel linguaggio C++. Vi consigliamo di leggere anche le prime due parti del corso, che introducono il concetto di variabile e di stampa, applicati nella lezione di oggi.

Di Marco Nisticò

Sviluppatore informatico, cerco sempre di stare al passo con i tempi in un mondo ormai circondato dalla tecnologia.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.