Cicli

Teorema di Jacopini: Qualunque algoritmo può essere risolto con una delle tre strutture di controllo fondamentali: Sequenza, selezione, iterazione. Cicli di ripetizione Premessa: Contatore (C) Variabile numerica intera che si incrementa di una unità ad ogni iterazione. C=C+1 oppure C++. E’ buona norma prima di usare un contatore inizializzarlo a zero Sommatore (S) Variabile numerica che viene incrementata di una certa quantità ad ogni iterazione. S=S+X E’ buona norma prima di usare un sommatore inizializzarlo a zero Cosa intendiamo per ciclo nell’ambito della programmazione? Essenzialmente ci riferiamo ad una serie di istruzioni che possono essere espresse in una forma sintetica attraverso una iterazione perchè risultano in qualche modo simili. Ad esempio immaginiamo di voler calcolare la media delle età di 20 persone. L’istruzione elementare di riferimento è sempre la stessa, quella che consente di caricare 20 età e di accumulare le età in una variabile di tipo sommatore. Situazioni simili a quella descritta (ovvero con necessità di ripetere istruzioni simili) sono molto frequenti e si può dire che i cicli siano utilizzati praticamente in ogni tipo di programma. Il vantaggio, utilizzando un ciclo, è di non dover scrivere le istruzione tante volte quante è necessario ripeterle ma, come vedremo meglio in seguito, una volta soltanto, specificando il numero di ripetizioni. In alcuni casi il numero delle ripetizioni viene specificato in forma esplicita (parliamo in questo caso di un tipo particolare di ciclo detto ciclo for) o in forma implicita (è il caso dei cicli di tipo while o do-while). Esaminiamo ora più nel dettaglio le caratteristiche dei vari tipi di cicli appena menzionati nel linguaggio C++, cominciando dal ciclo for. Il ciclo for (o ciclo con contatore) Come già accennato, nel caso del ciclo for specifichiamo in modo esplicito per quante volte l’istruzione deve essere ripetuta usando un contatore. Esercizio determinazione della media delle età di 20 persone.

….. …..
int e, sommae=0;
float med;
int main()
{
for(int i=0;i<20;i++)
{
cout<<”inserisci e=”;
cin>>e;
sommae=sommae+e;
cout<<“\n”;
}
med=sommae/20;
cout<<”\n la media delle eta\’:”<<med;
return 0;
}