View
228
Download
10
Embed Size (px)
Citation preview
Recursividade
Aula I – ALG IICPAN – UFMS
Recursividade • A recursão é uma técnica pela qual uma rotina estruturada faz
chamadas a ela mesma, com o objetivo de completar uma tarefa repetitiva e que pode ser identificada como uma tarefa recursiva, pois nem todas as tarefas repetitivas podem ser resolvidas através da recursão
• Dizemos que a solução de uma tarefa é recursiva quando pode ser definida em termos de si mesma, definindo uma tarefa mínima e uma condição de parada
Um exemplo bastante intuitivo é a tarefa de “subir uma escada”
Um exemplo bastante intuitivo é a tarefa de “subir uma escada”
Tarefa mínima
FIM DA ESCADA =
CONDIÇÃO DE PARADA
A tarefa “subir a escada” pode ser decomposta em uma repetição finita da tarefa “subir degrau”, até atingir a condição de parada.
• A recursão também é chamada de definição circular.• Assim, a recursão ocorre quando algo é definido em termos de si
mesmo.• Outro exemplo clássico que pode ser resolvido de forma recursiva é o
calculo do fatorial de um número, onde, por definição temos:
Sendo n um número de inteiros: n! = {
Recursividade
1 se n = 0n* n – 1 se n > 0
Ou seja 0! = 1n! = n*(n-1)!
• A ideia básica da recursão é dividir um problema maior em um conjunto de problemas menores, que são então resolvidos de forma independente e depois combinados para gerar a solução final.
• Isso fica evidente no calculo do fatorial
• O fatorial de um número n é o produto de todos os números inteiros entre 1 e n. Por exemplo, o fatorial de 3 é igual a 1*2*3, ou seja, 6.• Assim, o fatorial desse mesmo número 3 pode ser definido em termos
do fatorial de 2, ou seja, 3! = 3* 2! .
Recursividade
DIVIDIR E CONQUISTAR
Função com e sem recursividade para o calculo do fatorial
Função com e sem recursividade para o calculo do fatorial
A própria função fatorial está chamando ela mesma...
Recursividade
Critério de parada: determina quando a função deverá parar de chamar a sai mesma. Se ela não existir, a função irá executar infinitamente.
No exemplo: calculo fatorial, o critério de parada ocorre quando tentamos calcular o fatorial de zero. 0! = 1.
Recursividade
Exemplo: o que acontece quando chamamos a função fatorial com um valor de n = 3 ?
Exercícios