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!

Nenhum comentário:

Veja também: