Recursividade

463 palavras 2 páginas
Recursividade
DEFINIÇÃO: Um método recursivo é, por definição, aquele método que chama uma instância a mais de si mesmo, com a finalidade de dividir o problema original em partes menores e de mais fácil resolução.
OBSERVAÇÃO:
• Todo método recursivo tem um “if” que resolve se vai chamar recursivamente para diminuir o grau de dificuldade do problema (empilhar chamadas) ou se vai encerrar a recursividade por ter chegado ao nível de solução conhecido pelo algoritmo, garantindo aí a parada (desempilhar chamadas). 1

AED: Recursividade




Definição de novos conceitos: uso de elementos conhecidos.
Mas pensemos no seguinte problema:


Defina o conjunto dos números naturais.

PUC Minas – Curso de Sistemas de Informação

2

AED: Recursividade


Definições recursivas:





Um objeto definido em termos dele próprio
Geralmente, utilizadas para definição de conjuntos infinitos Na programação, são métodos que chamam a sua própria execução

PUC Minas – Curso de Sistemas de Informação

3

AED: Recursividade


Definição recursiva:








1 – Âncora ou caso base: elementos básicos do conjunto, ou ponto de parada do método recursivo
2 – Regra de formação de novos elementos

Exemplo: definição recursiva do fatorial de um número Exercício: definição recursiva da série de
Fibonacci

PUC Minas – Curso de Sistemas de Informação

4

AED: Recursividade


Recursividade na programação


Praticamente basta fazer a tradução da definição formal para a linguagem int fatorial(int n){ if(n==0) return 1; else return n * fatorial (n-1);

}

PUC Minas – Curso de Sistemas de Informação

5

AED: Recursividade


Chamada de uma função


Armazenamento de:







Parâmetros
Ponto de retorno
Variáveis locais
Valor de retorno

Registro de ativação

PUC Minas – Curso de Sistemas de Informação

6

AED: Recursividade


Anatomia de uma chamada recursiva:


fatorial(4)




4 * fatorial(3)

3* fatorial(2)
− 2 * fatorial(1)
− 1 * fatorial (0)
−1
− 1*1 = 1
−2*1=2

3*2=6
4 * 6 = 24

Relacionados

  • Recursividade
    2088 palavras | 9 páginas
  • Recursividade
    577 palavras | 3 páginas
  • ....... Recursividade
    936 palavras | 4 páginas
  • Recursividade
    384 palavras | 2 páginas
  • Recursividade
    1193 palavras | 5 páginas
  • Recursividade
    311 palavras | 2 páginas
  • RECURSIVIDADE
    604 palavras | 3 páginas
  • Recursividade
    318 palavras | 2 páginas
  • recursividade
    1230 palavras | 5 páginas
  • Recursividade
    526 palavras | 3 páginas