0% acharam este documento útil (0 voto)
66 visualizações4 páginas

Fatorial Recursivo em Java

1) Recursão é um método de programação no qual uma função chama a si mesma para resolver problemas menores do mesmo tipo. 2) Um exemplo é o cálculo fatorial recursivo, no qual cada número é multiplicado pelo fatorial do número anterior até chegar a 0. 3) Outro exemplo mostra como imprimir números em ordem decrescente de forma recursiva, chamando a função e decrementando o parâmetro a cada chamada.
Direitos autorais
© Attribution Non-Commercial (BY-NC)
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
66 visualizações4 páginas

Fatorial Recursivo em Java

1) Recursão é um método de programação no qual uma função chama a si mesma para resolver problemas menores do mesmo tipo. 2) Um exemplo é o cálculo fatorial recursivo, no qual cada número é multiplicado pelo fatorial do número anterior até chegar a 0. 3) Outro exemplo mostra como imprimir números em ordem decrescente de forma recursiva, chamando a função e decrementando o parâmetro a cada chamada.
Direitos autorais
© Attribution Non-Commercial (BY-NC)
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

Recursividade em Java

Recurso um mtodo de programao no qual um funo chama a si mesma. A recurso utilizada quando queremos resolver um subproblema do mesmo tipo menor.

Se o problema pequeno
o

Ento resolva o problema diretamente

Seno
o

Reduza o problema em um problema menor, chame novamente o mtodo para o problema menor e volte ao problema original.

Chamando um mtodo dentro dele mesmo: A chamada de um mtodo para ele mesmo, igual a chamada de qualquer outro mtodo, exemplo de mtodo recursivo que calcula o fatorial n!: O fatorial de um nmero dado pela multiplicao de seus antecessores, ou seja, se n igual 3, ento seu fatorial ser 3 * 2 * 1. O fatorial de 0! (zero) igual a 1. O mtodo recursivo fica da seguinte forma:

Dentro de um mtodo recursivo muito importante definirmos como ser a condio base para que o mtodo pare a recurso, ou seja, como o mtodo vai parar de se chamar. Neste caso queremos que o mtodo para de chamar ele mesmo, quando o valor que ser calculado o fatorial for igual a 0 (zero), pois neste caso sabemos a resposta direta sem ter que fazer clculos. Testando o mtodo recursivo:

Chamando o mtodo fatorial(3), queremos calcular 3 * 2 * 1. -> 3 * fatorial(2) retorna (6) -> -> 2 * fatorial(1) retorna (2) -> -> -> 1 * fatorial(0) retorna (1) Explicando o fluxo do programa: 1) O mtodo fatorial recebe o valor de x igual a 3, verifica se x igual a 0 (zero), como no igual a 0 (zero), ento calcula 3 multiplicado por fatorial(2), neste ponto estamos fazendo uma chamada recursiva. 2) O mtodo fatorial recebe o valor de x igual a 2, verifica se x igual a 0 (zero), como no igual a 0 (zero), ento calcula 2 multiplicado por fatorial(1). 3) O mtodo fatorial recebe o valor de x igual a 1, verifica se x igual a 0 (zero), como no igual a 0 (zero), ento calcula 1 multiplicado por fatorial(0). 4) O mtodo fatorial recebe o valor de x igual a 0 (zero), verifica se x igual a 0 (zero), ento para a execuo do mtodo e retorna o valor 1. 5) Volta para o mtodo fatorial(1) na linha 26 e faz a multiplicao de x que vale 1 pelo resultado do fatorial(0) que 1, ou seja 1 * 1 e retorna o valor 1. 6) Volta para o mtodo fatorial(2) na linha 26 e faz a multiplicao de x que vale 2 pelo resultado do fatorial(1) que 1, ou seja 2 * 1 e retorna o valor 2. 7) Volta para o mtodo fatorial(3) na linha 26 e faz a multiplicao de x que vale 3 pelo resultado do fatorial(2) que 2, ou seja 3 * 2 e retorna o valor 6. 8) Volta para o mtodo que chamou o fatorial(3), neste caso o mtodo main na linha 7, guarda o resultado do fatorial(3) que 6, dentro da varivel resp, e imprime o resultado da varivel resp na linha 8. Outro exemplo de recurso: Ordem decrescente Mtodo recursivo que recebe um nmero x por parmetro e imprime seu valor em ordem decrescente at 1.

Quando usamos recurso, precisamos definir o momento de parada, quando a funo no deve ser mais chamada. No caso do exemplo anterior queremos que o mtodo no si chame novamente quando o x for igual a 0 (zero), porque queremos apenas os nmeros entre [x ... 1]: if(x == 0) return; Agora precisamos definir o que nosso mtodo deve fazer, neste caso deve imprimir o valor de x, e em seguida chama a si mesma diminuindo em 1 o valor de x. [Link](x); imprimirSequencia(x - 1); A prxima vez que a funo imprimirSequencia(int x) for chamada, o valor de x diminui 1 at chegar a 0 (zero) e parar a execuo do cdigo.

Recursividade em Java  
Recursão é um método de programação no qual um função chama a si mesma. 
 
A recursão é utilizada qua
C (http://1.bp.blogspot.com/_TdHDrMmBxF4/SCjizopM_II/AAAAAAAAAAs/uI0hvGxVjQ4/s1600-h/recursao2.JPG)hamando o método 
fatori
Quando usamos recursão, precisamos definir o momento de parada, quando a  (http://3.bp.blogspot.com/_TdHDrMmBxF4/SCjkoIpM_J
 
 
  (http://2.bp.blogspot.com/_TdHDrMmBxF4/SCjlf4pM_KI/AAAAAAAAAA8/XDa7l4upQuk/s1600-h/recursao4.JPG)

Você também pode gostar