Números e Operações Matemáticas em Perl

Neste tutorial de nossa apostila Perl Progressivo, vamos aprender como lidar com números e as operações matemáticas.

Baixar apostila de Perl em PDF
Baixar e estudar pela apostila em PDF

Tipos de dados numéricos em Perl

O Perl suporta os mais variados tipos de valores numéricos, como por exemplo:
2112                     # inteiro
-2112                    # inteiro negativo
12345.67              # float, fluatuante ou decimal
6.02E23               # em notação científica
0xffff                   # hexadecimal, começa sempre com 0x
0377                    # octal , começa sempre com 0
0b10011101        # binário, começa com 0b
4_294_967_296  # números grandes organizados por underline

Internamente, porém, o Perl trabalha como se todos fossem do tipo float, com precisão dupla.
Ou seja, não tem um valor 7 e sim um 7.0, por exemplo.
Se você já estudou linguagens como C, C++ ou Java, por exemplo, é como se o Perl tratasse todos os números como sendo do tipo double.

E note bem isso: em valores float (decimais), usamos o ponto e não a vírgula para separar a unidade da parte decimal.

Operações Matemáticas em Perl

O computador nada mais é que uma calculadora, bem rápida e que faz vários cálculos ao mesmo tempo. Então, vamos usar um pouco o Perl pra fazer nossa máquina calcular ?

As principais operações matemáticas são:
  • adição: usando o operador +
  • subtração: usando o operador -
  • multiplicação: usando o operador * (asterisco e não o x)
  • divisão: usando o operador /
  • exponenciação: usando o operador **
  • resto da divisão ou módulo: usando o operador %

Vamos fazer um script simples que pega dois números, 21 e 12, e faz todas essas operações:
#!/usr/bin/perl
print 21 + 12, "\n"; # Adição
print 21 - 12, "\n"; # Subtração
print 21 * 12, "\n"; # Multiplicação
print 21 / 12, "\n"; # Divisão
print 21 **12, "\n"; # Exponenciação
print 21 % 12, "\n"; # Resto da divisão
O resultado vai ser:
Operações matemáticas no Perl

Veja que o Perl imprimiu diretamente o resultado das operações, ele leu e interpretou que aquilo eram operações e resolveu elas, mostrando o valor resultante.

Lembrando que resto da divisão é aquele 'resto' que sobrava, quando você fazia continhas de divisão na escola:

Curso de Perl online grátis


Note que ao final de cada linha tem um símbolo de jogo da velha # e algo escrito.
O nome disso é comentário, serve única e exclusivamente para programadores lerem, o Perl ignora totalmente isso, ok? É apenas para explicar e organizar melhor os scripts em Perl.

Precedência de Operadores

Calcule, de cabeça, a seguinte operação:

  • 1 + 2 * 3


Para alguns o resultado pode ser 9: 1+2=3, 3*3=9
Para outros, pode ser 7: 2*3 = 6, 1+6=7

E aí, qual o certo?
Vamos deixar o Perl resolver:
#!/usr/bin/perl
print (1 + 2 * 3);
E o resultado que ele mostra é 7. E o motivo é a precedência de operadores.

O operador de multiplicação tem precedência maior na operação.
Agora crie um script para calcular:

  • (1+2)*3

#!/usr/bin/perl
print ( (1 + 2)*3 );
Veja que o resultado foi 9. Mudou só por conta de um par de parêntesis, confere?
Isso porque os parêntesis tem uma precedência maior que o operador de multiplicação.

Existe uma tabela de importância de precedência de operadores.
Ela é (de cima pra baixo, e na mesma linha da esquerda pra direita):
( )
++ --
**
*   /   %
+   -
<   <=   >   >=
==   !=
=   +=   -=   *=   /=   %=   **=

Os operadores que você não conhece, não se preocupe, vamos estudar com calma ao longo de nossa apostila de Perl.

Nenhum comentário:

Veja também: