Professor, no decorrer da aula foi notável que a função mostra() apresenta dentro de suas instruções a chamada para a função pulaLinha(). Podemos chamar isto de Recursividade?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Professor, no decorrer da aula foi notável que a função mostra() apresenta dentro de suas instruções a chamada para a função pulaLinha(). Podemos chamar isto de Recursividade?
Fala David, tudo bem?
A recursividade é, na verdade, quando uma função faz chamada a ela mesma. Isso é, quando dentro de um comportamento de uma função, ela chama novamente a si. Chamadas para outras funções não são recursivas, são apenas a definição de um comportamento normalmente; quando fazemos chamada para uma função dentro da outra, é como se o código da função mais interna fosse colado na função que a chama!
Atenção: devido ao comportamento da recursividade de chamar a si mesma, pode ocorrer o que chamamos de recursão infinita, ou seja, que a função fique chamando a si mesma infinitamente, o que causa erro no programa. Para evitar isso, utilizamos o que chamamos de caso base, ou seja, uma condição onde a função para de executar, similar à condição de parada de um
forouwhile.
Recursão é um assunto bastante complexo e que demora um tempo para se entender por completo, mas é muito interessante! Para você entender como se parece uma função recursiva, vou deixar um trecho de código aqui! Não se preocupe, nesse momento, em entender por completo como ela funciona, o importante é a estrutura dela!
function fatorial(x)
{
if(x<=1)
return 1;
else
return x * fatorial(x-1); // veja que está sendo chamada a função fatorial() dentro dela mesma!
}Essa estrutura é bem comum em código recursivo e tem a chamada para a própria função dentro dela e uma condição de parada. Esse código faz o cálculo do fatorial de um número x.
Novamente, não precisa se preocupar caso não tenha entendido por completo como funciona esse código, é um exemplo para habituar-se com a estrutura de um código recursivo. Ainda assim, caso queira entender mais a fundo, estou à disposição!
Um grande abraço e bons estudos!