Está en la página 1de 11

La clase que utilizamos para realizar clculos matemticos de todo tipo.

Por Miguel Angel Alvarez


Atencin: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.

La clase Math es una de las clases nativas de Javascript. Proporciona los mecanismos para realizar operaciones matemticas en Javascript. Algunas operaciones se resuelven rpidamente con los operadores aritmticos que ya conocemos, como la multiplicacin o la suma, pero hay una serie de operaciones matemticas adicionales que se tienen que realizar usando la clase Math como pueden ser calcular un seno o hacer una raiz cuadrada. De modo que para cualquier clculo matemtico complejo utilizaremos la clase Math, con una particularidad. Hasta ahora cada vez que queramos hacer algo con una clase debamos instanciar un objeto de esa clase y trabajar con el objeto y en el caso de la clase Math se trabaja directamente con la clase. Esto se permite por que las propiedades y mtodos de la clase Math son lo que se llama propiedades y mtodos de clase y para utilizarlos se opera a travs de la clase en lugar de los objetos. Dicho de otra forma, para trabajar con la clase Math no deberemos utilizar la instruccin new y utilizaremos el nombre de la clase para acceder a sus propiedades y mtodos.

Propiedades de Math
Las propiedades guardan valores que probablemente necesitemos en algn momento si estamos haciendo clculos matemticos. Es probable que estas propiedades resulten un poco raras a las personas que desconocen las matemticas avanzadas, pero los que las conozcan sabrn de su utilidad. E Nmero E o constante de Euler, la base de los logaritmos neperianos. LN2 Logaritmo neperiano de 2. LN10 Logaritmo neperiano de 10. LOG2E Logaritmo en base 2 de E.

LOG10E Logaritmo en base 10 de E. PI Conocido nmero para clculo con crculos. SQRT1_2 Raiz cuadrada de un medio. SQRT2 Raiz cuadrada de 2.

Mtodos de Math
As mismo, tenemos una serie de mtodos para realizar operaciones matemticas tpicas, aunque un poco complejas. Todos los que conozcan las matemticas a un buen nivel conocern el significado de estas operaciones. abs() Devuelve el valor absoluto de un nmero. El valor despus de quitarle el signo. acos() Devuelve el arcocoseno de un nmero en radianes. asin() Devuelve el arcoseno de un numero en radianes. atan() Devuelve un arcotangente de un numero. ceil() Devuelve el entero igual o inmediatamente siguiente de un nmero. Por ejemplo, ceil(3) vale 3, ceil(3.4) es 4. cos() Retorna el coseno de un nmero.

exp() Retorna el resultado de elevar el nmero E por un nmero. floor() Lo contrario de ceil(), pues devuelve un nmero igual o inmediatamente inferior. log() Devuelve el logaritmo neperiano de un nmero. max() Retorna el mayor de 2 nmeros. min() Retorna el menor de 2 nmeros. pow() Recibe dos nmeros como parmetros y devuelve el primer nmero elevado al segundo nmero. random() Devuelve un nmero aleatorio entre 0 y 1. Mtodo creado a partir de Javascript 1.1. round() Redondea al entero ms prximo. sin() Devuelve el seno de un nmero con un ngulo en radianes. sqrt() Retorna la raiz cuadrada de un nmero. tan() Calcula y devuelve la tangente de un nmero en radianes. Ejemplo de utilizacin de la clase Math Vamos a ver un sencillo ejemplo sobre cmo utilizar mtodos y propiedaes de la clase Math para calcular el seno y el coseno de 2 PI radianes (una vuelta completa). Como algunos de vosotros sabris, el coseno de 2 PI radianes debe dar como resultado 1 y el seno 0.

document.write (Math.cos(2 * Math.PI))

document.write ("<br>")

document.write (Math.sin(2 * Math.PI))

2 PI radianes es el resultado de multiplicar 2 por el nmero PI. Ese resultado es lo que recibe el mtodo cos, y da como resultado 1. En el caso del seno el resultado no es exactamente 0 pero est aproximado con una exactitud de ms de una millonsima de fraccin. Se escriben los el seno y coseno con un salto de lnea en medio para que quede ms claro. Podemos ver el resultado de ejecutar estas lneas de cdigo.

Clase Math Een este articulo haremos una introduccion a la Clase Math, que seria en java el paquete matematico de este lenguaje de programacion. Math maneja Datos y funciones Miembro Datos Miembros: Esta clase tiene algunos numeros constantes tan utiles como Pi y e que estan representados de esta manera en la clase java:
Cdigo: public final class Math { public static final double E = 2.7182818284590452354; public static final double PI = 3.14159265358979323846; //... }

donde el modificador de acceso Final indica que dichas variables son constantes e inmodificables, a estos valores se accede de la siguiente forma:
Cdigo: System.out.println("Pi es " + Math.PI); System.out.println("e es " + Math.E);

Funciones Miembro de la Clase Math dicha clase tiene varias formas de una misma funcion, por ejemplo cuando deseamos buscar el valor absoluto de un numero, dependiendo del numero, llamaremos a los metodos.De esta forma se constituye en java la clase Math respecto a el valor absoluto:
Cdigo: public final class Math { public static int abs(int a) { return (a < 0) ? -a : a; } public static long abs(long a) { return (a < 0) ? -a : a;

} public static float abs(float a) { return (a < 0) ? -a : a; } public static double abs(double a) { return (a < 0) ? -a : a; } //... }

para el uso de estos metodos procedemos a:


Cdigo: int i = -9; double x = 0.3498; System.out.println("|" + i + "| es " + Math.abs(i)); System.out.println("|" + x + "| es " + Math.abs(x));

donde dependiendo del tipo de dato se llamara al metodo correspondiente. Funciones Trigonometricas Siempre hay que tener presente al momento de usar estas funciones trigonometricas que los argumentos de estas se expresan en radianes y asi obtener el valor real de la funcion a utilizar. Por lo tanto si vamos a buscar el Seno, Tangente, y Coseno de 45 grados debemos expresar 45 en radianes de esta manera:
Cdigo: double angulo = 45.0 * Math.PI/180.0; System.out.println("cos(" + angulo + ") es " + Math.cos(angulo)); System.out.println("sin(" + angulo + ") es " + Math.sin(angulo)); System.out.println("tan(" + angulo + ") es " + Math.tan(angulo));

Funcion Exponencial Y logaritmica la funcion exponencial exp tiene como retorno el numero de euler (e) elevadao a la potencia indicada por ejemplo:
Cdigo: System.out.println("exp(1.0) es " + Math.exp(1.0));

System.out.println("exp(10.0) es " + Math.exp(10.0)); System.out.println("exp(0.0) es " + Math.exp(0.0));

La funcion logaritmica retorna el calculo del Logaritmo Natural (en base e) de un numero asi:
Cdigo: System.out.println("log(1.0) es " + Math.log(1.0)); System.out.println("log(10.0) es " + Math.log(10.0)); System.out.println("log(Math.E) es " + Math.log(Math.E));

Funciones de Potenciacion y Raiz Cuadrada Potencia: accedemos a este metodo con el metodo pow(x,y) lo cual significa elevar el numero x a la potencia y
Cdigo: System.out.println("pow(10.0, 3.5) es " + Math.pow(10.0,3.5));

Raiz Cuadrada: accedemos a esta funcion por medio de sqrt(x), donde obtendremos el valor de la raiz cuadrada del numero x:
Cdigo: System.out.println("La raz cuadrada de " + x + " is " + Math.sqrt(x));

Aproximando un numero decimal para redondear un numero decimal real a una determinada cantidad de valores utilizaremos cualquiera de estos dos metodos round y floor, es decir para expresar dos numeros decimales con solamente dos decimales haremos:
Cdigo: double x = 72.3543; double y = 0.3498; System.out.println(x + " es aprox. " + (double)Math.round(x*100)/100); System.out.println(y + " es aprox. " + (double)Math.round(y*100)/100); System.out.println(x + " es aprox. " + Math.floor(x*100)/100); System.out.println(y + " es aprox. " + Math.floor(y*100)/100);

Buscando el mayor y el menor de dos numeros para este procedimiento necesitaremos de los metodos min y max que definiran estas condiciones de numeros del mismo tipo asi:

Cdigo: int i = 7; int j = -9; double x = 72.3543; double y = 0.3498; // para hallar el menor de dos nmero System.out.println("min(" + i + "," + j + ") es " + Math.min(i,j)); System.out.println("min(" + x + "," + y + ") es " + Math.min(x,y)); // Para hallar el mayor de dos nmeros System.out.println("max(" + i + "," + j + ") es " + Math.max(i,j)); System.out.println("max(" + x + "," + y + ") es " + Math.max(x,y));

Numeros Aleatorios definiendo aleatorios como numeros al azar para esto se usa una funcion de Math llamada random que devuelve como resultado numeros pseudoalatorios, es decir "supuestos aleatorios" o usarse la clase Random de java que realiza la misma operacion con un metodo llamado NextDouble
Cdigo: System.out.println("Nmero aleatorio: " + Math.random()); System.out.println("Otro nmero aleatorio: " + Math.random()); ltima modificacin: 29 de Diciembre 2008,de 12:19:36 por Galatea

10. la Clase Math


Hola chicos, ya estamos aqu despus de algn tiempo sin hacer un post, buenoel orden que seguir es este blog, es un poco desarrollar los temas segn el orden de las clases que dicto en MGP - Per de San isidro.

A ver este post es por decirlo de alguna forma muy sencillo de explicar y obviamente muy facil de entenderlo tambin.

La clase Math de flash contiene mtodos y constantes que representan funciones matemticas.

Cabe resaltar tambien que todas las propiedades y mtodos de la clase Math son estticos y deben llamarse utilizando la siguiente sintxis

Math.mtodo(parmetro);

ahora pasaremos a ver algunos mtodos que utilizaremos en este post

Math.random(); Math.floor(); Math.round();

Math.raondom() Entendamos que Random se interpreta como (Al azar), lo que hace es simplemente devolvernos un valor un nmero n (Al azar)

donde 0 <= n <>

Ejemplo:

//declaramos una variable tipo Number var miNum:Number;

//le damos un valor al Azar a nuestra variable miNum = Math.random() * 10

//trazamos la variable trace(miNum)

//en la ventana de salida tendremos:

2.5688149826601148 (por ejemplo)

De esta forma es como obtenemos un numero al Azar.

Math.floor();

este mtodo tiene como finalidad redondear un numero decimal hacia abajo, su utulizacion es la siguiente

Math.floor(parametros)

si lanzamos Math.floor(miNum) //utilizando la misma variable de arriba

//en la ventana de salida tendremos: 2 (por ejemplo)

Como vern nos arroja un valor de tipo int.

por ultimo :

Math.round();

Al igual que la anterior se utiliza para redondear sin embargo, lo que hace es analizar el valor y hace el redondeo del numero hacia el valor mas cercano ejemplo

Si utilizamos la misma variable miNum la cual equivale a 2.5688149826601148 , y la usamos como parametro para round lo escribimos de la siguiente manera

Math.round(miNum)

//en la ventana de salida tendremos: 3 (por ejemplo)

en breve subiremos una formula para obtener valor al azar dentro de un rango de numeros.

También podría gustarte