ABC++ part 4


Ecco come regalo di natale posticipato la quarta parte della guida al c++. In questo capitolo parleremo delle istruzioni di ciclo.Per chi non fosse pratico di programmazione:

  • un ciclo di controllo è  utilizzato per ripetere la stessa procedura per diverse volte. Il primo ciclo, anche uno dei più noti è “for”. Esso si usa generalmente quando si ha un numero di cicli ben preciso da eseguire. Incominciamo con un semplice esempio per capire il suo funzionamento ovvero con un programma per stampare i numeri da 0 a 100 su schermo.

#include <iostream>

using namespace std;

int main()

{

for (int i=0; i<=100; i++)

{

cout<<i<<endl;

}

return 0;

}

  • int i=0; dichiara la variabile contatore del ciclo è inizializza il suo valore iniziale.Bisogna tenere a mente che una qualsiasi variabile dichiarata all’interno di un ciclo avrà durata, quindi potrà essere usata,solo all’interno del ciclo dopodichè verra cancellata dalla memoria.
  • i<=100; è la condizione per cui ogni volta verrà eseguito il ciclo, quando la condizione sarà falsa il ciclo non verrà eseguito e si passerà all’istruzione successiva al ciclo for.
  • i++ è il valore di increamento della variabile contatore alla fine di ogni ciclo di esecuzione.L’operatore ++ permette di aumentare il valore della variabile di uno evitando l’onere di scrivere i=i+1. Un metodo decisamente più semplice ed elegante.

Le istruzioni all’interno delle parentesi graffe sono quelle operazioni che verranno ripetute ad ogni ciclo.

Analizzando nello specifico, il programma inizializza la variabile i al valore 0,stamperà il suo valore,aumenterà il valore di 1 fino a quando i non sarà maggiore di 100,ovvero 101 ma tale valore non verrà stampato.Vedremo infatti i numeri soltanto da 0 a 100 inclusi.

Le altre due istruzioni di ciclo sono while e do while,simili tra loro ma con una piccola differenza:il ciclo do while eseguirà almeno una volta il ciclo cosa che può non accadere sempre con while.Sebbene possono essere usati in maniera simile a for risultano più utili qualora il numero di ripetizioni non è noto.Ecco il programma precedente ma scritto utilizzando do while.

#include <iostream>

using namespace std;

int main()

{

int i=0;

do   //istruzione di inizio del ciclo

{

cout<<i<<endl;

i++;

} while (i<=100); //while(condizione) la condizione per cui si verifica il ciclo

return 0;

}

Lo stesso blocco di codice ma con il ciclo while è

int i=0;

while(i<=100)

{

cout<<i<<endl;

i++;

}

La differenza sta appunto che il ciclo while controlla ogni volta la condizione all’inizio mentre do alla fine di ogni ciclo.Inoltre in do while l’istruzione while deve essere seguita da “;” errore banale ma possibile in caso di distrazione.

Nelle istruzioni di ciclo due comandi che possono essere utili sono break e continue.Questi interrompono entrambi l’esecuzione del ciclo con la differenza che il primo,break, termina immediatamente e facendo eseguire al programma le istruzioni dopo il ciclo mentre continue fa in modo di ignorare le istruzioni del ciclo ma non impedisce l’incremento della variabile di controllo o il controllo del test di ciclo,detto in parole povere interrompe solo un ciclo ma non impedisce lo svolgersi di altri cicli.

Un ultima cosa da tenere sempre presente quando si parla di cicli è controllare che la condizione possa essere soddisfatta o che il ciclo possa essere portato a termine.Usare una condizione che risulti sempre vera porterebbe il programma in loop,ovvero eseguirebbe il ciclo all’infinito il che costringe a terminare forzatamente il programma.

Finisce con quest’anno anche questa parte della guida al c++. Appuntamento all’anno prossimo.

Questo articolo è stato pubblicato in Informatica, manuali ed etichettato con , . Includi tra i preferiti il permalink.

Pensa prima di commentare

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Log Out / Modifica )

Foto Twitter

You are commenting using your Twitter account. Log Out / Modifica )

Foto di Facebook

You are commenting using your Facebook account. Log Out / Modifica )

Connecting to %s