Pascal Recursividade

Embed Size (px)

Citation preview

1. PASCAL

    • Regis Pires Magalhes
    • ltima atualizao em 02/09/2007

Recursividade 2. Recursividade

  • Usada em problemas que so definidos em termos deles mesmos.
  • Possui um preo: a movimentao de dados na PILHA de execuo.
    • Essa movimentao de dados de controle, impe soluo recursos adicionais que podem torn-la ineficiente.

3. Recursividade

  • O problema do fatorial recursivo por definio:
    • N! = N x (N - 1) x (N - 2) x (N - 3) ... x 1
    • Caso especial: 0! igual a 1, por definio.

4. Recursividade - Fatorial

  • Program Fatorial;
  • Uses Crt;
  • Function Fat(n : integer);
  • Begin
  • If n = 0 Then
  • Fat := 1
  • Else
  • Fat := n * Fat(n-1);
  • End;
  • Var num : integer;
  • Begin
  • ClrScr;
  • Write('Digite um numero: ');
  • Readln(num);
  • Write('O fatorial de ', num, ' e: ', Fat(num));
  • ReadKey;
  • End.

5. Exerccio

  • Escreva uma funo recursiva para receber um valor n e retornar 2 n .
    • 2 n= 2 * 2 n-1 , para n > 0.
    • 2 n= 1, para n = 0
  • Escreva um programa para exibir n valores da seqencia de fibonacci.
    • Para n=6: 1, 2, 3, 5, 8, 13
    • F(n) = F(n-1) + F(n-2), para n > 3
    • F(n) = 1, para n = 1 ou n = 2.