Faça uma função recursiva que receba um inteiro N 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 N 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 F(n) representa o n-ésimo número de Fibonacci, temos:
F(n) = 0 & se n = 0 1 & se n = 1 F(n-1) + F(n-2) & se n > 1
Isso significa que para calcular, por exemplo, F(5), precisamos calcular F(4) e F(3), e assim por diante, até chegarmos aos casos base F(0) e F(1).

Passo 3

Agora, vamos pensar em como criar uma função recursiva para imprimir essa sequência até o número N fornecido. A ideia é que a função chame a si mesma para calcular cada número de Fibonacci até o N-ésimo termo.
Por exemplo, se N = 5, 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 N. No início, chamaremos a função com o termo 0 e o limite N. A cada chamada recursiva, incrementamos o termo até alcançarmos N.
Aqui está um esboço de como a função vai funcionar:
  1. Se o termo atual for maior que N, 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 N.

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