28.02.2023 Views

Logica_de_Programacao_3_Edicao_Livro

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

MODULARIZANDO

ALGORITMOS

Objetivos

Explicar a técnica de refinamentos sucessivos.

Introduzir o conceito de módulos, den1onstrando

seu efeito prático 11a redução da complexidade.

Orientar sobre o escopo e a utilização de variáveis

de ferina a não gerar conflitos. Au1nentar a generalidade

dos módulos au-avés da passagem de parâmeu·os.

Co1nparar os diferentes contextos de módulos

e suas aplicações.

• Decomposição de problemas

• Construção de módulos ou

subalgoritmos

• Parametrização de módulos

• Tipos de módulos

Um proble1na complexo pode ser sin1plificado quando dividido e1n vá1ios proble1nas.

Para acompanhar essa abordagem, neste capítulo serão apresentados conceitos e técnicas

que perrnit.ern a divisão de urn algoritmo ern rnódulos ou subalgoritxnos.

DECOMPOSIÇÃO

A deco1nposição de um proble1na é fator deter1ninante para a redução da co1nplexidade.

Le1nbremos que Complexidade é sinônimo de Va1iedade, ou seja, a quanticlade de situações

diferentes que um problerna pode apresentar. Assim, quando decompornos um problerna

en1 subproblernas, estamos invariavehnente dividindo tarnbém a cornplexidade e, por conseqüência,

simplificando a resolução. Outra grande vantagem da decornposição é que permite

focalizar a ate11ção en1 um problen1a peque110 de cada vez, o que ao final produzirá tuna

n1elhor com1)ree11são do todo.

,

E conveniente que adotemos, então, urn critério para orientar o processo de decornpos1çao:

• Dividir o problen1a ern suas partes principais.

• Analisar a divisão obtida para garantir coerência.

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

Saved successfully!

Ooh no, something went wrong!