Transcript
  • Recursividade

    Prof. Dr. Cesar CaetanoProf. Dr. Reinaldo BurianFIAP - 2012

  • Recursividade - ConceitoUma funo dita recursiva se ela faz referncia a si prpria (direta ou indiretamente)Uma funo recursiva deve ter sempre uma condio de parada e, seu principal objetivo reduzir um problema complexo em algo mais simples.

  • EsquemasDiretoIndiretof1 ( )f1( )f2( ){{{ ......... f1( )f2 ( )f1( ) .........}}}

  • Exemplo: Programa Fatorial de n5! = 5 * 4!4! = 4 * 3!3! = 3 * 2!2! = 2 * 1!1! = 1 * 0!0! = 1

  • Exemplo Programa Fatoriallong int fatorial (int n){ if (n==0) return 1; else return n * fatorial (n-1);}

  • Exerccios1.) Elabore uma funo recursiva para calcular o valor de x elevado a n.

    2.) Elabore uma funo recursiva para calcular o valor de x multiplicado por y.

  • Soluo Ex. 1float potencia (int x, int n){ if (n==0) return 1; else return x * potencia (x,n-1);}

  • Soluo Ex. 2int produto (int x, int y){ if (y==0) return 0; else return x + produto (x,y-1);}

  • Extra...Sequncia de FibonacciLeonardo Pisano ou Leonardo de Pisa (1170 -1250) - tambm conhecido como Fibonacci foi um matemtico italiano, dito como o primeiro grande matemtico europeu. considerado por alguns como o mais talentoso matemtico da Idade Mdia. Ficou conhecido pela descoberta da sequncia de Fibonacci e pelo seu papel na introduo dos algarismos rabes na Europa.

  • Extra...Sequncia de FibonacciA sequncia de Fibonacci a seguinte:1 1 2 3 5 8 13 21 34 55 89 ... Onde o prximo elemento igual a soma dos dois ltimos (55 + 89 = .... )Em termos matemticos:fibo (1) = 1fibo (2) = 1fibo (n) = fibo (n-1)+ fibo (n-2), para n>=3

  • Fibonacci analisando a recursividadeSe o valor de n < =2 ento retorna 1Caso contrario retorna com a soma dos clculos dos valores anteriores (n-1) + (n-2)

  • Cdigo em Cint fib (int n){ if (n
  • Exerccios complementares3.) Elabore uma funo recursiva para calcular a soma dos elementos de um vetor de inteiros positivos.

    4.) Elabore uma funo recursiva para calcular o MDC (M,N).

  • Recursividade

    Prof. Dr. Cesar CaetanoFIAP 2012Agradecimentos ao Prof. Maurcio Duarte

    **************