Buscar

Aula 14 - ProgII - Recursão

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Informática
1
Recursão
Prof. Thiago Oliveira dos Santos
Departamento de Informática
Universidade Federal do Espírito Santo
2015
Aula – Programação II (INF 09330)
Informática
2
Visão Geral da Aula
• Introdução
• Forma geral da recursão
• Exemplos
Informática
3
Visão Geral da Aula
• Introdução
• Forma geral da recursão
• Exemplos
Informática
4
Introdução
Conceito
• Processo que define algo em torno de si mesmo
Por que utilizar recursão?
• É uma nova maneira de resolver problemas
• Facilita raciocínio para problemas naturalmente recursivos
Problemas Recursivos
• Muitos problemas possuem propriedades recursivas
• Cada instância possui instâncias menores do problema
Informática
5
Visão Geral da Aula
• Introdução
• Forma geral da recursão
• Exemplos
Informática
6
Forma Geral da Recursão
Definição Geral
• Se a instância não for mais divisível
– Resolva diretamente
• Caso contrário
– Reduza a instância do problema
– Aplique o mesmo método da original às instâncias menores
– Volte e resolva a instância original com a resposta das menores
Informática
7
Forma Geral da Recursão
Como Garantir Finalização?
• Definir a solução trivial, ou condição de parada
• Garantir que a função decresce a cada passo
Informática
8
Visão Geral da Aula
• Introdução
• Forma geral da recursão
• Exemplos
Informática
9
Exemplos
Fatorial
• Calcula o fatorial de um número
int fatorial(int x){
if ( x == 0 )
return 1;
else
return x * fatorial(x - 1);
}
int fatorial(int x){
int fat = 1;
for (; x > 1; x--){
fat = fat * x; 
}
return fat; 
}
Por Recursão: Por Iteração:
Informática
10
Exemplos
Soma Números
• Dado um intervalo m e n, onde m < n
– Soma os números pares contidos entre eles
int somaParesR(int m, int n){
if (n < m) return 0;
if (m % 2 == 0)
return m + somaParesR( m+1, n ); 
else
return somaParesR( m+1, n ); 
}
int somaParesI(int m, int n){
int sum = 0;
for(; m <= n; m++) {
if (m % 2 == 0)
sum = sum + m; 
} 
return sum;
}
Por Recursão: Por Iteração:
Informática
11
Exemplos
N-esimo Termo da Série de Fibonacci
• Série de Fibonacci (0,1,1,2,3,5,8,13,...)
int fibr(int n){
if(n <= 1) 
return n;
return fibr(n-1) + fibr(n-2);
}
int fibi(int n){
int a=0, b=1, prox, i;
if (n == 0)
prox = a;
else if (n == 1)
prox = b;
for(i = 2; i <= n; i++)
{
prox = a + b;
a = b;
b = prox;
}
return prox;
}
Por Recursão: Por Iteração:
Idx 0 1 2 3 4 5 6 7
Informática
12
Pergunta???

Outros materiais