O que você vai aprender neste tutorial
- O que é a famosa Sequência de Fibonacci e como ela funciona.
- Como estruturar a lógica de troca de variáveis (atual, último e penúltimo).
- Como criar um script PHP moderno usando o laço de repetição
forpara gerar a série dinamicamente a partir da entrada do usuário.
O que é a Sequência de Fibonacci?
A sequência de Fibonacci é uma sucessão numérica infinita onde os dois primeiros termos são 0 e 1, e cada número subsequente é calculado pela soma dos dois números imediatamente anteriores a ele.
Essa é, sem dúvida, uma das questões de lógica de programação mais cobradas em entrevistas de emprego para desenvolvedores juniores. Entender como construí-la usando laços de repetição (como o laço FOR ou WHILE) é um divisor de águas no seu aprendizado de algoritmos.
Vamos visualizar a formação da série na prática:
- Termo 1 = 0
- Termo 2 = 1
- Termo 3 = 1 + 0 = 1
- Termo 4 = 1 + 1 = 2
- Termo 5 = 2 + 1 = 3
- Termo 6 = 3 + 2 = 5
- ...e assim por diante.
💡 Curiosidade: A série de Fibonacci não vive apenas nos computadores. Ela possui proporções matemáticas fascinantes que aparecem frequentemente na natureza, desde a disposição das pétalas de uma flor até espirais de galáxias. Vale a leitura na Wikipédia sobre a Sequência de Fibonacci.
Como Fazer a Série de Fibonacci com Laços em PHP
Para transformarmos essa matemática em código PHP, precisamos que o usuário nos diga quantos termos ele quer ver. Inicialmente, sempre exibimos o 0 e o 1. Portanto, o usuário precisa digitar um número maior que 2 para a brincadeira fazer sentido.
A Lógica das Variáveis
Nós vamos utilizar três variáveis fundamentais para fazer o script "lembrar" dos números passados:
$atual- Vai armazenar o número atual que está sendo calculado.$ultimo- Armazena o último número gerado pela série.$penultimo- Armazena o número que veio antes do último.
O estado inicial delas, antes do laço começar, será:
$ultimo = 1;
$penultimo = 0;
Dentro do nosso laço, a mágica acontece nesta ordem exata:
- Calculamos o próximo número:
$atual = $ultimo + $penultimo; - Imprimimos o valor de
$atual. - O pulo do gato: Atualizamos as variáveis para a próxima rodada do laço. O antigo
$ultimopassa a ser o$penultimo, e o$atualrecém-calculado vira o novo$ultimo.
Código Completo: Gerador de Fibonacci em PHP
Abaixo, temos o código HTML para o formulário e o script PHP atualizado. Utilizamos a função intval() e o operador ?? para garantir que o código seja seguro e não gere erros no seu servidor moderno.
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title>Gerador de Fibonacci - PHP Progressivo</title>
</head>
<body>
<h2>Calculadora da Sequência de Fibonacci</h2>
<form action="" method="get">
<label for="number">Exibir até qual termo (maior que 2):</label><br>
<input type="number" name="number" id="number" min="3" required />
<input type="submit" value="Calcular" />
</form>
<hr>
<?php
// Verifica se o usuário enviou o número pelo formulário
if (isset($_GET['number'])) {
// Captura o valor, garantindo que seja um número inteiro seguro
$n = intval($_GET['number']);
// Verifica se o número atende ao requisito mínimo
if ($n > 2) {
$ultimo = 1;
$penultimo = 0;
echo "<h3>Os primeiros $n termos são:</h3>";
// Exibe os dois primeiros termos fixos
echo "0 <br> 1 <br>";
// O laço começa em 1 e vai até $n - 2 (pois já exibimos 2 termos)
for ($count = 1; $count <= $n - 2; $count++) {
// Regra de negócio do Fibonacci
$atual = $ultimo + $penultimo;
echo $atual . "<br>";
// Atualização de variáveis para a próxima iteração
$penultimo = $ultimo;
$ultimo = $atual;
}
} else {
echo "<p style='color:red;'>Por favor, insira um número maior que 2.</p>";
}
}
?>
</body>
</html>
⚠️ Atenção ao detalhe técnico: Nossa variável de controle do for vai de 1 até $n - 2. Subtraímos dois do total justamente porque já imprimimos o 0 e o 1 manualmente fora do laço. Se não fizéssemos isso, a sequência teria dois números a mais do que o usuário pediu!
Nenhum comentário:
Postar um comentário