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?
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
for
ouwhile
.
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!