edutecnica

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.