Buscar

O que é Recursão ?

Em programação, o que é Recursão ? Qual a finalidade ?

💡 5 Respostas

User badge image

Heitor Figueiredo

A melhor forma de pensar em como funciona uma recursão/recursividade é como quando você colocar um espelho na frente do outro, eles vão ficar refletindo infinitamente, ou então, até onde você enxerga ou tira um espelho da frente do outro.

Recursividade nada mais que você chamar uma função (independente da linguagem), dentro dela mesma. É importante dizer que é necessário aplicar um critério de parada para isso, senão você pode gerar um loop infinito, porque a função vai chamar ela mesma pra sempre.

O exemplo mais comum é o da função que calcular um número da sequência de Fibonacci na posição informada:

function fibonacci(posicao) {
    if (posicao == 0 || posicao == 1) {
        return 1;
    } else {
        return fibonacci(posicao-1) + fibonacci(posicao-2);
    }
}

Vamos analisar a função. Ela recebe o parâmetro "posicao" e verifica se ele é igual a 0 ou 1, pois para a posição 0 ou 1 o número de fibonacci é 1. Se não for 0 ou 1 ela chama ele mesma novamente passando a posição anterior e depois soma com a mesma função passando duas posições anteriores, pois o número de fibonacci é calculado com a soma dos dois números anteriores.

Por exemplo, se passarmos o parametro 2 para a função ele irá verificar que não é igual a um então chamará as funções "fibonacci(1) + fibonacci(0)", agora se formos para as duas funções que ele chamou, lembrando o if, ambas retornarão 1 e o resultado da função principal será a soma das duas, sendo então 2, que é o número de fibonacci na posição 2.

1
Dislike0
User badge image

Thiago Andrade

É a definição de uma função, ou método, que pode chamar a si mesma. Ao utilizar funções recursivas a primeira coisa a se providenciar é um critério de parada. Este vai determinar quando a função deverá parar de chamar a si mesma, impedindo que a função se chame infinitas vezes. Há certos algoritmos que são mais eficientes quando feitos de maneira recursiva. Leia mais sobre o assunto na apostila desse link: https://www.passeidireto.com/arquivo/4451137/curso-de-linguagem-c---ufmg

1
Dislike0
User badge image

Andre Smaira

Uma função de recursão é uma função no código que se refere a si mesma para execução. Funções recursivas podem ser simples ou elaboradas. Eles permitem uma escrita de código mais eficiente, por exemplo, na listagem ou compilação de conjuntos de números, cadeias de caracteres ou outras variáveis ​​através de um único processo reiterado.


As funções recursivas no código geralmente dependem de configurações de loop, em que a variável inicial é chamada várias vezes enquanto é alterada pelo loop. Exemplos simples de uma função recursiva incluem o fatorial, em que um inteiro é multiplicado por si mesmo enquanto é reduzido de forma incremental.


Muitas outras funções de auto referência em um loop poderiam ser chamadas de funções recursivas, por exemplo, onde n = n + 1 dado um intervalo operacional.

0
Dislike0

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

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais