RECURSIVIDADE
LPII
Professora Lucélia
MÉTODO RECURSIVO



Um método é considerado recursivo quando
possui uma chamada para si próprio.
Segundo Deitel, a recursão é um tópico estudado
demoradamente em cursos de Ciências da
Computação.
Um método recursivo pode ser chamado direta ou
indiretamente por outro método.
DEFINIÇÃO RECURSIVA DE UM DIRETÓRIO
DE COMPUTADOR:



Um computador armazena arquivos relacionados
em um diretório;
Um diretório pode estar vazio, conter arquivos
e/ou conter outros diretórios (subdiretórios);
Cada um desses subdiretórios por sua vez, podem
possuir arquivos e também diretórios;
DEFINIÇÃO RECURSIVA DE UM DIRETÓRIO
DE COMPUTADOR (CONTINUAÇÃO):
Se quiséssemos listar cada arquivo em um
diretório (incluindo cada arquivo de cada
subdiretório), precisaríamos criar um método que
primeiro listasse os arquivos do diretório inicial e
depois fizesse as chamadas recursivas para listar
os arquivos em todos os subdiretórios desse
diretório.
 O caso básico ocorreria quando o diretório que
fosse alcançado não contivesse nenhum
subdiretório.
 Nesse ponto, todos os arquivos no diretório
original teriam sido listados e nenhuma chamada
recursiva adicional precisaria ser feita.

EXEMPLO DE USO DE MÉTODO RECURSIVO
 Cálculo
dos fatoriais dos números de 1 a 10:
public class CalculoFatorial{
public long fatorial(long num){
if (num <= 1)
return 1;
else
//aqui ocorre a recursão
return num * fatorial (num - 1);
}
public void mostraFatorial(){
for (int i =0; i <= 10; i++){
System.out.println(i+"! = "+fatorial(i));
} }}
CLASSE PRINCIPAL
public class UsaFatorial{
public static void main(String args[]){
CalculoFatorial cf = new CalculoFatorial();
cf.mostraFatorial();
}
}
EXERCÍCIO
Utilize o conceito de recursividade para calcular
os 11 primeiros números da série de Finabocci.
 Série de Finabocci:
 0, 1, 1, 2, 3, 5, 8, 13, 21...

Download

Recursividade