- Questão 1 (Fácil): Gerador da Sequência de Fibonacci

A sequência de Fibonacci é uma série de números em que cada número subsequente é a soma dos dois anteriores. A sequência geralmente começa com 0 e 1. Exemplo: 0, 1, 1,2,3,5,8,13, \ldots
  • Desenvolva uma função que receba um número inteiro N como entrada. A função deve gerar e retornar uma lista com os N primeiros termos da sequência de Fibonacci.
  • O programa principal deve pedir ao usuário o valor de n e, em seguida, chamar a função para exibir a lista resultante na tela. Por exemplo, se o usuário digitar 8,0 programa deve exibir [0,1,1,2,3,5,8,13].

Passo 1

O enunciado pede para implementar em um programa a geração dos N primeiros termos da sequência de Fibonacci, sabendo que cada termo (a partir do terceiro) é a soma dos dois anteriores, e que a sequência começa com \,0,1. Vamos precisar de:
  • Definir casos-base para N\le2.
  • Construir iterativamente os termos seguintes.
  • Exibir a lista resultante.

Passo 2

Tratamos os casos-base para garantir que não ocorra erro de índice:
  • Se N\le0, retornamos lista vazia.
  • Se N=1, retornamos [0].
  • Se N=2, retornamos [0,1].

Passo 3

Para N>2, usamos um laço que vai de i=2 até i=N-1. A cada iteração, calculamos
\text{fib}_i = \text{fib}_{i-1} + \text{fib}_{i-2}
e anexamos esse valor à lista.

Passo 4

Implementamos a função em Python aproveitando o passo anterior:
def fibonacci(n):
 if n <\(=0\):
 return []
 if n \(==1\):
 return [0]
 seq = [0, 1]
 for i in range(2, n):
 seq.append(seq[i-1] + seq[i-2])
 return seq

Passo 5

No programa principal, pedimos ao usuário o valor de n, chamamos fibonacci(n) e exibimos o resultado:
def main():
 n = int(input("Digite o número de termos N: "))
 resultado = fibonacci(n)
 print(resultado)

if __name__ \(==\) "__main__":
 main()

Resposta

def fibonacci(n):
 if n <\(=0\):
 return []
 if n \(==1\):
 return [0]
 seq = [0, 1]
 for i in range(2, n):
 seq.append(seq[i-1] + seq[i-2])
 return seq

def main():
 n = int(input("Digite o número de termos N: "))
 resultado = fibonacci(n)
 print(resultado)

if __name__ \(==\) "__main__":
 main()

Exercícios relacionados