Cap05 Recurs O1

1078 palavras 5 páginas
Recursão

slide 1

© 2011 Pearson Prentice Hall. Todos os direitos reservados.



Os programas que discutimos geralmente são estruturados como funções que chamam umas às outras de maneira disciplinada, hierárquica. 

Para alguns tipos de problemas, é útil ter funções que chamam a si mesmas. 

Uma função recursiva é uma função que chama a si mesma direta ou indiretamente, por meio de outra função.

slide 2

© 2011 Pearson Prentice Hall. Todos os direitos reservados.



Uma função recursiva é chamada para resolver um problema. Na verdade, a função sabe somente como resolver os casos mais simples, ou os chamados casos básicos.



Se a função é chamada com um caso básico, ela simplesmente retorna um resultado.



Se uma função é chamada com um problema mais complexo, ela divide o problema em duas partes conceituais: uma parte que ela sabe como fazer e uma parte que ela não sabe como fazer.



Para tornar a recursão viável, a segunda parte precisa ser semelhante ao problema original, mas uma versão ligeiramente mais simples ou ligeiramente menor.

slide 3

© 2011 Pearson Prentice Hall. Todos os direitos reservados.



Como esse novo problema se parece com o problema original, a função inicia (chama) uma nova cópia de si mesma para atuar sobre o problema menor — esse processo é conhecido como chamada recursiva, e também como etapa de recursão.



A etapa de recursão também inclui a palavra-chave return, pois seu resultado será combinado com a parte do problema que a função sabia como resolver para formar um resultado que será passado de volta a quem a chamou originalmente, possivelmente, main.



A etapa de recursão é executada enquanto a chamada original à função está aberta, ou seja, enquanto sua execução ainda não foi concluída.. slide 4

© 2011 Pearson Prentice Hall. Todos os direitos reservados.



A etapa de recursão pode resultar em muito mais dessas chamadas recursivas, pois a função continua dividindo cada problema com que é chamada em duas

Relacionados