• Non ci sono risultati.

Dispensa II.5

N/A
N/A
Protected

Academic year: 2021

Condividi "Dispensa II.5"

Copied!
7
0
0

Testo completo

(1)

Dispensa II.5 versione 1.0 mail: lamonica@associatesonline.it Pagina 1 di 7

STRUTTURA ITERAZIONE

Il C consente l'uso di cicli iterativi e condizionali che sono il ciclo while, il do-while e il for..

(2)

Dispensa II.5 versione 1.0 mail: lamonica@associatesonline.it Pagina 2 di 7

ITERAZIONE - ciclo for

Nei linguaggi di programmazione, il ciclo for è una struttura di controllo iterativa che determina l'esecuzione di una porzione di programma ripetuta per un certo numero di volte.

Si distingue in questo modo da altre forme di ciclo, come il ciclo while, che determina la ripetizione di una porzione di un programma fino al verificarsi di una determinata condizione. La scelta fra questi due tipi di ciclo è legata a considerazioni di leggibilità e chiarezza del codice; in linea di principio, infatti, qualunque algoritmo che impieghi un ciclo for può essere trascritto in una forma che usa solo il ciclo while, e viceversa.

Quasi tutti i linguaggi di programmazione hanno un ciclo for; un ciclo di questo genere è presente in praticamente tutti i linguaggi procedurali e a oggetti, e anche in linguaggi basati su altri paradigmi.

Pur con sintassi specifiche che variano da linguaggio a linguaggio, il ciclo for è in genere riconoscibile per un certo insieme di elementi tipici:

• il ciclo è basato su una variabile contatore, in genere una variabile numerica intera, che viene incrementata a ogni iterazione;

• il numero di iterazioni previsto per il ciclo è espresso indirettamente, specificando il valore

iniziale della variabile contatore e il valore finale (cioè il valore raggiunto il quale il ciclo termina);

Solitamente il contatore viene incrementato di 1 a ogni iterazione, ma è in genere possibile specificare un incremento diverso (detto step), eventualmente anche come numero negativo (nel

(3)

Dispensa II.5 versione 1.0 mail: lamonica@associatesonline.it Pagina 3 di 7 qual caso è possibile impostare un ciclo in cui il valore iniziale del contatore è maggiore di quello finale, e il contatore conta dunque "a ritroso").

Il linguaggio C e i suoi derivati (inclusi per esempio C++ e Java) forniscono una versione generalizzata del ciclo for, che si può impiegare per descrivere cicli la cui terminazione non è basata semplicemente sul conteggio delle iterazioni eseguite attraverso un contatore. La sintassi generale del ciclo for in C è la seguente:

for(<inizializzazione>; <test>; <incremento>) <istruzione>;

oppure

for(<inizializzazione>; <test>; <incremento>) {

istruzione1;

istruzione2;

...

istruzioneN;

}

dove

<inizializzazione> è una qualsiasi espressione C (nella forma più semplice, l'assegnamento di un valore iniziale a un contatore);

<test> è una condizione che dev'essere vera affinché il ciclo continui (nella forma più semplice, la condizione che il contatore non abbia raggiunto il suo valore finale);

(4)

Dispensa II.5 versione 1.0 mail: lamonica@associatesonline.it Pagina 4 di 7

<incremento> è una istruzione che viene eseguita al termine di ogni iterazione (nella forma più semplice, l'incremento del contatore).

Un esempio in cui il ciclo for viene impiegato in modo convenzionale è per esempio il seguente, che stampa a video i valori da 1 a 10

int i;

for(i = 1; i <= 10; i++) printf("%d", i);

(5)

Dispensa II.5 versione 1.0 mail: lamonica@associatesonline.it Pagina 5 di 7

ITERAZIONE - ciclo while

Il ciclo while ripete delle istruzioni finché l'espressione specificata è vera. Vedi anche verità e falsità in C.

La condizione viene controllata all'inizio del ciclo, e questo vuol dire che se l'espressione è subito falsa le istruzioni nel ciclo non verranno eseguite nemmeno una volta.

while(espressione) istruzione;

oppure

while(espressione) {

istruzione1;

istruzione2;

...

istruzioneN;

}

Un esempio in cui il ciclo while viene impiegato in modo convenzionale è per esempio il seguente, che stampa a video i valori da 10 a 1

int i=10;

while(i!=0) //Finché 'i' è diverso da 0. Si potrebbe scrivere anche semplicemente while(i)

{

(6)

Dispensa II.5 versione 1.0 mail: lamonica@associatesonline.it Pagina 6 di 7 printf("Il numero è: %d \n", i);

i--;

}

(7)

Dispensa II.5 versione 1.0 mail: lamonica@associatesonline.it Pagina 7 di 7

ITERAZIONE - ciclo do-while

Il ciclo do-while, come il ciclo while, ripete le istruzioni finché la condizione immessa risulta vera.

Le istruzioni nel blocco, però, vengono eseguite almeno una volta perché la condizione viene controllata alla fine.

do {

istruzione1;

istruzione2;

istruzioneN;

}while(espressione);

Un esempio in cui il ciclo do-while viene impiegato in modo convenzionale è per esempio il seguente, che stampa a video i valori da 10 a 1

int i=10;

do {

printf("Il numero è %d \n", i);

i--;

}while(i>0);

Riferimenti

Documenti correlati

Notate che in questo caso la correzione con la ‘t’ di student non cambia la sostanza delle conclusioni (sono state fatte 10 misure, un numero sufficiente per avere una buona

 Più comunemente, l'istruzione è un blocco di Più comunemente, l'istruzione è un blocco di istruzioni (insieme di istruzioni delimitata da. istruzioni (insieme di

• continue : invece di passare al comando successivo, ritorna a controllare

1 Le Parti adottano le misure legislative e di ogni altro tipo necessarie per garantire che siano debitamente presi in considerazione, nell'ambito dei servizi

Lo schema della tettonica delle placche è ripetitivo: subsidenza, espansione dei fondi oceanici, subduzione, collisione, nuova subsidenza……. La tettonica delle placche sembra

Pensate a quello che accade a un'automobile durante una frenata: il grande attrito tra dischi e pastiglie fa sì che le ruote rallentino il loro moto di rotazione. L’attrito tra

Questo è il motivo per cui la temperatura di ebollizione dell'acqua e quella di fusione del ghiaccio sono state scelte come riferimento per la definizione della

Oltre all’aspetto architettonico, riguardante la scelta di una tipologia edilizia presente nel tessuto urbano, gli argomenti che saranno esposti riguarderanno