Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ALGORITMI E STRUTTURE DI
CONTROLLO
Fondamenti di Programmazione 2021/2022
Francesco Tortorella
Anna Luca
Fondamenti di Programmazione – A.A. 2021-2022 | Francesco Tortorella 7
L’informazione nell’algoritmo
▪ Quanto visto finora si può riassumere dicendo che qualunque
informazione è definita tramite tre caratteristiche fondamentali:
▪ Valore
▪ Tipo
▪ Attributo
▪ Valore: indica il particolare elemento assunto dall’informazione
▪ Tipo: indica l’insieme degli elementi entro cui è stato scelto il
valore attribuito all’informazione
▪ Attributo: indica il significato associato all’informazione nel
contesto in cui questa viene utilizzata
tipo sequenza
Blocco
input/output
Blocco lettura/scrittura
connessione) end
𝑎∙𝑥+𝑏∙𝑦 =𝑐
ቊ
𝑑∙𝑥+𝑒∙𝑦 =𝑓
trovare il valore di x e y
𝑐 𝑏
𝑓 𝑒 𝑐∙𝑒−𝑏∙𝑓
▪ Il valore di x è dato da 𝑥 = 𝑎 𝑏 =
𝑎∙𝑒−𝑏∙𝑑
𝑑 𝑒
𝑎 𝑐
𝑑 𝑓 𝑎∙𝑓−𝑐∙𝑑
▪ Il valore di y è dato da 𝑦 = 𝑎 𝑏 =
𝑎∙𝑒−𝑏∙𝑑
𝑑 𝑒
blocco
istruzioni blocco 1 blocco 2
… …
più istruzioni.
…
▪ Si valuta test No
▪ Se risulta vero, si esegue il blocco istruzioni e test
▪ Si valuta test
▪ Se risulta vero si torna a eseguire il blocco istruzioni
blocco istruzioni
▪ Se la condizione risulta falsa, si Sì
passa a eseguire le istruzioni che si test
trovano dopo la chiusura del ciclo
No
▪ Qual è il minimo numero di cicli
…
che si può effettuare ?
1. r = x % y
2. r !=0 ?
3. x = y
4. y= r
5. r = x % y
6. r !=0 ?
7. x = y
8. y= r
9. …
Fondamenti di Programmazione – A.A. 2021-2022 | Francesco Tortorella 49
Ciclo destrutturato
1. r = x % y
2. r !=0 ?
3. x = y
4. y= r
5. r = x % y
6. r !=0 ?
7. x = y
8. y= r
9. …
Fondamenti di Programmazione – A.A. 2021-2022 | Francesco Tortorella 50
Ciclo destrutturato
1. r = x % y 1. r=x%y
2. r !=0 ? 2. x=y
3. x = y 3. y= r
4. y= r 4. r !=0 ?
5. r = x % y 5. r=x%y
6. r !=0 ? 6. x=y
7. x = y 7. y= r
8. y= r 8. r !=0 ?
9. … 9. …
Fondamenti di Programmazione – A.A. 2021-2022 | Francesco Tortorella 51
Ciclo destrutturato → ciclo a condizione finale
1. r = x % y 1. r=x%y
2. r !=0 ? 2. x=y
3. x = y 3. y= r
4. y= r 4. r !=0 ?
5. r = x % y 5. r=x%y
6. r !=0 ? 6. x=y
7. x = y 7. y= r
8. y= r 8. r !=0 ?
9. … 9. …
Fondamenti di Programmazione – A.A. 2021-2022 | Francesco Tortorella 52
Ciclo destrutturato → ciclo a condizione finale
1. r = x % y 1. r=x%y
2. r !=0 ? 2. x=y
3. x = y 3. y= r E se volessi
4. y= r 4. r !=0 ? verificare che Y sia
diverso da 0?
5. r = x % y 5. r=x%y
6. r !=0 ? 6. x=y
7. x = y 7. y= r
8. y= r 8. r !=0 ?
9. … 9. …
Fondamenti di Programmazione – A.A. 2021-2022 | Francesco Tortorella 53
Ciclo destrutturato → ciclo a condizione finale
1. r = x % y 1. r=x%y 1. y != 0 ?
2. r !=0 ? 2. x=y 2. r = x % y
3. x = y
3. x = y 3. y= r
4. y= r
4. y= r 4. r !=0 ? 5. r!=0 ?
5. r = x % y 5. r=x%y 6. r = x % y
6. r !=0 ? 6. x=y 7. x = y
7. x = y 7. y= r 8. y= r
8. r !=0 ? 9. r!=0 ?
8. y= r
9. … 10.…
9. …
Fondamenti di Programmazione – A.A. 2021-2022 | Francesco Tortorella 54
Ciclo destrutturato → ciclo a condizione finale
1. r = x % y 1. r=x%y 1. y != 0 ?
2. r !=0 ? 2. x=y 2. r = x % y
3. x = y
3. x = y 3. y= r
4. y= r
4. y= r 4. r !=0 ? 5. r!=0 ?
5. r = x % y 5. r=x%y 6. r = x % y Come possiamo
riscrivere questi
6. r !=0 ? 6. x=y 7. x = y test?
7. x = y 7. y= r 8. y= r
8. r !=0 ? 9. r!=0 ?
8. y= r
9. … 10.…
9. …
Fondamenti di Programmazione – A.A. 2021-2022 | Francesco Tortorella 55
Ciclo destrutturato → ciclo a condizione finale
1. r = x % y 1. r=x%y 1. y != 0 ?
2. r !=0 ? 2. x=y 2. r = x % y
3. x = y
3. x = y 3. y= r
4. y= r
4. y= r 4. r !=0 ? 5. y!=0 ?
5. r = x % y 5. r=x%y 6. r = x % y
6. r !=0 ? 6. x=y 7. x = y
7. x = y 7. y= r 8. y= r
8. r !=0 ? 9. y!=0 ?
8. y= r
9. … 10.…
9. … Condizioni equivalenti
1. r = x % y 1. r=x%y 1. y != 0 ?
2. r !=0 ? 2. x=y 2. r = x % y
3. x = y
3. x = y 3. y= r
4. y= r
4. y= r 4. r !=0 ? 5. y!=0 ?
5. r = x % y 5. r=x%y 6. r = x % y
6. r !=0 ? 6. x=y 7. x = y
7. x = y 7. y= r 8. y= r
8. r !=0 ? 9. y!=0 ?
8. y= r
9. … 10.…
9. … Condizioni equivalenti