Já vimos que funções são uma coisa muito importante na programação, certo?
Nesse vídeo eu vou te mostrar um mecanismo útil e poderoso que podemos fazer a partir de uma função.
Vamos conversar sobre o que é recursividade.
O Que É Recursividade
De acordo com a Wikipedia, recursividade é um termo para descrever o processo de repetição de um objeto de um jeito similar ao que já fora mostrado.
Um bom exemplo disso são as imagens repetidas que aparecem quando dois espelhos são apontados um para o outro.
A recursão é o processo pelo qual passa um certo procedimento quando um dos passos do procedimento em questão envolve a repetição completa deste mesmo procedimento.
Um procedimento que se utiliza da recursão é dito recursivo. Também é dito recursivo qualquer objeto que seja resultado de um procedimento recursivo.
Pois na programação também usamos recursividade. Vamos ver o que é recursividade no desenvolvimento de software?
Recursividade Na Programação
No mundo do desenvolvimento de software, recursividade é o mecanismo de programação no qual uma definição de função ou de outro objeto refere-se ao próprio objeto sendo definido.
Uma função assim é chamada função recursiva. Assim função recursiva é uma função que é definida em termos de si mesma.
Difícil de entender com estas palavras?
Vamos tentar de outra forma: o nome recursividade vem de uma função que pode chamar a si própria. Melhor assim?
Bom, e como criamos uma função recursiva?
Precisamos de 2 coisas:
- A primeira coisa a se providenciar é um critério de parada. Isto vai determinar quando a função deverá parar de chamar a si mesma.
- Passo recursivo, tentando resolver um sub-problema do problema inicial.
Vamos Ver Um Exemplo?
Este exemplo é bem tradicional no ensino de programação.
Você deve se lembrar de um assunto durante a matéria de matemática do colegial: fatorial.
O fatorial de um número natural n é o produto de todos os inteiros positivos menores ou iguais a n.
Sua notação é o ponto de exclamação.
Por exemplo, o fatorial de 5 é escrito assim: 5!
E a conta deste fatorial é feita assim: 5 x 4 x 3 x 2 x 1 = 120
Já o fatorial de 0 é 1. Ou seja: 0! = 1.
Sabendo destas informações, podemos criar uma função para calcular o fatorial de qualquer número.
E como fica isso no código?
function fatorial(n) { if (n == 0) return 1; else return n * fatorial(n - 1); } console.log("O fatorial de 5 é " + fatorial(5));
Palavras Finais
Através do exemplo que vimos conseguiu entender o que é recursividade?
Quero deixar aqui uma observação: todo cuidado é pouco ao se fazer funções recursivas.
A primeira coisa a se providenciar é um critério de parada, pois isto impede que a função se chame infinitas vezes.
Meu e-book Como Aprender a Programar do Absoluto Zero está GRATUITO por tempo limitado!
Olha o link: 👉🏼 http://celsokitamura.com.br/como-aprender-a-programar
Bora aprender a programar!