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...