Conversão de Celsius e Fahrenheit em PHP usando Funções
Neste tutorial da nossa Apostila de PHP, vamos resolver de forma prática e elegante um dos clássicos da programação mundial: o conversor de temperaturas. Vamos aplicar nossos conhecimentos de funções para converter graus Celsius para Fahrenheit e vice-versa.
Este é o momento de colocar a mão na massa resolvendo o Exercício 01 da nossa Lista de Exercícios sobre Funções:
A Matemática da Conversão
Antes de codificar, precisamos entender as fórmulas matemáticas. Existem escalas diferentes para medir temperatura no mundo (o Brasil usa Celsius, enquanto os Estados Unidos usam Fahrenheit, por exemplo).
As fórmulas matemáticas universais de conversão são:
- 🌡️ De Celsius para Fahrenheit: $$F=(C \times \frac{9}{5})+32$$
- 🌡️ De Fahrenheit para Celsius: $$C=(F-32) \times \frac{5}{9}$$
A Lógica do nosso Script PHP
Nós vamos construir um pequeno formulário HTML onde o usuário
digita a temperatura. Em vez de pedir para ele digitar "1" ou "2", vamos
fazer um código de alto nível usando um elemento <select> para ele escolher o tipo de conversão.
No backend, o nosso PHP fará o seguinte:
- Verifica se o formulário foi enviado (usando
isset). - Captura a opção escolhida.
- Se escolheu "CtoF", chama a nossa função
CtoF()e exibe o resultado. - Se escolheu "FtoC", chama a função
FtoC().
O Código Completo (HTML + PHP)
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Conversor de Temperaturas - PHP Progressivo</title>
</head>
<body style="font-family: Arial; padding: 20px;">
<h2>Conversor de Temperatura</h2>
<!-- Formulário Inteligente -->
<form action="" method="get">
<label>Temperatura:</label>
<input type="number" step="0.01" name="temperatura" required />
<select name="conversao">
<option value="CtoF">Graus Celsius para Fahrenheit</option>
<option value="FtoC">Fahrenheit para Graus Celsius</option>
</select>
<input type="submit" value="Calcular" />
</form>
<?php
// Verifica se os dados foram enviados para evitar erros
if (isset($_GET['temperatura']) && isset($_GET['conversao'])) {
// Pega a temperatura e converte para decimal
$temp = floatval($_GET['temperatura']);
$opt = $_GET['conversao'];
echo "<br>"; // Pula uma linha
// Tratamento da Opção
if ($opt == "CtoF") {
$resultado = CtoF($temp);
echo "Resultado: <strong>{$temp}°C</strong> equivalem a <strong>" . number_format($resultado, 2) . "°F</strong>.";
} elseif ($opt == "FtoC") {
$resultado = FtoC($temp);
echo "Resultado: <strong>{$temp}°F</strong> equivalem a <strong>" . number_format($resultado, 2) . "°C</strong>.";
} else {
echo "Opção inválida.";
}
}
// ==========================================
// MINHAS FUNÇÕES (A Mágica acontece aqui!)
// ==========================================
function CtoF($celsius) {
return ($celsius * 9 / 5) + 32;
}
function FtoC($fahrenheit) {
return ($fahrenheit - 32) * 5 / 9;
}
?>
</body>
</html>
Por que isso é tão poderoso?
Prontinho! Veja que bacana, limpo e organizado ficou o nosso script. Agora você pode, inclusive, hospedar seu site na web, pois esse sistema está funcionando perfeitamente.
A maior vantagem de ter criado Funções para isso é a reutilização de código. Imagine que você consiga um emprego de desenvolvedor em um portal de notícias meteorológicas. Você nunca mais precisará escrever essa matemática do zero!
Você pode simplesmente pegar as funções CtoF() e FtoC(), salvá-las em um arquivo chamado conversao.php, e sempre que precisar usá-las no seu sistema, basta incluir a linha require_once "conversao.php"; no topo da sua página.
Isso é o PHP em sua melhor forma! Sensacional, não acha?
Quer mais Códigos Prontos? 🚀
Esse script faz parte da nossa coleção de exercícios de lógica. Na nossa apostila oficial, você encontra centenas de scripts como esse comentados linha a linha para acelerar seu aprendizado.
Baixar Apostila Completa de PHP
Nenhum comentário:
Postar um comentário