Il ciclo for

piffy 1,043 views 17 slides Feb 22, 2014
Slide 1
Slide 1 of 17
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17

About This Presentation

Dopo molti anni mi sono ritrovato a insegnare Informatica in una terza. Questo è una breve slide che ho fatto per spiegare il ciclo for

C'è un errore nelle slides 7---9. ho scritto erroneamente una "," al posto del ";".


Slide Content

Il ciclo for

Lazy?
●Tutti gli informatici sono pigri
●Vogliono scrivere il meno possibile
●Per questo trovano sempre delle scorciatoie
per evitare compiti ripetitivi
●Il for è un esempio tipico, primo di una lunga
serie.

Cicli indicizzati
●Frequentemente, a un ciclo è associato un
indice, o contatore, che si incrementa ad ogni
iterazione
●Esempio tipico “stampare tutti i numeri da 1 a
10 ”,

Algoritmo →
●4 istruzioni separate.
●Non sarebbe meglio usare
qualcosa di più compatto?
●Il for serve a questo!

Ecco il for
for(valore_iniziale, 
condizione, incremento)

[istruzione]
[istruzione]

}

Ecco il for
for(i=1, condizione, 
incremento)

[istruzione]
[istruzione]

}

Ecco il for
for(i=1, i<10, 
incremento)

[istruzione]
[istruzione]

}

Ecco il for
for(i=1, i<10, i=i+1)

[istruzione]
[istruzione]

}

Ecco il for
for(i=1, i<10, i=i++)

[istruzione]
[istruzione]

}

Ecco il for
for(i=1, i<10, i=i++)

printf(“%d ”,i);
}

Più in dettaglio
for(valore_iniziale, condizione, 
incremento)
●Con l’espressione valore_iniziale indichiamo quale
sarà l'indice (o variabile contatore) del ciclo e ne
impostiamo il valore iniziale;
●Con l'espressione condizione effettuiamo un
confronto: se il risultato è “falso”, l'esecuzione del
ciclo termina. In altre parole, è la condizione per
restare dentro al ciclo.
●L’espressione incremento descrive come
modificare, incrementare o decrementare il contatore
ad ogni esecuzione.

Più in dettaglio
●Di fatto, il for è un ciclo precondizionato
●Come tale, si corrono tutti i rischi tipici dei cicli
●In particolare, i cicli infiniti, come questo.
for(i=7; i=1; i=i+1)

Più in dettaglio
●Come l'if, il for si riferisce alla sola istruzione che
lo segue
●Per includere più istruzioni nel ciclo, si usano le
parentesi graffe
●Attenti ad errori banali come questo
for(i=0, i<7, i=i+1) ;
 printf(“%d ”,i); 

Perversioni del for (1)
●Posso avere più condizioni iniziali, separati da
virgola
for (i=0, j=0; i<10; i++) 
●O anche nessuna
for (; i<10; i++)

Perversioni del for (2)
●Lo stesso vale per l'incremento
for (i=0, j=0; i<10; i++, j++) 
●O anche nessuno
for (; i<10; )
●(così è equivalente a un while!)

Perversioni del for (3)
●La condizione è opzionale
for (i=0, j=0; ; i++, j++) 
●La sua forma più perversa è questa
for (;;)
●Genera volutamente un ciclo infinito
●Usare CON CAUTELA

End
●Grazie per l'attenzione!
●Prof. [email protected] per la 3A Info 2013-
14!
●Escludendo i primi due disegni, il resto è ©
Marcello Missiroli, rilasciata sotto CC BY-SA
3.0