libri-javascript-python

Il ciclo for in C++ è una struttura iterativa, più sofisticata e potente delle precedenti (while e do-while).

Il ciclo for è utilizzato per quelle istruzioni cicliche che devono essere ripetute un numero prestabilito di volte.

Sintassi del ciclo for in C++

for (Espressione1; Espressione2; Espressione3)

Istruzioni;

Dove:

Espressione1 può essere una inizializzazione di variabile o una dichiarazione (vedremo in seguito degli esempi).

Espressione2 è un’espressione booleana, il corpo del ciclo verrà dunque eseguito finché la condizione è vera. Quindi rappresenta il punto di arrivo dell’iterazione.

Espressione3 in genere è un’istruzione di incremento o decremento del contatore.

Istruzioni rappresentano quindi le istruzioni che devono essere eseguite, chiaramente può anche essere un’istruzione singola.

Dopo aver visto la sintassi del ciclo for in C++, facciamo adesso degli esempi pratici.

Esempio 1

Generiamo i numeri da 5 a 100, a step di 5, utilizzando un ciclo for.

Rifacciamo dunque gli esempi visti in precedenza con il ciclo while e il do-while, questa volta utilizzando il for.

#include <iostream>
using namespace std;

int main(){	
        int n;

	for(n=5;n<=100;n+=5){
		cout<<n<<endl;
	} 
	
	return 0;
}

Quindi Espressione1 rappresenta l’inizializzazione della variabile n che poniamo uguale a 5 ed è il primo numero che voglio stampare.

Espressione2 rappresenta il nostro test, quindi finché risulta essere vero il ciclo continua.

Espressione3 rappresenta l’incremento, in questo caso incrementiamo di 5 in quanto ci servono i numeri da 5 a 100.

Inoltre avremmo potuto anche scrivere:

for(int n=5;n<=100;n+=5)

dove la prima espressione rappresenta in questo modo anche una dichiarazione di variabile.


Ricordiamo anche che nel for nessuna espressione è obbligatoria, quindi si può scrivere anche in questo modo:

int n=5;
for(;n<=100;n+=5)


Esempio 2 di ciclo for in C++

Inserire n numeri e sommarli, utilizzando il ciclo for.

Potremmo sviluppare questo algoritmo con il seguente ciclo for:

for(;n>0;n–)

In questo caso la condizione iniziale corrisponde ad n, quindi se ad esempio n=3 farò queste considerazioni:

Espressione1 corrisponde a n=3;

Espressione2 risulta vera in quanto 3 >0 è vera;

Espressione3 decrementa la variabile n di 1.

Quindi quando n non è più maggiore di zero vuol dire che avremo inserito i nostri tre numeri.

Ecco quindi il listato completo del ciclo for in C++ per l’algoritmo della somma di n numeri.

#include <iostream>
using namespace std;

int main(){
        int n, numero, somma=0;

	cout<<"Quanti numeri? ";
	cin>>n;
	
	for(;n>0;n--){
		cout<<"Inserisci il numero: ";
		cin>>numero;
		somma+=numero;
	} 
	cout<<"La somma e': "<<somma;
	return 0;
}

In maniera simile possiamo utilizzare una variabile contatore i, che parte da 1 ed arriva ad n.

In questa soluzione sto però utilizzando una variabile in più.

Ecco dunque il listato completo della seconda soluzione all’esempio utilizzando il ciclo for in C++.

#include <iostream>
using namespace std;

int main(){
        int n, numero, somma=0;
  
	cout<<"Quanti numeri? ";
	cin>>n;
	
	for(int i=0;i<n;i++){
		cout<<"Inserisci il numero: ";
		cin>>numero;
		somma+=numero;
	} 

	cout<<"La somma e': "<<somma;
	return 0;
}

Chiaramente questi sono solo dei semplici esempi sul ciclo for in C++, più avanti vedremo tanti altri esercizi.

Alcuni link utili

Indice argomenti linguaggio C++

1- Introduzione al linguaggio C++

2- Variabili in C++

3- Operatori di assegnazione in C++

4- Esempi in C++

5- Casting in C++

Successione di Fibonacci in C++