💡 O que você vai aprender nesta aula:
- O famoso algoritmo do "Copo Vazio": como trocar o valor de duas variáveis.
- Como usar a lógica condicional para colocar 3 números em ordem crescente.
- Resolução do exercício passo a passo com código limpo.
- Bônus de Sênior: Como o PHP moderno resolve isso em apenas uma linha usando Arrays.
Todo professor de programação adora passar este exercício: "Faça um script que leia três números inteiros e mostre-os na ordem crescente". Ele é fundamental porque não testa apenas se você sabe escrever código, mas se você entende como a memória do computador funciona.
Antes de sairmos comparando três números, precisamos dar um passo atrás e aprender a engatinhar: como eu inverto o valor de duas variáveis?
Como trocar o valor de duas variáveis no PHP?
Para trocar o valor de duas variáveis no PHP de forma segura, você deve criar uma terceira variável (chamada de temporária). Ela guardará o valor da primeira variável para que ele não seja apagado quando a segunda variável a sobrescrever.
Parece confuso? Imagine que você tem um copo com Suco (variável A) e um copo com Refrigerante (variável B). Você quer colocar o Suco no copo B e o Refri no copo A. Você não pode simplesmente jogar um por cima do outro. Você precisa de um terceiro copo vazio (nossa variável temporária).
Veja como muitos iniciantes tentam fazer (e erram):
$a = 1;
$b = 2;
$a = $b; // Agora $a vale 2. O valor 1 foi destruído!
$b = $a; // $b recebe 2. As duas variáveis ficaram com o mesmo valor!
O jeito correto e lógico de fazer a inversão:
$temp = $a; // O "copo vazio" guarda o valor 1
$a = $b; // $a pode receber o valor 2 com segurança
$b = $temp; // $b pega o valor 1 que estava guardado no copo extra
Travou na Lógica dos Algoritmos? 🧠
Entender como as variáveis interagem na memória é o que separa os "copiadores de código" dos verdadeiros programadores. Se você quer dominar a Lógica de Programação com exemplos práticos como esse, a Apostila PHP Progressivo é o seu guia definitivo. Estude offline, pratique com centenas de exercícios e acelere seu aprendizado.
Baixar Apostila Completa →Lógica para Colocar 3 Números em Ordem Crescente
Agora que sabemos trocar valores de lugar, vamos ao nosso formulário. Inicialmente, vamos "chutar" que os números já vieram na ordem certa:
$menorrecebe o primeiro número.$meiorecebe o segundo número.$maiorrecebe o terceiro número.
O que precisamos fazer é comparar as variáveis em pares usando a estrutura IF e ELSE. Se o número que está no topo for maior que o número de baixo, nós usamos nossa variável $temp para trocá-los de lugar!
- Comparamos o 1º com o 2º (se estiverem errados, invertemos).
- Comparamos o 1º com o 3º (se estiverem errados, invertemos).
- Comparamos o 2º com o 3º (se estiverem errados, invertemos).
Script PHP: O Código Completo do Exercício
Refatoramos o código para utilizar entradas numéricas no HTML5 e checagem de segurança isset() no PHP. Teste você mesmo:
<html>
<head>
<title>Ordem Crescente - PHP Progressivo</title>
</head>
<body>
<form action="" method="get">
Número 1: <input type="number" name="num1" required /><br /><br />
Número 2: <input type="number" name="num2" required /><br /><br />
Número 3: <input type="number" name="num3" required /><br /><br />
<input type="submit" value="Ordenar" />
</form>
<?php
// Verifica se todos os números foram enviados pelo formulário
if(isset($_GET['num1'], $_GET['num2'], $_GET['num3'])){
$menor = $_GET['num1'];
$meio = $_GET['num2'];
$maior = $_GET['num3'];
// Checagem 1: Compara o Menor com o Meio
if($meio < $menor){
$temp = $menor;
$menor = $meio;
$meio = $temp;
}
// Checagem 2: Compara o Menor com o Maior
if($maior < $menor){
$temp = $menor;
$menor = $maior;
$maior = $temp;
}
// Checagem 3: Compara o Meio com o Maior
if($maior < $meio){
$temp = $meio;
$meio = $maior;
$maior = $temp;
}
echo "<h3 style='color:green;'>Ordem Crescente: $menor < $meio < $maior</h3>";
}
?>
</body>
</html>
🛠️ Dica de Ouro: O Jeito Profissional (Arrays)
Esse exercício de trocar variáveis é incrível para treinar sua lógica de programação (conhecido na computação como um princípio básico de algoritmos de ordenação, como o Bubble Sort). Mas, na vida real de um programador, se você precisar ordenar 3 ou 1000 números no PHP, você usa [Arrays] e a função nativa sort().
<?php
$numeros = [$_GET['num1'], $_GET['num2'], $_GET['num3']];
sort($numeros); // Mágica! O PHP ordena tudo sozinho.
echo "Menor: $numeros[0] | Meio: $numeros[1] | Maior: $numeros[2]";
?>
Curtiu o exercício? Sua mente já está expandindo! Clique abaixo para encarar o próximo desafio de código.
Avançar para a Próxima Aula »
Nenhum comentário:
Postar um comentário