Mostrando postagens com marcador IF e ELSE. Mostrar todas as postagens
Mostrando postagens com marcador IF e ELSE. Mostrar todas as postagens

Como Colocar 3 Números em Ordem Crescente no PHP [Código]

💡 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:

  • $menor recebe o primeiro número.
  • $meio recebe o segundo número.
  • $maior recebe 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!

  1. Comparamos o 1º com o 2º (se estiverem errados, invertemos).
  2. Comparamos o 1º com o 3º (se estiverem errados, invertemos).
  3. 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 »

Como Calcular Média no PHP: Aprovado ou Reprovado [Código]

💡 O que você vai aprender nesta aula:

  • A matemática por trás do cálculo de médias e a importância dos parênteses.
  • Como encadear condições usando if, elseif e else.
  • Resolução do exercício prático: Sistema de aprovação de alunos.

Todo programador, em algum momento da vida, vai precisar criar um sistema que calcula notas. É um dos exercícios mais clássicos para treinar a sua Lógica de Programação e o uso de operadores matemáticos básicos.

O nosso desafio de hoje é simples, mas essencial: "Faça um programa que pede duas notas. Calcule a média e imprima 'Reprovado' (menor que 7), 'Aprovado' (maior ou igual a 7) ou 'Aprovado com Honra ao Mérito' (exatos 10)."

Como calcular a média de notas no PHP?

Para calcular a média aritmética no PHP, você deve somar todas as notas dentro de parênteses e dividir pelo número total de avaliações. Exemplo: $media = ($nota1 + $nota2) / 2;.

Acredite se quiser, a maior causa de erros nesse exercício não é o PHP, é a matemática! Se você escrever o código sem os parênteses, assim: $nota1 + $nota2 / 2, o PHP vai dividir apenas a nota 2 pela metade e somar com a nota 1 (lembra da regra de precedência matemática da escola?).

⚠️ Atenção aos Operadores: Sempre envolva as operações de soma em parênteses antes de aplicar o operador de divisão /. O PHP respeita a precedência matemática rigorosamente!

Como usar IF e ELSE para Aprovado ou Reprovado?

Depois de ter o valor da média na variável $media, precisamos tomar uma decisão. É aqui que entram as estruturas condicionais IF e ELSE.

A ordem em que você faz as perguntas (condições) para o PHP importa muito. No nosso código, vamos fazer a checagem nesta sequência:

  1. A nota é menor que 7? (Se sim, Reprovado. O código para por aqui).
  2. Não é menor que 7. Mas a nota é exatamente igual a 10? (Se sim, Honra ao Mérito).
  3. Se não caiu em nenhuma das situações acima, significa que é de 7 para cima, mas não é 10. (Então, apenas Aprovado).

Script PHP: O Código Completo e Comentado

Abaixo está o nosso script completo. Perceba que adicionei a função isset(). Isso é um truque de desenvolvedor sênior para evitar que o PHP mostre erros de "variável indefinida" quando você acessa a página pela primeira vez sem ter enviado o formulário.

<html>
 <head>
  <title>Calcular Média - Programação Progressiva</title>
 </head>
 <body>
 <h2>Calculadora de Média Escolar</h2>
 <form action="" method="get">
  Nota 1:  <input type="number" step="0.1" name="nota1" required /><br /><br />
  Nota 2:  <input type="number" step="0.1" name="nota2" required /><br /><br />
  <input type="submit" value="Calcular Média" />
 </form> 

 <?php 
  // O IF abaixo garante que o cálculo só rode se o formulário foi enviado
  if(isset($_GET['nota1']) && isset($_GET['nota2'])){
      
      $nota1 = $_GET['nota1'];
      $nota2 = $_GET['nota2'];
      
      // Matemática básica: parênteses primeiro!
      $media = ($nota1 + $nota2) / 2;

      echo "<hr><h3>Média Final: $media</h3>";
      
      // Lógica de Aprovação
      if($media < 7) {
          echo "<p style='color:red;'><b>Resultado: Reprovado</b></p>";
      } 
      elseif($media == 10) {
          echo "<p style='color:blue;'><b>Resultado: Aprovado com Honra ao mérito! 🏆</b></p>";
      } 
      else {
          echo "<p style='color:green;'><b>Resultado: Aprovado</b></p>";
      }
  }
 ?>
 </body>
</html>

A lógica do IF/ELSE deu um nó na cabeça? 🤯

A estrutura condicional é o coração de qualquer sistema PHP. Se você ainda tem dúvidas de quando usar else ou elseif, a nossa Apostila PHP Progressivo vai salvar a sua vida. São dezenas de exercícios resolvidos passo a passo para você baixar e estudar offline, até a lógica virar algo natural pra você.

Baixar Material Completo →

Você quer ser um Programador Profissional?

Não basta apenas fazer os exercícios, é preciso provar o seu conhecimento. Destaque o seu currículo e comprove suas habilidades para o mercado de trabalho com o nosso certificado exclusivo de conclusão!

Curso de PHP com certificado
★ Obter meu certificado de Programador PHP!