FC ConcursosFC Concursos

Questão FC441300

Considere o código abaixo, digitado em Python. a, b = 0, 1 while b < 10: print b a, b = b, a+b No final da execução do código, o último valor armazenado nas variáveis a e b serão,

Linguagens de Programação para Ciência de Dados

FCC · 2014

Considere o código abaixo, digitado em Python.


a, b = 0, 1
while b < 10:
  print b
  a, b = b, a+b


No final da execução do código, o último valor armazenado nas variáveis a e b serão, respectivamente,

  1. 13 e 21.
  2. 8 e 13.
  3. 5 e 10.
  4. 13 e 20.
  5. 8 e 10.
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

Inicialmente temos \(a, b = 0, 1\). Em Python é possível fazer múltipla atribuição, então a linha \(a, b = b, a+b\) atualiza ambas as variáveis ao mesmo tempo: a recebe o valor antigo de b e b recebe a soma dos valores antigos de a e b.

Ao executar o laço while com a condição \(b < 10\) os valores de b impressos formam a sequência: 0, 1, 1, 2, 3, 5, 8. Após cada iteração ocorre a atribuição \(a, b = b, a+b\), gerando a progressão de Fibonacci:

\(0, 1, 1, 2, 3, 5, 8, 13\)

Na 6ª iteração a atribuição produz \(a = 8\) e \(b = 13\). Como então \(b = 13\) não satisfaz a condição \(b < 10\), o laço termina sem novas alterações. Portanto, os últimos valores armazenados são a = 8 e b = 13.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo