Affronteremo in questo articolo il ciclo do-while in C++, che viene utilizzato quando il corpo dell’iterazione deve essere eseguito almeno una volta.
Il ciclo do-while è dunque un’istruzione post-condizionale dove, prima sono eseguite le istruzioni che formano il blocco dell’iterazione e dopo è eseguita la condizione per stabilire se ripetere il ciclo oppure no.
Se la condizione è vera allora si ripete il ciclo, altrimenti si passa all’istruzione successiva.
Ciclo do-while in C++, iterazione post-condizionale
Vediamo dunque la sintassi dell’istruzione do-while in C++.
do {
istruzioni;
} while (condizione);
Con istruzioni intendiamo o una singola operazione o un blocco di istruzioni.
La semantica del costrutto do-while è dunque la seguente:
1. Si esegue l’istruzione (o più di una);
2. Si valuta la condizione, la quale può essere vera o falsa.
3. Se la condizione è vera si ritorna al punto 1; altrimenti si passa all’istruzione successiva.
Esempio 1 – do-while in C++
Generiamo i numeri da 5 a 100, a step di 5, utilizzando il ciclo do-while.
Riprendiamo dunque l’esercizio svolto con il while nel precedente articolo sui cicli e lo modifichiamo utilizzando il do-while, al fine di paragonare i due metodi.
Il procedimento è molto semplice.
Inizializzo dapprima n a zero, poi lo incremento di 5 e lo visualizzo. Quando n non è più minore di 100 esco dal ciclo ed eseguo l’istruzione successiva.
Ecco dunque il listato dell’esempio proposto con il ciclo do-while in C++.
#include <iostream>
using namespace std;
int main(){
int n = 0;
do {
n += 5;
cout << n << endl;
} while (n < 100);
return 0;
}
Esempio 2
Inserire n numeri e sommarli finchè non si inserisce il numero zero.
Dapprima inizializziamo a zero la variabile per la somma: somma=0;
Poi eseguiamo le istruzioni all’interno del ciclo: inseriamo dunque un numero, se il numero è uguale a zero allora non eseguiamo più il ciclo, altrimenti continuiamo le iterazioni finchè non immettiamo lo zero.
La condizione impostata è dunque: while (numero!=0);
Ecco quindi il listato dell’esempio proposto con il ciclo do-while in C++.
#include <iostream>
using namespace std;
int main(){
int numero, somma = 0;
do {
cout << "inserisci un numero";
cin >> numero;
somma += numero;
} while (numero != 0);
cout << somma << endl;
return 0;
}
Esempio 3
Inserire un numero in input e finchè è negativo richiederlo nuovamente.
Allego dunque il listato dell’esempio proposto con il ciclo do-while in C++.
#include <iostream>
using namespace std;
int main(){
int numero;
do {
cout << "Inserisci un numero positivo ";
cin >> numero;
} while (numero < 0);
return 0;
}
In questo modo si effettua dunque un controllo dell’input.
Questi sono solo alcuni semplici esempio sul ciclo do-while in C++.
Alcuni link utili
Indice argomenti linguaggio C++
1- Introduzione al linguaggio C++
3- Operatori di assegnazione in C++
Successione di Fibonacci in C++