Capa do Ebook gratuito Curso de Lógica de programação do básico ao avançado

Curso de Lógica de programação do básico ao avançado

4.14

(7)

50 páginas

Recursividade em programação

Capítulo 15

Tempo estimado de leitura: 3 minutos

Audio Icon

Ouça em áudio

0:00 / 0:00

A recursividade é um conceito fundamental na lógica de programação que pode parecer complexo à primeira vista, mas que, quando bem compreendido, pode ser uma ferramenta poderosa para a resolução de problemas. Em termos simples, a recursividade é o processo pelo qual uma função, dentro de sua definição, chama a si mesma. A recursividade é usada para resolver problemas que podem ser divididos em problemas menores de uma natureza semelhante.

Um exemplo clássico de um problema que pode ser resolvido de forma recursiva é o cálculo do fatorial de um número. O fatorial de um número n é o produto de todos os números inteiros positivos menores ou iguais a n. No entanto, o fatorial de n também pode ser definido como o produto de n pelo fatorial de n-1. Isso nos dá uma definição recursiva para o cálculo do fatorial.

Em pseudocódigo, a função fatorial pode ser escrita de forma recursiva da seguinte maneira:

function fatorial(n) {
  if (n == 0) {
    return 1;
  } else {
    return n * fatorial(n-1);
  }
}

Observe que a função fatorial chama a si mesma dentro de sua definição. Isso é o que caracteriza uma função recursiva. No entanto, é importante notar que uma função recursiva deve sempre ter uma condição de parada, caso contrário, ela continuará a chamar a si mesma indefinidamente, resultando em um loop infinito. No caso da função fatorial, a condição de parada é quando n é igual a 0.

Outro exemplo comum de um problema que pode ser resolvido de forma recursiva é a sequência de Fibonacci. A sequência de Fibonacci é uma sequência de números na qual cada número é a soma dos dois números anteriores. Os dois primeiros números na sequência de Fibonacci são 0 e 1, e cada número subsequente é a soma dos dois números anteriores.

Continue em nosso aplicativo

Você poderá ouvir o audiobook com a tela desligada, ganhar gratuitamente o certificado deste curso e ainda ter acesso a outros 5.000 cursos online gratuitos.

ou continue lendo abaixo...
Download App

Baixar o aplicativo

Em pseudocódigo, a função Fibonacci pode ser escrita de forma recursiva da seguinte maneira:

function fibonacci(n) {
  if (n == 0) {
    return 0;
  } else if (n == 1) {
    return 1;
  } else {
    return fibonacci(n-1) + fibonacci(n-2);
  }
}

Como a função fatorial, a função Fibonacci também chama a si mesma dentro de sua definição e tem uma condição de parada para evitar um loop infinito.

A recursividade pode ser uma ferramenta muito poderosa na resolução de problemas de programação. No entanto, é importante notar que a recursividade pode ser mais difícil de entender e de rastrear do que uma abordagem iterativa. Além disso, a recursividade pode ser mais ineficiente em termos de uso de memória e tempo de execução do que uma abordagem iterativa. Portanto, é importante usar a recursividade de forma judiciosa e apenas quando ela proporciona uma solução mais clara e mais elegante para o problema em questão.

Em resumo, a recursividade é um conceito fundamental na lógica de programação que envolve uma função chamando a si mesma dentro de sua definição. A recursividade é usada para resolver problemas que podem ser divididos em problemas menores de uma natureza semelhante. Embora a recursividade possa ser uma ferramenta poderosa, é importante usá-la de forma judiciosa, pois ela pode ser mais difícil de entender e mais ineficiente do que uma abordagem iterativa.

Agora responda o exercício sobre o conteúdo:

O que caracteriza uma função recursiva na programação?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Uma função recursiva é caracterizada por chamar a si mesma dentro de sua definição e ter uma condição de parada para evitar chamadas infinitas. Isso é essencial para resolver problemas que podem ser divididos em subproblemas menores com estrutura semelhante, como o cálculo de fatoriais ou a sequência de Fibonacci.

Próximo capitúlo

Manipulação de strings

Arrow Right Icon
Baixe o app para ganhar Certificação grátis e ouvir os cursos em background, mesmo com a tela desligada.