vuoi
o PayPal
tutte le volte che vuoi
IMPORTANTE!!
•for (inizializzazione; condizione; incremento) istruzione
•inizializzazione: eseguita una volta sola
• condizione: valutata ogni volta prima di eseguire le istruzioni del ciclo
•incremento: eseguita alla fine di ogni ciclo più in generale è un’espressione
ATTENZIONE!!!
•Iterazione infinita
for (i=5; i>=5; i++) …
ATTENZIONE!! …
Il compilatore non segnala errore
OSSERVAZIONE
• Soluzione alternativa ad inizializzare max al minimo numero negativo accettato da una
variabile intera:
- inizializzare max al primo numero letto dall’esterno, all’inizio del ciclo
ISTRUZIONI CICLICHE
•for •while •do-while
WHILE
•Permette di ottenere la ripetizione ciclica di un'istruzione sotto il controllo di una condizione
di terminazione
SINTASSI WHILE (espressione) istruzione
• Semantica
- espressione deve essere valutata ogni volta prima di eseguire istruzione
- se la valutazione di espressione è vera, allora istruzione viene eseguita,altrimenti no,e si
esce dal ciclo
CONVERGENZA DEL CICLO
•Assicurarsi, in prima istanza, che nel corpo del while venga alterato il valore di almeno una
delle informazioni coinvolte in E
•Assicurarsi, in ogni caso, che, in un numero finito di iterazioni, E diventi falsa
•Assicurarsi che a tutte le informazioni usate nell’espressione E sia stato assegnato un valore
prima del while
ESEMPIO
• Somma i numeri interi in ingresso finché non viene inserito lo zero
FOR - WHILE
• Entrambi controllano la condizione di terminazione all’inizio del ciclo
•Impiegare un while invece di un for, o viceversa, dipende largamente dalle preferenze
personali
ISTRUZIONI CICLICHE
•for •while •do-while
DO-WHILE
•for e while controllano la condizione di terminazione all’inizio del ciclo
•do-while controlla la condizione al termine di ogni iterazione
- consente di eseguire un ciclo condizionale da 1 ad infinite volte
DO-WHILE
• Sintassi
Do Istruzione
while (espressione);
• Semantica
- espressione deve essere valutata ogni volta dopo aver eseguito istruzione
- se la valutazione di espressione è vera, allora il ciclo viene ripetuto, cioè si riesegue
istruzione, altrimenti si esce dal ciclo
TEOREMA DI BOHM E JACOPINI
•Problema: quante e quali strutture di controllo occorrono per descrivere un qualsiasi tipo di
algoritmo?
• Teorema di Bohm e Jacopini:
•qualsiasi algoritmo può essere descritto usando solo tre strutture di controllo:
- una di sequenza
- una di decisione
- una di ciclo
OPERATORE TERNARIO
• L’operatore ternario è una forma compatta di if-else
• Sintassi
espressione ? espressione1 : espressione2;
• Semantica
• Se espressione è vera, viene valutata solo espressione1, altrimenti viene valutata
espressione2
STILE DI PROGRAMMAZIONE
• Evitare programmi prolissi
•Non usare variabili più del necessario
•Memorizzare i risultati di computazioni intermedie quando tali risultati devono essere riusati