14/05/2011

Javascript: Objeto Math

Em JavaScript, podemos fazer uso de um objeto próprio para cálculos matemáticos chamado Math que possui constantes, métodos para calcular potências, raízes, arredondamentos, funções trigonométricas, maneiras de encontrar o menor e o maior valor, além de um gerador de números randômicos.

O objeto Math possui algumas constantes importantes para cálculos mais complexos, bem como funções (métodos) para executar operações matemáticas mais facilmente.

Constantes


O objeto Math possui 8 constantes que são:

E: constante do número de Euler. (2,718281828459045);
LN2: constante com o resultado do logaritmo natural na base 2. (0,6931471805599453);
LN10: constante com o resultado do logaritmo natural na base 10. (2,302585092994046);
LOG2E: constante com o resultado do logaritmo na base 2 do número de Euler. (1,4426950408889634);
LOG10E: constante com o resultado do logaritmo na base 10 do número de Euler. (0,4342944819032518);
PI: constante do pi (Π). (3,141592653589793);
SQRT1_2: constante com o resultado da raíz quadrada de meio. (√½ ≈ 0,7071067811865476);
SQRT2: constante com o resultado da raíz quadrada de 2 (√2 ≈ 1,4142135623730951);
No caso, todas essas constantes são valores aproximados, levando-se em conta que são dízimas periódicas.

Abaixo está um exemplo de como obter o valor de todas as constantes.

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
  document.write (Math.E + "<BR>");
  document.write (Math.LN2 + "<BR>");
  document.write (Math.LN10 + "<BR>");
  document.write (Math.LOG2E + "<BR>");
  document.write (Math.LOG10E + "<BR>");
  document.write (Math.PI + "<BR>");
  document.write (Math.SQRT1_2 + "<BR>");
  document.write (Math.SQRT2 + "<BR>");
</SCRIPT>

Raízes e Potências

Podemos utilizar o objeto Math para obter raízes quadradas e potências.

O método sqrt() extrai a raíz quadrada do número passado como argumento.

Ex.: var1 = sqrt(4);, é o mesmo que √4.

O método pow() retorna o valor da potência indicada em seus parâmetros, sendo o primeiro parâmetro o número base e o segundo o expoente.

Ex.: var1 = pow(10, 3);, é o mesmo que 10³.

É possível também fazer o cálculo utilizando a constante de Euler. Para isso, usamos um método próprio chamado exp().

Exp() recebe apenas um argumento que é o expoente da potência.

Ex.: var1 = exp(1);, é o mesmo que E¹.

Vejamos o código e o resultado logo abaixo:

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
  var var1 = 4;
  var var2 = 2;  
  document.write ("A raíz quadrada de " + var1 + " é " + Math.sqrt(var1) + "<BR>");
  document.write (var1 + " elevado a " + var2 + " é " + Math.pow(var1, var2) + "<BR>");
  document.write ("E elevado a " + var2 + " é " + Math.exp(var2) + "<BR>");
</SCRIPT>

A raíz quadrada de 4 é 2
4 elevado a 2 é 16
E elevado a 2 é 7.38905609893065

Arredondamentos

Quando tratamos com números que possuem a parte decimal extensa (como é o caso das constantes), podemos fazer uso de métodos para arredondar os números.

O método round() arredonda um número para o inteiro mais próximo, tanto para baixo quanto para cima. Por exemplo, o número 3.3 arredondado será 3, mas o número 3.8 arredondado será 4.

O método floor() arredonda um número para o inteiro mais baixo. Também considerado como piso.

O método ceil() arredonda um número para o inteiro mais alto. Também considerado como teto.

O método abs() remove apenas a parte fracionada. Ou seja, retorna o valor absoluto.

Trigonometria

Usado para cálculos trigonométricos envolvendo principalmente ângulos. Com esses métodos fica fácil obter o resultado matemático dos ângulos sem a necessidade de vários cálculos ou tabelas prontas.

sin(): retorna o valor de seno;
cos(): retorna o valor de cosseno;
tan(): retorna o valor da tangente;
asin(): retorna o valor do arco seno;
acos(): retorna o valor do arco cosseno;
atan(): retorna o valor do arco tangente;

Maior e Menor

Existem dois métodos do objeto Math que servem como comparativos.

Método min(valor1, valor2): retorna o menor valor entre os parâmetros passados.
Método max(valor1, valor2): retorna o maior valor entre os parâmetros passados.

Número Randômico

O objeto Math também possui um método para gerar automaticamente números randômicos.

O método random() retorna um número entre 0 e 1, ou seja, pode ser 0, 1, 0.5, 0.2, 0.8, 0.4567412, e assim por diante.

Se, por exemplo, quisermos fazer o limite entre 0 e 10, basta que multipliquemos por 10 o valor retornado por random(). Dessa forma conseguiremos um número entre randômico maior.

O problema de se usar isso é que os números retornados sempre serão muito fracionados, portanto, o ideal é utilizar junto uma das funções de arredondamento.

Veja o exemplo abaixo:

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
  var valor1 = Math.random()*10;
  var valor2 = Math.random()*10;
  valor1 = Math.round(valor1);
  valor2 = Math.round(valor2);
  document.write ("Os números sorteados foram " +
                  valor1 + " e " + valor2 + ".<BR>"+
                  "Sendo que o maior valor é " + Math.max(valor1, valor2)
                  + " e o menor valor é " + Math.min(valor1, valor2));
 
</SCRIPT>

O que resulta em:

Os números sorteados foram 1 e 9.
Sendo que o maior valor é 9 e o menor valor é 1

Nenhum comentário: