Break, continue

Da Wiki Liceo Scientifico Savoia Pistoia.

Break

L’istruzione Break è utilizzata per uscire da un ciclo in modo incondizionato, cioè senza controllare la condizione di naturale terminazione che può essere all’inizio o alla fine del ciclo. A seguito di ciò, il controllo di flusso viene quindi indirizzata all’istruzione successiva esterna al ciclo. Più nel dettaglio l’istruzione Break provoca l’uscita incondizionata e immediata da:

  • Ciclo di For (la condizione di naturale terminazione è all’inizio del ciclo);
  • Ciclo di While (la condizione di naturale terminazione è all’inizio del ciclo);
  • Ciclo di Do.. while (la condizione di naturale terminazione è alla fine del ciclo);
  • Istruzione Multipla o Switch .

Esempio dell'istruzione Break in un ciclo di For

for (i=0, i<n, i++)
{
	if (i>100) 		/* esci dal ciclo di For se i>100 e passa all'istruzione successiva al For  */
		break;		
}
/* istruzione successiva al For */

Esempio dell'istruzione Break in un ciclo di While

while(c)
{
	if(c==n)
	{
		cout<<"break";
		break;				/* esce dal ciclo di while se c=n */
	}
	if(c!=n)
	{
		cout<<c<<endl;
		c++;
	}
}					
/* istruzione successiva al While*/


Continue

L’istruzione Continue viene normalmente associata alla istruzione Break perché simile, ma è usata più raramente. Se si esclude lo Switch (Multipla) alla quale l’istruzione Continue non è applicabile, gli ambiti di utilizzo sono:

L’istruzione Continue forza l’inizio della iterazione successiva nei cicli di For, While e Do.. while. Nel caso del For, ad esempio, il controllo passa alla parte di istruzione che gestisce l’incremento.


Esempio dell'istruzione Continue in un ciclo di For

for (i=0, i<n, i++)
{
	if (i>100) 		/* tralascia gli elementi maggiori di 100 ma rimane all’interno del For  */
		continue;

   /* tratta gli elementi minori o uguali a 100 */
}

Nota Bene

L’uso di Break e Continue dovrebbe essere limitato ai soli casi in cui è effettivamente necessario, o particolarmente conveniente in termini di semplicità del programma e leggibilità del codice. Ad esempio è consigliabile quando l’esecuzione del programma ne beneficia in termini di prestazioni, evitando l’esecuzione di operazioni superflue. Tuttavia, è sempre bene cercare di mantenere il passaggio da un’istruzione all’altra quanto più possibile lineare a beneficio della manutenibilità del codice, evitando l’uso o un uso eccessivo delle istruzioni Break e Continue.