Imparare a programmare in C++ | #5 | Ciclo For e While

Imparare a programmare in C++ - I cicli for e while

Imparare a programmare in C++ | #5 | Ciclo For e While: I cicli permettono di eseguire una o più istruzioni più volte fino al raggiungimento di una condizione.

Tempo di lettura stimato: 5 minuti

Imparare a programmare in C++ | Ciclo For e While

I cicli, (o loop o iterazioni) permettono di eseguire una determinata istruzione fintanto che sia valida una determinata condizione.

Esistono 2 tipi di cicli For e While.

Il ciclo For

Il ciclo For si utilizza quando vogliamo eseguire delle istruzioni per un numero predefinito di volte.

Viene utilizzato quando sappiamo già quante volte eseguire le istruzioni al suo interno.

Sintassi di base

La sintassi del ciclo for prevede 3 elementi, una variabile int da utilizzare come contatore, una condizione di verifica e l’operazione di incremento del contatore.

La variabile contatore non deve necessariamente partire da 0 può partire da qualsiasi numero vogliamo.

Per la verifica possiamo controllare che sia:

  • minore (<)
  • minore o uguale (<=)
  • uguale a (==)
  • maggiore (>)
  • maggiore o uguale (>=)

Possiamo poi andare ad incrementare o decrementare il valore del contatore scrivendo:

  • a++ (incrementa di 1)
  • a– (decrementa di 1)

Vediamo quindi la sintassi di base del ciclo for.

for (int a= 0; a <= 10; a++)
{
// OPERAZIONI DA ESEGUIRE
}

ESERCIZIO – Crea un programma che calcoli la tabellina di qualsiasi numero inserito

Per questo esercizio chiediamo all’utente di inserire un numero per il quale creare una tabellina da 0 a 10.

All’interno del ciclo for andremo poi a moltiplicare il numero inserito per il contatore e mostreremo i risultati.

Mostra soluzione

#include <iostream>
using namespace std;

int main() {
	int NumeroIniziale;
	int NumeroFinale;
	cout << "Quale tabellina vuoi mostrare?" << endl;
	cin >> NumeroIniziale;
	for (int a= 0; a <= 10; a++)
	{
		NumeroFinale = NumeroIniziale * a;
		cout << NumeroIniziale << " X " << a << " = " << NumeroFinale << endl;
	}
	return 0;
}

Il ciclo While e Do While

Il ciclo While si suddivide in 2 sottocicli.

Infatti è possibile utilizzare la forma While o la forma Do…While.

Nel primo caso (while), viene controllata una condizione e nel caso in cui dovesse essere vera viene eseguito il codice al suo interno.

Nel secondo caso (do…while) viene prima eseguito il codice all’interno e poi viene controllata la condizione.

La differenza sta nel fatto che con il do…while viene sempre eseguito almeno una volta il ciclo anche se la condizione non dovesse essere rispettata.

Se quindi abbiamo la necessità di eseguire almeno una volta il codice andremo ad usare il do…while, se invece è fondamentale che la condizione sia rispettata per eseguire il codice useremo il while.

Sintassi While e Do…While

//WHILE
int NumeroVerifica = 1;
while (NumeroVerifica < 10)
{
//CODICE ESEGUITO FINCHE' NumeroVerifica risulta inferiore a 10
}

//DO...WHILE
int NumeroVerifica = 1;

do
{
//CODICE ESEGUITO FINCHE' NumeroVerifica risulta inferiore a 10
// IL CODICE VIENE ESEGUITO ALMENO 1 VOLTA ANCHE SE NumeroVerifica
// DOVESSE ESSERE SUPERIORE A 10
}
while (NumeroVerifica < 10);

Esempio utilizzo While e Do…While

// WHILE

#include <iostream>
using namespace std;

int main() {
	int NumeroIniziale = 0;
	int NumeroFinale;
	while (NumeroIniziale < NumeroFinale)
	{
		cout << "Il numero iniziale e' " << NumeroIniziale << endl;
		NumeroIniziale++;
	}


	do {
		NumeroFinale = 20;
		cout << "Il numero iniziale e' " << NumeroIniziale << endl;
		NumeroIniziale++;
	}
	while (NumeroIniziale < NumeroFinale);

	cout << "Programma completato.";
	return 0;
}

ESERCIZIO 1 – WHILE

Crea un programma che date 2 variabili: ValoreIniziale, ValoreFinale, permetta all’utente di inserire un numero che verrà sommato a quelli precedenti nella variabile ValoreIniziale, fino al raggiungere il valore ValoreFinale.

Al termine del ciclo dovrà essere mostrato in output il valore della somma di tutti i numeri inseriti dall’utente.

REGOLE

  • È possibile creare ulteriori variabili se necessario
  • È possibile scegliere tra While e Do…While
  • Non è possibile usare il ciclo For.

Mostra soluzione

// ESERCIZIO WHILE
#include <iostream>
using namespace std;

int main() {
	int ValoreIniziale, ValoreFinale;
	cout << "Quale deve essere il valore finale?" << endl;
	cin >> ValoreFinale;
	
	// CICLO WHILE
	while (ValoreIniziale < ValoreFinale)
	{
		int NumeroInserito;
		cout << "Inserisci un numero:" << endl;
		cin >> NumeroInserito;
		ValoreIniziale = ValoreIniziale + NumeroInserito;
	}
	
	//FINE CICLO WHILE
	cout << "Il valore finale raggiunto e' di: " << ValoreIniziale;
	
	return 0;
}

ESERCIZIO 2 – FOR

Crea un programma che date 2 variabili: NumeroInserito e TotaleNumeri, vada ad eseguire un ciclo For che permetta all’utente di inserire 10 numeri, e riporti poi la somma di questi 10 numeri.

REGOLE

  • Non è possibile creare ulteriori variabili
  • Non è possibile usare il ciclo While o Do…While

Mostra soluzione

//ESERCIZIO FOR
#include <iostream>
using namespace std;

int main() {
	int NumeroInserito, TotaleNumeri;
	//FOR ESEGUITO 10 VOLTE
	for (int a = 0; a < 10; a++)
	{
		cout << "Inserisci un numero:" << endl;
		cin >> NumeroInserito;
		TotaleNumeri = TotaleNumeri + NumeroInserito;
	}
	//FINE CICLO
	cout << "Il totale dei 10 numeri inseriti e' di: " << TotaleNumeri;
	return 0;
}

Video

Nel video oltre alla lezione completa su While e For sono presenti diversi esempi del loro utilizzo.

author avatar
Claudio Masci
Sono innanzitutto un appassionato di informatica e tecnologia in generale. Lavoro in ambito informatico da circa 16 anni, spaziando in diversi campi, andando dalla programmazione web, allo sviluppo di software, dalla grafica alla modellazione 3d ed al video editing, ho sempre voluto approfondire ogni aspetto e questo mi ha permesso di lavorare in diversi ambiti informatici.