Faça uma função recursiva que receba um inteiro como parâmetro e imprima a sequência de Fibonacci.

Passo 1

Beleza, vamos lá! A gente precisa criar uma função recursiva que recebe um número inteiro e imprime a sequência de Fibonacci até esse número. Aqui, estamos trabalhando com Recursão (um conceito de programação onde a função chama a si mesma) e com a Sequência de Fibonacci (uma série de números onde cada número é a soma dos dois anteriores). Para resolver isso, vamos precisar entender como a sequência de Fibonacci funciona e como implementar a recursão em uma função.

Passo 2

Primeiro, vamos entender o que é a sequência de Fibonacci. Ela começa com 0 e 1, e cada número seguinte é a soma dos dois anteriores. Então, se representa o n-ésimo número de Fibonacci, temos:
Isso significa que para calcular, por exemplo, , precisamos calcular e , e assim por diante, até chegarmos aos casos base e .

Passo 3

Agora, vamos pensar em como criar uma função recursiva para imprimir essa sequência até o número fornecido. A ideia é que a função chame a si mesma para calcular cada número de Fibonacci até o -ésimo termo.
Por exemplo, se , queremos imprimir: 0, 1, 1, 2, 3, 5.

Passo 4

Vamos definir a função, que pode ser chamada de fibonacci. Ela vai receber dois parâmetros: o termo atual que estamos calculando e o limite . No início, chamaremos a função com o termo 0 e o limite . A cada chamada recursiva, incrementamos o termo até alcançarmos .
Aqui está um esboço de como a função vai funcionar:
  1. Se o termo atual for maior que , paramos a recursão.
  2. Caso contrário, calculamos o número de Fibonacci para o termo atual.
  3. Imprimimos o número calculado.
  4. Chamamos a função novamente para o próximo termo.

Passo 5

Agora, vamos implementar a função seguindo esse raciocínio. Vamos usar uma linguagem de programação como Python para facilitar a compreensão:
def fibonacci(n, current=0):
    if current > n:
        return
    print(fib(current))
    fibonacci(n, current + 1)

def fib(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fib(n-1) + fib(n-2)

# Chamando a função com N = 5
fibonacci(5)
Neste código:
  • A função fib calcula o n-ésimo número de Fibonacci de forma recursiva.
  • A função fibonacci imprime cada número de Fibonacci até o termo .

Resposta

A função recursiva está implementada conforme mostrado acima. Ao chamar fibonacci(5), será impressa a sequência: 0, 1, 1, 2, 3, 5.

Exercícios relacionados

Leia um vetor de 20 posições. Imprima a soma dos elementos do vetor; a média dos elementos do vetor; e quantos elementos são maiores do que a média dos elementos do vetor.
Faça um programa que leia um vetor de 10 caracteres, e diga quantas consoantes foram lidas. Imprima as consoantes.
Faça um Programa que leia 20 números inteiros e armazene-os num vetor. Armazene os números pares no vetor PAR e os números IMPARES no vetor impar. Imprima os três vetores.
Altere o programa anterior, intercalando 3 vetores de 10 elementos cada.