Exercícios Resolvidos de Estruturas de Repetição: O laço For

Ver Teoria

Enunciado

Faça um programa para gerar os n primeiros termos da seqüência:

1 1 2 3 5 8 13 21 …  

Passo 1

A sequência mostrada na questão é conhecida como Sequência Fibonacci, e é muito importante no estudo das ciências naturais, como a física e a biologia. Nessa sequência o primeiro termo é a 0 = 1 e o segundo termo é a 1 = 1 . E daí por diante, cada número é a soma dos dois números anteriores. Ou seja, a sequência é dada pela relação:

a 0 = 1 a 1 = 1 a n = a n - 1 + a n - 2

Então, vamos lá declarar nossas variáveis.

Como usaremos um loop f o r vamos precisar de uma variável de iteração n . Também será necessária uma variável inteira N para receber o número de termos que o usuário quer imprimir.

Para efetuar a Sequência Fibonacci vamos precisar de três variáveis: a _ n   para representar o termo a n . A variável a _ n _ 1 para representar o termo a n - 1 . E a variável a _ n _ 2 para representar o termo a n - 2 .

Passo 2

Pra começar, vamos usar o c o u t para pedir um número pro usuário, e com c i n vamos armazenar o valor na variável N

Passo 3

Agora vamos criar o nosso loop

O primeiro termo da sequência ocorre em n = 0

Saca só, quando n = 0 e n = 1 , nós não precisamos fazer nenhum cálculo. Só temos que imprimir os termos a 0 = 1 e a 1 = 1 , então podemos usar uma condição i f   para esses casos especiais

Show! E pra todas as outras possibilidades a gente vai efetuar o cálculo. Então abrimos um comando e l s e , assim todos os outros termos da sequência, que não vão entrar no i f da linha 14, vão entrar no e l s e . Dentro do e l s e , na linha 22, adicionamos a expressão a expressão pra calcular o próximo termo. E na linha 25, imprimimos o valor desse novo termo.

Ainda dentro do e l s e , vamos ter que atualizar os valores das variáveis a _ n _ 1 e a_n_2, para podermos calcular o próximo a _ n . O valor contido em a _ n _ 1 será enviado pra a _ n _ 2 ; e o valor de a _ n será enviado pra a _ n _ 1 . Isso é necessário para preparar os as variáveis para a próxima iteração do laço! Olha só como fica:

E pronto! Depois de fechar as chaves do e l s e e do laço f o r a questão está concluída.

Resposta