Um problema complexo não deve ser imediatamente tratado a nível de detalhes, ou seja, em termos de instruções de computadores, e sim por uma linguagem que represente a solução com mais clareza, reduzindo o nível de detalhes a um grau complexidade tolerável.
O método de refinamento sucessivos ou Top-Down é um método que leva à programação estruturada.
Este método consiste em decompor o problema em uma seqüência de subproblemas, menores e mais fáceis de serem resolvidos que o inicial.
A decomposição dos subproblemas deve ser feita até que as soluções estejam expressas através de um conjunto de ações elementares, passíveis de execução por uma máquina (pseudocódigo).
"O conceito central da programação é o conceito do algorítmo, isto é, programar é básicamente construir algorítmos". ( N. WIRTH. Algorithms and data structures. Englewood Cliffs, N.J.: Prentice-Hall, 1976)
Um algorítmo é um texto onde cada linha contém uma ação primitiva, passível de ser executado por uma máquina.
Um algorítmo possui dois aspectos: O texto e o efeito de sua execução em uma máquina.
A dificuldade na concepção e no entendimento de algorítmos é devido à falta de estabelecer uma relação entre estes dois aspectos, o texto (estático) e o efeito de sua execução (dinâmico).
A programação estruturada trás alguns aspectos impraticáveis na programação convencional, os quais serão de maior importância no ciclo de vida de um programa.
Veja o capítulo 1.3 um exemplo de programação estruturada pelo método de refinamentos sucessivos (Top-Down).
Está cansado? Então paramos por aqui. Senão vamos em frente.