contacto[arroba]digitallearning.es
Título curso Aprende a programar (con Javascript)

Métodos del objeto Math

Javascript tiene un objeto llamado “Math” que nos permite realizar numerosas operaciones y funciones matemáticas a través de los métodos que tiene definidos. De una manera coloquial, podríamos decir que tenemos incorporada en Javascript una calculadora científica para utilizar cuando queramos en nuestro código.

Estas operaciones incluyen el cálculo de:

  • funciones trigonométricas: seno, coseno, tangente,…
  • máximo y mínimos de un conjunto de números
  • logaritmos, raices y potencias
  • redondeo y generación de un número aleatorio

Para utilizar estas funciones, debemos escribir:
Math.metodo()

siendo Math el nombre de este objeto, seguido por un punto y el nombre del método que vamos a aplicar.

Mostramos un ejemplos con los métodos: sqrt(), cos(), pow(), max(), random(), round() (y las variantes de éste último: ceil() y floor()) explicando en el mismo script qué realiza cada uno:

 


Números aleatorios: hay muchos programas que necesitan generar un número al azar, por ejemplo si estamos simulando un sorteo, desarrollando un juego donde el usuario tiene que adivinar algo, si queremos presentar elementos sin un orden establecido,….

Para ello tenemos el método Math.random()  en JavaScript,  que en versiones parecidas está presente en casi todos los lenguaje de programación. Como hemos visto en el ejemplo, este método nos da un número decimal entre 0 y 1, así que para generar números aleatorios enteros (0, 1, 2, 3…) necesitamos multiplicar ese resultado por un número entero, y luego quedarnos con un redondeo, aplicando alguno de los métodos del objeto Math que hemos visto en ese ejemplo: round(), floor() ó ceil().

Para entenderlo mejor, vamos a multiplicar por ejemplo por una potencia de 10 (10, 100, 1000,…) y probarlo directamente:

  • Copia primero el ejemplo de script anterior al editor online y pulsa repetidamente el botón ‘Ver resultado‘, para ver como cambia el nº aleatorio y sus redondeos.
  • Después, modifica el ejemplo cambiando la instrucción var num5 = Math.random();  por la instrucción var num5 = Math.random() * 10;
  • Vuelve a pulsar repetidamente el botón ‘Ver resultado‘. Verás como en los redondeos hechos con los métodos ‘floor()‘ y ‘ceil()‘ te van generando números entre 0 y 9 ó 1 y 10, respectivamente. El método ‘round’ te genera entre 0 – 10, pero si lo piensas, el ‘0’ y el ’10’ tienen menos probabilidades de salir que los números del 1 al 9.
  • Prueba a multiplicar por otras potencias: Math.random() * 100, Math.random * 1000,… y comprueba nuevamente los resultados. Verás que los rangos serán entre 0-99  / 1-100, 0-999 / 1-1000, etc…

Constantes

El objeto Math también nos proporciona algunas constantes matemáticas muy importantes. Son propiedades de dicho objeto y podemos acceder a su valor con la notación que ya conocemos: Math.propiedad. Por ejemplo:

Math.E  : nos da el número e (2,718…)

Math.PI : nos da el número π (3,14…)

Saber más: en esta página puedes encontrar el conjunto completo de propiedades y métodos del objeto Math.