Esercizio 1
Sommare i primi 10 numeri naturali e visualizzarne il risultato.
L'importante è che la variabile sum (somma) venga
inizializzata a 0, altrimenti il programma gli assegna un numero che trova
nella cella di memoria a cui è riservata tale variabile.
Si può usare il ciclo for:
#include <iostream>
using namespace std;
int main(){
int i;//numero da sommare
int sum=0;//somma
for(i=1;i<10;i++)sum=sum+i;
cout<<"somma:"<<sum;
return 0;
}
Si note come il ciclo for esegua una
sola operazione per ogni iterazione:
sum=sum+i;
pertanto non è obbligatorio l'uso delle perentesi graffe.
Lo stesso algoritmo può essere realizzato col ciclo while, in tal caso si rende necessaria anche l'inizializzazione del contatore i, per le ragioni precedentemente citate.Il blocco di istruzioni eseguite dal ciclo while ad ogni iterazione sono più di una; allora diventa indispensabile l'utilizzo di parentesi graffe
#include <iostream>
using namespace std;
int main(){
int i=1;//numero da sommare
int sum=0;//somma
while(i<10){
sum=sum+i;
i++;
}
cout<<"somma:"<<sum;
return 0;
}
Potevamo usare indifferentemente anche la struttura di controllo do-while.
#include <iostream>
using namespace std;
int main(){
int i=1;//numero da sommare
int sum=0;//somma
do{
sum+=i;
i++;
}while(i<10);
cout<<"somma:"<<sum;
return 0;
}
In quest'ultimo algoritmo si vede in azione l'operatore +=
nell'istruzione:
sum+=i;
che sortisce lo stesso effetto dell'istruzione
sum=sum+i;
che fa da accumulatore.
Notiamo come nei cicli while e do-while
l'incremento della variabile i con instruzione i++
non sia implicito nella sintassi del costrutto ma vada inserito manualmente
prima della chiusura del blocco di istruzioni.