metodo top-down
metodo top-down (ingl., letteralmente «dall’alto verso il basso») metodo di progettazione degli algoritmi che procede analizzando il problema da risolvere dal caso generale al caso particolare; è l’opposto del metodo bottom-up, che segue il percorso inverso. Il metodo top-down è molto simile a quello spesso impiegato dall’uomo nell’affrontare un problema nuovo: in tal caso, infatti, non è utile iniziare a definire nei minimi dettagli i singoli passi di un algoritmo che possa risolvere il problema, ma è preferibile scomporre il problema in sottoproblemi sempre più dettagliati, giungendo a quelli con cui si ha già familiarità e che si è in grado di risolvere. La struttura dell’algoritmo che si costruisce sulla base di una metodologia top-down è quella di albero ordinato, in cui la radice rappresenta il programma principale e i vari nodi sono costituiti dai sottoprogrammi via via annidati nei vari sottolivelli. Nei linguaggi di programmazione gli strumenti più adatti a scrivere programmi attraverso la metodologia top-down sono le procedure. Una procedura è un sottoprogramma indipendente definito nella sezione dichiarativa del programma principale e che risolve un particolare problema; essa viene richiamata ed eseguita nel punto preciso in cui è scritta nella sequenza di comandi del programma principale. I linguaggi procedurali sono pertanto quelli che meglio si adattano alla metodologia della programmazione top-down. Al contrario del metodo top-down, il metodo bottom-up parte dalla conoscenza di problemi particolari che, con procedimento induttivo, vengono connessi tra loro e assemblati in insiemi di problemi dalle caratteristiche sempre più generali. Per approfondire il concetto in ambito di programmazione logica si rimanda alla voce → Kowalski, notazione di.