Il ciclo for

561 views

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
561
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Il ciclo for

  1. 1. Il ciclo for
  2. 2. 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.
  3. 3. 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 ”,
  4. 4. Algoritmo → ● ● ● 4 istruzioni separate. Non sarebbe meglio usare qualcosa di più compatto? Il for serve a questo!
  5. 5. Ecco il for for(valore_iniziale,  condizione, incremento) {  [istruzione] [istruzione] … }
  6. 6. Ecco il for for(i=1, condizione,  incremento) {  [istruzione] [istruzione] … }
  7. 7. Ecco il for for(i=1, i<10,  incremento) {  [istruzione] [istruzione] … }
  8. 8. Ecco il for for(i=1, i<10, i=i+1) {  [istruzione] [istruzione] … }
  9. 9. Ecco il for for(i=1, i<10, i=i++) {  [istruzione] [istruzione] … }
  10. 10. Ecco il for for(i=1, i<10, i=i++) {  printf(“%d ”,i); }
  11. 11. 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.
  12. 12. 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)
  13. 13. 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); 
  14. 14. 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++)
  15. 15. 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!)
  16. 16. 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
  17. 17. End ● ● ● Grazie per l'attenzione! Prof. Missiroli@gmail.com per la 3A Info 201314! Escludendo i primi due disegni, il resto è © Marcello Missiroli, rilasciata sotto CC BY-SA 3.0

×