Page 4 - 120900035890_gallo_cloud_tecno

Basic HTML Version

4
BLoCCo teMatICo a
Tecniche di programmazione
Quando un problema appare immediatamente complesso, per risolverlo possiamo
individuare e analizzare i
sottoproblemi
più semplici che lo compongono, oltre alle
loro interrelazioni. In questo modo è possibile articolare la progettazione dell’algo-
ritmo complessivo in una serie di algoritmi più semplici, che verranno poi opportu-
namente assemblati.
La programmazione, in effetti, non è solo un processo di ideazione e formulazione di
algoritmi: esige attenzione ai minimi dettagli e l’adozione di opportune tecniche di
analisi dei problemi da risolvere. Per questo, una buona metodologia di progettazio-
ne è quella che risolve il problema
per passi
: partendo da un’analisi generale, si foca-
lizza l’attenzione sui singoli punti fondamentali che lo compongono, riducendo così
le difficoltà. Tale metodologia, di natura gerarchica, prende il nome di
top-down
,
ossia “dall’alto verso il basso”.
Gli aggettivi alto e basso si riferiscono al
livello di dettaglio o astrazione
. Il livello più
alto (
top
) è quello generale, chiamato
problema principale
; in esso si individuano i
nodi fondamentali chiamati
sottoproblemi
.
Ciascun sottoproblema viene dettagliato a parte e, se complesso, può essere a sua
volta scomposto in ulteriori sottoproblemi più semplici. Si giunge così all’analisi
e alla risoluzione di tanti problemi elementari tramite algoritmi descritti a livello
programmabile (il livello più basso è
down
), le cui relazioni sono ricavate dalla de-
scrizione a livello superiore. In sintesi, si scende dal generale al particolare mediante
affinamenti successivi
.
top-down e bottom-up
Problema
sottoproblema
1
Sottoproblema
2
Sottoproblema
3.2.1
Sottoproblema
3.1.1.1
Sottoproblema
3.1.1.2
Sottoproblema
3
Sottoproblema
3.1.1
Sottoproblema
3.1.2
Sottoproblema
3.2
Sottoproblema
3.1