1
resposta

[Dúvida] Função mostra() chamando função pulaLinha()

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?

1 resposta

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

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!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!