28.02.2023 Views

Logica_de_Programacao_3_Edicao_Livro

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

128 J Lógíca de programação

• Se algu1na parte ainda perma11ecer complexa, decon1pô-la tan1bén1.

• Analisar o resultado para garantir entendimento e coerê11cia.

Fazendo urna analogia, entender o funcionamento corpo hurnano não é nada trivial. Isso

J)orque nosso corpo é uma rnáquina co 11plexa. Porém, podemos dividir esse proble1na ern

parr.es menores: sisr.ema digestivo, respiratório, nervoso, cardiovascular etc. e assim, tentando

compreender cada parte separadame11te, poden1os compree11der melhor o todo. Caso

essas partes ainda seja1n muito con1plexas, pode1nos co11tinuar dividindo e1n partes ainda

1nenores, por exemplo, o siste1na respiratório pocle ser clividido em na1iz, faringe, laringe,

traquéia e pulrnões; os pulrnões, por sua vez, ern brônquios, bronquíolos e alvéolos, e assirn

por diante.

Esse processo de decon1posição contínua tan1bém é conhecido co1no refina1nentos sucessivos,

porque se parte de um problema complexo e abrangente, que é sucessivamente

dividido até resultar e1n problemas n1ais simples e específicos.

NOTA-------------------------~

À técnica de Refinamentos Sucessivos também se dá o nome de Top-Down (de cima para baixo), uma

vez que se parte de conceitos mais abrangentes (abstratos) até atingir o nível de detalhamento desejado.

Também existe uma técnica exatamente inversa, conhecida por Bottom-Up (de baixo para cima).

Consiste em partir dos conceitos mais detalhados e ir agrupando-os sucessivamente em níveis mais abrangentes

(abstratos) até atingir o nível de abstração desejado.

O processo de compreensão é freqüentemente mais natural quando se usa a técnica Top-Down. Por

exemplo, é mais fácil compreender um automóvel partindo-se do todo até o último parafuso do que do

parafuso até o todo. Certamente existem exceções. Por exemplo, é mais fácil entender operações aritméticas

mais abstratas, como potenciação e radiciação, se antes soubermos somar e subtrair.

MÓDULOS

Depois de decornpor um problema complexo ern subJ>roblemas, pode111os construir urn

subalgoritrno ou módulo para cada subproblema. Passarernos a descrever de que forrna isso

poderá ser feito, 1nas antes apresentaremos o problen1a que será utilizado con10 exemplo no

decorrer do capítulo.

Construir un1 algoritmo que calcule os atrasos e as horas trabalhadas de um dado funcionário

a partir do cartão de ponto ilusu·ado na Figura 6.1.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!