Como Descobrir o Tipo de Triângulo no PHP [Código]

💡 O que você vai aprender nesta aula:

  • A regra matemática da "Condição de Existência" de um triângulo.
  • Como usar operadores lógicos (&& e ||) no PHP.
  • Como estruturar IF e ELSE aninhados (um dentro do outro).
  • Resolução completa: verificando se o triângulo é Equilátero, Isósceles ou Escaleno.

Na programação, muitas vezes precisamos traduzir regras do mundo real (ou da matemática) para o código. O desafio de hoje é clássico: criar um script PHP que receba três valores digitados pelo usuário e diga não apenas se esses valores formam um triângulo válido, mas também qual é o tipo dele.

Como saber se um triângulo existe?

Para um triângulo existir, a soma das medidas de dois lados deve ser sempre maior que a medida do terceiro lado. No PHP, testamos isso verificando simultaneamente se $a + b > c$, $a + c > b$ e $b + c > a$. Se uma dessas condições for falsa, a figura não fecha.

Para colocar isso no PHP, usamos o operador lógico && (que significa "E"). Veja como fica a condição principal:

if( ($a + $b > $c) && ($a + $c > $b) && ($b + $c > $a) ){
    // O triângulo EXISTE! Agora podemos descobrir o tipo dele.
} else {
    echo "Estes valores não formam um triângulo.";
}

Triângulo Equilátero, Isósceles ou Escaleno no PHP

Se o código passar pelo primeiro if, sabemos que o triângulo existe. Agora, precisamos fazer perguntas secundárias. Para isso, usamos IF e ELSE Aninhados (colocar um IF dentro do bloco de outro IF).

[Image of equilateral isosceles scalene triangles]

As regras geométricas são simples:

  • Equilátero: Todos os 3 lados são iguais ($a = b$ e $b = c$).
  • Isósceles: Pelo menos 2 lados são iguais. Como já descartamos o equilátero no passo anterior, basta testar se ($a = b$ ou $a = c$ ou $b = c$). Para isso, usamos o operador || (OU).
  • Escaleno: Se não é equilátero e não é isósceles, só sobrou uma opção: todos os lados são diferentes! Cai direto no else.

Operadores Lógicos (&& e ||) deram tela azul? 💻

Estruturas aninhadas e operadores lógicos costumam ser o grande terror de quem está começando. Mas não precisa ser assim! Na Apostila PHP Progressivo, você encontra explicações visuais e dezenas de exercícios resolvidos para você treinar a sua lógica passo a passo, no seu tempo e offline.

Baixar Apostila Completa →

Script PHP Completo: O Código Final

Veja como juntamos o HTML do formulário com a lógica do PHP. Adicionamos a função isset() para evitar erros ao carregar a página pela primeira vez e usamos type="number" no HTML para garantir que o usuário não digite letras.

<html>
 <head>
  <title>Validador de Triângulos - PHP</title>
 </head>
 <body>
 <h2>Descubra o tipo do seu Triângulo</h2>
 <form action="" method="get">
  Lado A: <input type="number" step="any" name="lado_a" required /><br /><br />
  Lado B: <input type="number" step="any" name="lado_b" required /><br /><br />
  Lado C: <input type="number" step="any" name="lado_c" required /><br /><br />
  <input type="submit" value="Testar Triângulo" />
 </form> 
 <hr>

 <?php 
  // Verifica se o usuário enviou o formulário
  if(isset($_GET['lado_a'], $_GET['lado_b'], $_GET['lado_c'])){
      
      $a = $_GET['lado_a'];
      $b = $_GET['lado_b'];
      $c = $_GET['lado_c'];

      // 1. Condição de Existência do Triângulo
      if( ($a + $b > $c) && ($a + $c > $b) && ($b + $c > $a) ){
          
          // 2. Classificação (IFs Aninhados)
          if($a == $b && $b == $c) {
              echo "<h3 style='color:blue;'>É um Triângulo Equilátero!</h3>";
          } 
          elseif ($a == $b || $a == $c || $b == $c) {
              echo "<h3 style='color:green;'>É um Triângulo Isósceles!</h3>";
          } 
          else {
              echo "<h3 style='color:purple;'>É um Triângulo Escaleno!</h3>";
          }
          
      } else {
          echo "<h3 style='color:red;'>Erro: Estes valores NÃO formam um triângulo!</h3>";
      }
  }
 ?>
 </body>
</html>

Conseguiu entender a lógica dos IFs dentro de IFs? Excelente! Vamos subir o nível no próximo tutorial.

Avançar para a Próxima Aula »

Nenhum comentário:

Veja também: