Cicli in C++
for, while e do-while: gestisci la ripetizione del codice in modo efficiente
I cicli in C++ sono strumenti essenziali per eseguire ripetutamente un blocco di istruzioni fino al verificarsi di una condizione specificata.
Il ciclo for
📌 Quando usarlo:
Quando sai esattamente quante volte vuoi ripetere il blocco di codice.
1.1 Sintassi e Funzionamento
for (inizializzazione; condizione; incremento) {
// blocco di istruzioni da ripetere
}
1.2 Esempio Pratico
#include <iostream>
using namespace std;
int main() {
// Ciclo for: stampa numeri da 0 a 9
for (int i = 0; i < 10; i++) {
cout << “i = ” << i << endl;
}
return 0;
}
Spiegazione:
- Inizializzazione:
int i = 0definisce la variabile di controllo - Condizione:
i < 10viene valutata prima di ogni iterazione - Incremento:
i++aggiorna la variabile dopo ogni iterazione
1.3 Esercizio Pratico
Calcolare la somma dei primi 100 numeri interi
#include <iostream>
using namespace std;
int main() {
int somma = 0;
// Ciclo for: somma dei numeri da 1 a 100
for (int i = 1; i <= 100; i++) {
somma += i;
}
cout << “La somma dei numeri da 1 a 100 è: ” << somma << endl;
return 0;
}
Il ciclo while
📌 Quando usarlo:
Quando non sai a priori quante iterazioni saranno necessarie.
2.1 Sintassi e Funzionamento
while (condizione) {
// blocco di istruzioni da ripetere
}
2.2 Esempio Pratico
#include <iostream>
using namespace std;
int main() {
int numero, somma = 0;
cout << “Inserisci numeri (0 per terminare): ” << endl;
cin >> numero;
// Ciclo while: continua finché il numero inserito non è 0
while (numero != 0) {
somma += numero;
cout << “Inserisci un altro numero (0 per terminare): “;
cin >> numero;
}
cout << “La somma totale è: ” << somma << endl;
return 0;
}
2.3 Esercizio Pratico
Calcolare il fattoriale di un numero
#include <iostream>
using namespace std;
int main() {
int n;
unsigned long long fattoriale = 1;
cout << “Inserisci un numero per calcolare il fattoriale: “;
cin >> n;
int i = 1;
// Ciclo while: calcolo del fattoriale
while (i <= n) {
fattoriale *= i;
i++;
}
cout << “Il fattoriale di ” << n << ” è: ” << fattoriale << endl;
return 0;
}
Il ciclo do-while
📌 Quando usarlo:
Quando vuoi garantire l’esecuzione del blocco almeno una volta.
3.1 Sintassi e Funzionamento
do {
// blocco di istruzioni da ripetere
} while (condizione);
3.2 Esempio Pratico
#include <iostream>
using namespace std;
int main() {
int scelta;
do {
cout << “\nMenu:” << endl;
cout << “1. Aggiungi elemento” << endl;
cout << “2. Elimina elemento” << endl;
cout << “3. Visualizza elementi” << endl;
cout << “0. Esci” << endl;
cout << “Inserisci la tua scelta: “;
cin >> scelta;
switch (scelta) {
case 1:
cout << “Hai scelto di aggiungere un elemento.” << endl;
break;
case 2:
cout << “Hai scelto di eliminare un elemento.” << endl;
break;
case 3:
cout << “Hai scelto di visualizzare gli elementi.” << endl;
break;
case 0:
cout << “Uscita dal programma.” << endl;
break;
default:
cout << “Scelta non valida. Riprova.” << endl;
break;
}
} while (scelta != 0);
return 0;
}
3.3 Esercizio Pratico
Validazione dell’input
#include <iostream>
using namespace std;
int main() {
int numero;
// Il ciclo do-while garantisce almeno un tentativo di inserimento
do {
cout << “Inserisci un numero compreso tra 1 e 10: “;
cin >> numero;
} while (numero < 1 || numero > 10);
cout << “Hai inserito il numero: ” << numero << endl;
return 0;
}
Confronto tra i cicli
Ciclo for
Ideale quando: conosci il numero esatto di iterazioni
Vantaggi: sintassi compatta e organizzata
for (int i=0; i<10; i++)
Ciclo while
Ideale quando: non sai quante iterazioni servono
Vantaggi: condizione verificata all’inizio
while (condizione)
Ciclo do-while
Ideale quando: vuoi almeno un’esecuzione
Vantaggi: condizione verificata alla fine
do { } while (condizione)
Esercizi Pratici Riassuntivi
Esercizio 1: Tabellina del 5
#include <iostream>
using namespace std;
int main() {
int numero = 5;
// Utilizzo del ciclo for per stampare la tabellina del 5
for (int i = 1; i <= 10; i++) {
cout << numero << ” x ” << i << ” = ” << numero * i << endl;
}
return 0;
}
Esercizio 2: Calcolo della media
#include <iostream>
using namespace std;
int main() {
int numero;
int somma = 0;
int contatore = 0;
cout << “Inserisci numeri (un numero negativo per terminare): ” << endl;
cin >> numero;
while (numero >= 0) {
somma += numero;
contatore++;
cout << “Inserisci un altro numero (negativo per terminare): “;
cin >> numero;
}
if (contatore != 0)
cout << “La media dei numeri inseriti è: ” << static_cast<double>(somma) / contatore << endl;
else
cout << “Nessun numero valido inserito.” << endl;
return 0;
}
Esercizio 3: Menu interattivo
#include <iostream>
using namespace std;
int main() {
int scelta;
do {
cout << “\nMenu Operativo:” << endl;
cout << “1. Visualizza data e ora” << endl;
cout << “2. Visualizza informazioni di sistema” << endl;
cout << “3. Visualizza guida” << endl;
cout << “0. Esci” << endl;
cout << “Scegli un’opzione: “;
cin >> scelta;
switch (scelta) {
case 1:
cout << “Data e ora correnti: [esempio]” << endl;
break;
case 2:
cout << “Informazioni di sistema: [esempio]” << endl;
break;
case 3:
cout << “Guida: [esempio]” << endl;
break;
case 0:
cout << “Uscita in corso…” << endl;
break;
default:
cout << “Opzione non valida. Riprova.” << endl;
break;
}
} while (scelta != 0);
return 0;
}
Conclusioni
I cicli for, while e do-while sono strumenti fondamentali in C++ per gestire la ripetizione di istruzioni in modo efficiente e leggibile.
Riassunto pratico:
forwhiledo-while🚀 Esercitazioni Pratiche C++
Metti in pratica ciò che hai imparato con queste esercitazioni complete
📚 Tutte le Esercitazioni
12 esercitazioni complete per padroneggiare il C++