G. Mecca – Università della Basilicata – mecca@unibas.it
Programmazione Procedurale in Linguaggio C++
Strutture di Controllo Ricapitolazione
versione 2.4
Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
Ricapitolazione
m
Strutture di controllo
ðistruzioni condizionali (if-then-else, if-then) ðcicli (while, for)
m
Elementi principali
ðcondizione: espressione a valori booleani ðblocchi di istruzioni: sequenze di istruzioni tra
parentesi { }
Strutture di Controllo: Dettagli e Approfondimenti >> Ricapitolazione
G. Mecca - Programmazione Procedurale in Linguaggio C++ 3
Ricapitolazione
Strutture di Controllo
Strutture Condizionali
a due alternative
ad una
alternativa cicli aperti cicli chiusi Cicli
if (<cond>) {
<blocco1>
} else {
<blocco2>
}
if (<cond>) {
<blocco>
}
(numero di esec.
non prevedibile) while
(numero di esec.
prevedibile) while oppure
for
4
Istruzione if-then-else
Strutture di Controllo: Dettagli e Approfondimenti >> Ricapitolazione
istruzioni precedenti
condizione
istruzioni successive
if (cond) <blocco1> else <blocco2>
blocco1 blocco2
vera falsa
istruzioni precedenti
condizione
istruzioni successive if (cond) <blocco>
blocco
vera falsa
G. Mecca - Programmazione Procedurale in Linguaggio C++ 5
Istruzione if-then-else
m
Sintassi
ðif (<cond>) <blocco1> else <blocco2>
m
Semantica
ðviene valutata la condizione
ðse la condizione è vera viene eseguito il blocco n.1
ðse la condizione è falsa viene eseguito il blocco n.2
ðsi prosegue con l’istruzione successiva
Istruzione if-then
m
Sintassi
ðif (<cond>) <blocco1>
m
Semantica
ðviene valutata la condizione
ðse la condizione è vera viene eseguito il blocco n.1
ðaltrimenti si prosegue direttamente con l’istruzione successiva
Strutture di Controllo: Dettagli e Approfondimenti >> Ricapitolazione
G. Mecca - Programmazione Procedurale in Linguaggio C++ 7
Istruzione While
m
Sintassi
ðwhile (<cond>) <blocco>
m
Semantica
ðviene valutata la condizione
ðse la condizione viene trovata vera viene eseguito il corpo del ciclo; al termine si torna in cima e si valuta nuovamente la condizione ðse la condizione viene trovata falsa, il ciclo si
interrompe e si passa all’istr. successiva
8
Istruzione if-then-else
Strutture di Controllo: Dettagli e Approfondimenti >> Ricapitolazione
istruzioni precedenti
condizione
istruzioni successive programma
while
blocco
G. Mecca - Programmazione Procedurale in Linguaggio C++ 9
Istruzione for
m
Nota
ðil while può essere utilizzato tanto per cicli aperti che per cicli chiusi
ðattenzione ai “loop”
m
Cicli chiusi o cicli a conteggio
ðin questi casi è più opportuno utilizzare l’istruzione for
ðmodo diverso per scrivere un while a conteggio
Istruzione for
m
Sintassi
for (<e1>; <e2>; <e3>) <blocco>
m
Semantica ðequivale a
<e1>; // inizializzazione
while (<e2>) { // condizione
<blocco>
<e3>; // incremento
}
Strutture di Controllo: Dettagli e Approfondimenti >> Ricapitolazione
G. Mecca - Programmazione Procedurale in Linguaggio C++ 11
Istruzione if-then-else
istruzioni precedenti
e2
istruzioni successive programma
for
blocco e1
e3
12
Ricapitolazione
m
Attenzione
ðle strutture di controllo sono arbitrariamente nidificabili
ðla semantica è quella ordinaria
m
Nel caso dei cicli
ðeffetto moltiplicativo delle ripetizioni
ðil corpo del ciclo interno viene ripetuto un numero di volte pari al prodotto delle ripetiz.
Strutture di Controllo: Dettagli e Approfondimenti >> Ricapitolazione
G. Mecca - Programmazione Procedurale in Linguaggio C++ 13
Domande ed Esercizi di Riepilogo
Termini della Licenza
m This work is licensed under the Creative Commons Attribution- ShareAlike License. To view a copy of this license, visit
http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Termini della Licenza
m Questo lavoro viene concesso in uso secondo i termini della licenza “Attribution-ShareAlike” di Creative Commons. Per ottenere una copia della licenza, è possibile visitare
http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all’indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.