Menu
Coddy logo textTech

Introdução à Recursão

Parte da seção Lógica & Fluxo do Journey de C++ da Coddy — lição 45 de 56.

A recursão é uma técnica de programação onde uma função chama a si mesma para resolver um problema. Em vez de usar loops, as funções recursivas decompõem problemas complexos em subproblemas menores e semelhantes até que alcancem um caso simples que pode ser resolvido diretamente.

Toda função recursiva deve ter dois componentes essenciais. O caso base é uma condição que interrompe a recursão - sem ele, a função chamaria a si mesma para sempre. O passo recursivo é onde a função chama a si mesma com parâmetros modificados, aproximando-se do caso base a cada chamada.

Aqui está um exemplo simples de contagem regressiva que demonstra recursão:

void countdown(int n) {
    if (n <= 0) {           // Caso base: para quando n chega a 0
        std::cout << "Done!" << std::endl;
        return;
    }
    
    std::cout << n << std::endl;
    countdown(n - 1);       // Passo recursivo: chama com n-1
}

Quando você chama countdown(3), ele imprime 3, depois chama countdown(2), que imprime 2, depois chama countdown(1), e assim por diante até atingir o caso base. Cada chamada de função espera que a próxima seja concluída antes de terminar, criando uma cadeia de chamadas que eventualmente retorna ao chamador original.

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo