Curso de PHP: #5 - Operadores Matemáticos

Curso de PHP: #5 - Operadores Matemáticos

Fala escoteiro, tudo bem!? No post anterior vimos como é simples trabalhar com variáveis no PHP e até aprendemos a concatenar Strings. Espero que você tenha curtido. Hoje vamos aprender um dos recursos mais importantes da computação: Os operadores matemáticos. Esse assunto é bem simples, mas compreender bem ele nos dará "super poderes" na hora de criar nossas aplicações.

Muitas são as situações onde um programa de computador precisa realizar cálculos matemáticos. Um exemplo clássico é quando vamos num supermercado e estamos passando os itens no caixa:

- Macarrão XPTO
- Preço Unitário: R$ 2,99
- Quantidade: 3
- Total: R$ 8,97
===========================
- Suco de manga 1L
- Preço Unitário: R$ 3,99
- Quantidade: 2
- Total: R$ 7,98
===========================
- Total a pagar: R$ 16,95

O PHP dispõe de vários tipos de operadores para realizar os mais diversos tipos de cálculos matemáticos, vamos conhece-los agora:

Soma

O operador de soma, assim como na matemática, usa o símbolo "+".

<?php

$numero1 = 16;
$numero2 = 3;

$total = $numero1 + $numero2;

echo $total;

No exemplo acima 2 variáveis tiveram seus valores somados e atribuídos a outra variável, porém é possível somar quantos números quisermos.

<?php

$numero1 = 16;
$numero2 = 3;
$numero3 = 12;

echo $numero2 + $numero1 + 22 + $numero3;

Perceba que além de não ser obrigatório seguir uma ordem, podemos inclusive somar variáveis com números "fixos", como é o caso do 22 no exemplo acima.

Subtração

O operador de subtração, assim como na matemática, usa o símbolo "-".

<?php

$numero1 = 15;
$numero2 = 5;

$total = $numero1 - $numero2;

echo $total;

No exemplo acima a variável $total receberá o resultado da operação 15 - 5, já que esses são os valores das variáveis $numero1 e $numero2 respectivamente.

Assim como no operador de soma, é possível subtrair quantos números quisermos.

<?php

$numero1 = 8;
$numero2 = 2;
$numero3 = 1;

echo $numero1 - $numero2 + $numero3;

Assim como em expressões matemáticas que resolvemos no nosso dia-a-dia, é possível misturar os operadores matemático.

Multiplicação

O operador de multiplicação em PHP e na maioria das linguagens de programação não usam a letra "x", mas sim o símbolo "*" (asterisco).

<?php

$numero1 = 3;
$numero2 = 2;

$total = $numero1 * $numero2;

echo $total;

No exemplo acima a variável $total receberá 6, que é valor resultante da operação 3 x 2.

Assim como em todos os outros operadores, é possível multiplicar quantos números quisermos.

<?php

$numero1 = 3;
$numero2 = 4;
$numero3 = 5;

echo $numero1 * $numero2 * $numero3;

Assim como em expressões matemáticas que resolvemos no nosso dia-a-dia, é possível misturar os operadores matematico.

Divisão

O operador de divisão em PHP e na maioria das linguagens de programação não usam a letra "÷", mas sim o símbolo "/" (barra).

<?php

$numero1 = 4;
$numero2 = 2;

$total = $numero1 / $numero2;

echo $total;

No exemplo acima a variável $total receberá um valor inteiro 2, que é valor resultante da operação 4 ÷ 2.

Porém nem sempre o valor resultante será um valor inteiro, um valor float pode ser devolvido a depender do que se está dividindo.

<?php

$numero1 = 12;
$numero2 = 4;
$numero3 = 2;

echo $numero1 / $numero2 / $numero3;

No exemplo acima será impressão o valor float 1.5.

Potenciação

Para realizar uma operação de potenciação o PHP utiliza juntos dois sinais de multiplicação "**".

<?php

$base = 3;
$expoente = 2;

echo $base ** $expoente;

Resto de divisão

As vezes precisamos dividir dois ou mais números e saber qual foi a diferença dessa operação, exemplo: 7 ÷ 2 = 3,5, porém se analisarmos apenas a parte inteira podemos dizer que o resultado 3 e o resto é 1 (coisas da matemática).

Para obter o resto da divisão o PHP utiliza o operador "%".

<?php

$numerador = 7;
$denominador = 2;

$resto = $numerador % $denominador;

echo $resto;

Precedência de operadores

Você já deve ter visto pela internet coisas como:

80% das pessoas erram esse calculo. Qual o resultado de 2 + 5 x 3 + 4?

Esse tipo de expressão confunde muitas pessoas porque boa parte delas vai resolvendo a expressão da esquerda para a direita sem analisar a "importância" dos operadores.

Jeito ERRADO de calcular

2 + 5 = 7
7 * 3 = 21
21 = 4 = 25

Resposta: 25

Jeito CORRETO de calcular

5 x 3 = 15
2 + 15 = 17
17 + 4 = 21

Resposta: 21

O PHP já respeita essa precedência de operadores, então se você tentar usar o PHP para resolver essa expressão ele já trará o resultado correto.

<?php

// Lembrando que o símbolo de multiplicação é *
echo 2 + 5 * 3 + 4;

Quebrando a precedência de operadores

Não são raras as vezes que precisamos forçar um calculo que passe por cima das regras de precedência. Quando isso ocorre utilizamos na matemática os símbolos: (), [] e {}. No PHP utilizamos apenas os parênteses (), porém podemos usa-los de forma aninhada, ou seja, um dentro do outro.

<?php

echo 7 * (3 + 2) / 2;
<?php

echo 5 * (3 * (2 + 2)) / 2;

Ufa, foi bastante coisa não é? Mas como você pôde ver é tudo muito simples e contrariando a crendice popular, você não precisa ser um expert em matemática para aprender a programar, basta entender bem os conceitos básicos :)

Desafio

Para saber quanto de área um retângulo tem, precisamos multiplicar a base x altura. Que tal criar um programa que faça alguns cálculos de área?

  • Área do retângulo: base x altura
  • Área do triangulo: base x altura / 2
  • Área do trapézio: (base maior + base menor) x altura / 2
  • Área do circulo: π x Raio²

Por hoje é isso escoteiro. Até a próxima!!!