A Sequência de Fibonacci
Assim como a PA (Progressão Aritmética), é uma sequência de números, formada por uma regras bem simples.
O primeiro número da série é 0.
O segundo é 1.
A partir daí, o próximo termo é sempre a soma dos dois anteriores. Logo:
Terceiro termo = 0 + 1 = 1
Quarto termo = 1 + 1 = 2
Quinto termo = 1 + 2 = 3
Sexto termo = 2 + 3 = 5
Sétimo termo = 3 + 5 = 8
Oitavo termo = 5 + 8 = 13
...
Ela é de extrema importância na Matemática e aparece de maneira assustadora na Natureza, vale a pena uma pesquisa!
Leia: Série de Fibonacci
Série de Fibonacci em JavaScript
Crie um script que pede ao usuário um termo qualquer da série de Fibonacci e ele exiba tal termo.
O termo que o usuário quer ver será armazenado na variável termo, o número da sequência em numero. Além disso, temos que ter duas outras variáveis, que vão armazenar os dois últimos números da sequência: a ultimo e a penultimo.
Primeiro, precisamos tratar o caso que a pessoa digite termo 1 ou 2.
Nesse caso, basta fazer termo-1 .
Se ela tiver digitado 1, retorna 0. Se tiver digitado 2, retorna o valor 1.
Acima do termo 2, vamos entrar no laço for.
O próximo termo da sequência é:
numero = ultimo + penultimo
Agora, precisamos atualizar os valores de ultimo e penultimo:
penultimo = ultimo;
ultimo = numero
Veja como ficou:
Código HTML:
<!DOCTYPE html> <html> <head> <title>Apostila JavaScript Progressivo</title> <script type="text/javascript" src="script.js"></script> </head> <body> Exibir até o termo: <input id="numero" type="number"> <br /> <button onclick="fibonacci()">Exibir</button><br /> <div id='resposta'></div> </body> </html>
Código JavaScript:
function fibonacci(){ var termo = parseInt(document.getElementById('numero').value); var resposta = document.getElementById('resposta'); var penultimo=0, ultimo=1; var numero; if(termo<=2) numero = termo-1; else for(var count=3 ; count<=termo ; count++){ numero = ultimo + penultimo; penultimo = ultimo; ultimo = numero; } resposta.innerHTML=numero; }
Resultado:
Exibir o termo:
Fibonacci com laço WHILE
function fibonacci(){ var termo = parseInt(document.getElementById('numero').value); var resposta = document.getElementById('resposta'); var penultimo=0, ultimo=1; var numero; if(termo<=2) numero = termo-1; else{ count=3; while(count<=termo){ numero= ultimo + penultimo; penultimo = ultimo; ultimo=numero; count++; } } resposta.innerHTML=numero; }
Exercício de JavaScript
Agora, em vez de exibir o termo, faça um script que printe na página todos os números da sequência de Fibonacci, até o termo escolhido pelo usuário.Código: na apostila!
Resultado:
Exibir até o termo:
Este comentário foi removido por um administrador do blog.
ResponderExcluir😞
ResponderExcluirMe parece, me corrija se eu estiver errado, mas suas funções estão retornando o resultado errado, pois se calcular com valor 1, retorna zero.
ResponderExcluirvocê está errado
ResponderExcluir