Apresentação recursividade rev2

  • View
    2.484

  • Download
    1

Embed Size (px)

Text of Apresentação recursividade rev2

  • 1. FACULDADE SENACProf.: AliceAlunos :MackleyMAURICIOPedro costaRogrioviniciuswandersonLINGUAGEM DE PROGRAMAO.RECURSIVIDADEAssuntos abordados : Conceito de recursividade Recursividades(Funo recursiva) Algoritmos comentados usandoFunes recursivas

2. ARecursividade um recurso deprogramao,onde uma funo pode chamara si prpria. Para utilizar a funo recursiva fundamental estabelecer um critrio deparada, ou seja ,um parmetro quedetermine quando a funo dever parar dechamar a si mesma. Isto impede que a funo se chame infinitasvezes. paradigma de programao dinmica 3. Pode ser aplicada sobre problemas que requerem queTcnica de programao que os mesmos passos sejampermite funes chamarem a executados diversas vezes... si mesmas 4. As funes recursivas se assemelham a loops. Contudoexige condio de parada no momento em que o problema resolvido. 5. Condio de parada- quando referenciamo- nos neste quesito,indicamos que a mesma soluo aplicada vrias vezes at que o problema seja resolvido.A condio de parada aquela situao na qual o problema j foi resolvido,neste caso a soluo do problema no ser necessrio aplicar aquela mesma soluo repetidas vezes. 6. Problemas podem ser solucionados tanto por recurso como comiterao. Existem outros tipos de problemas cujas solues soinerentemente recursivas, j que elas precisam manter registrosde estados anteriores. Um exemplo o percurso de uma rvore;outros exemplos incluem a funo de Ackermann e algoritmosde diviso e conquista, tais como oQuicksort. Todos estesalgoritmos podem ser implementados iterativamente com a ajudade uma pilha, mas o uso de uma pilha, de certa forma, anula asvantagens das solues iterativas. Porque fazermos recurso e no interao ? Vantagem: Cdigo Simplificado Elegante Desvantagem: Tempo de processamento Memria 7. Recurso em Cauda Chamada recursiva ao final da funo. Recurso Indireta Chamada atravs de outras funes. Anlise de Expresses: 3 + (2 * (4 + 4)). Recurso Aninhada Chamada recursiva com um dos seusparmetros chama a prpria funo. 8. As funes recursivas em cauda formam uma subclasse dasfunes recursivas, nas quais a chamada recursiva a ltimainstruo a ser executada. Por exemplo, a funo a seguir, paralocalizar um valor em uma lista ligada recursiva em cauda, porque a ltima coisa que ela faz invocar a si mesma:EXEMPLO:registro nohdado: inteiro*proximo: registro nohfim_registro*acha_valor(*cabeca: registro noh, valor: inteiro): registro nohiniciose cabeca = NULO ento acha_valor