Javascript: lenguaje interactivo para dinamizar la web.
Y ahora tambien aprende a programar en C++ con Aprende Web C++
y entérate de las novedades o deja un comentario.
última modificación: 13-07-2018.
Visitas este mes: 16
Visitas el mes pasado: 41
Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de este manual.:
Si este sitio te parece interesante puedes contribuir con una pequeña aportación.
En esta página seguimos con los métodos o funciones del objeto
Math
que nos permiten realizar una serie de operaciones
matemáticas complejas.
Llamadas así porque lo que hacen es transformar un número en otro que sea más asequible a la utilidad que le queremos dar. Las transformaciones que le aplicamos a un número son de dos tipos: de buscar su valor absoluto ignorando su signo y de redondearlo.
Veamos cuales son estas funciones:
Math.abs(num): Valor absoluto. Da el valor absoluto de num
ignorando el signo del número y transformándolo siempre en positivo.
Math.ceil(num): Redondeo por exceso. Redondea el num
pasado
como argumento al número entero inmediatamente superior.
Math.floor(num): Redondeo por defecto. Redondea el num
pasado
como argumento al número entero inmediatamente inferior.
Math.round(num): Redondeo al entero más próximo. Redondea el num
pasado
como argumento al número entero más próximo.
Debemos incluir aquí también la función random
, que crea un número aleatorio
que es un número decimal entre 0 y 1. Esta es la función:
Math.ramdom(): Función random: Crea un número aleatorio decimal entre 0 y 1. Dentro del paréntesis no se le pasa ningún parámetro.
Esta función es utilizada sobre todo cuando se quiere dejar algún elemento al azar, así por ejemplo, si multiplicamos el resultado por 100 y luego lo redondeamos, tendremos un número al azar entre 0 y 100:
azar = Math.random()*100; azar = Math.round(azar);
Veamos ahora una página de ejemplo en la que se calculan los valores absoluto y de redondeo de un número dado por el usuario.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>redondeos</title> <style type="text/css"> #caja { border: 1px solid black; float: right; width: 400px;min-height: 150px; } </style> <script type="text/javascript"> function cambios() { num = document.form2.numero.value; //número escrito por el usuario num = Number(num); //pasarlo a objeto numérico texto = document.getElementById("caja"); //texto a mostrar if (isNaN(num)) { //Si lo escrito no es un número: texto.innerHTML = "Lo que has escrito no es un número. Intentalo de nuevo."; } else { //Si se ha escrito un número texto.innerHTML = "Valores aproximados con javascript:<br/>"; absol = Math.abs(num); // calcular valor absoluto exceso = Math.ceil(num); //calcular redondeo por exceso defecto = Math.floor(num); //calcular redondeo por defecto proximo = Math.round(num); //calcular redondeo al más próximo texto.innerHTML += "Valor absoluto: " + absol + "<br/>"; texto.innerHTML += "Redondeo por exceso: " + exceso + "<br/>"; texto.innerHTML += "Redondeo por defecto: " + defecto + "<br/>"; texto.innerHTML += "Redondeo al más próximo: " + proximo + "<br/>"; } } </script> </head> <body> <h1>Redondeo y valor absoluto con javascript.</h1> <div id="caja"> </div> <form action="#" name="form2"> <p><input type="text" name="numero" /> Escribe un número con o sin decimales, positivo o negativo</p> <p><input type="button" onclick="cambios()" value="Ver resultados" /></p> </form> </body> </html>
Puedes ver esta página de ejemplo en el siguiente enlace:
Son funciones que hacen operaciones un poco más complejas que las que hacemos con los operadores, tales como calcular potencias, raíces cuadradas, logaritmos, etc. son las siguientes:
Math.exp(num): Numero e elevado a num
. multiplica el número
e o constante de Euler por sí mismo las veces indicadas en el argumento pasado entre paréntesis:
enum.
Math.log(num): Logaritmo neperiano de num
. Devuelve el logaritmo
neperiano del número pasado como parámetro entre paréntesis.
Math.max(num1,num2): Mayor de dos números. Se le pasan dos números como argumentos dentro del paréntesis, y el resultado es el mayor de ellos.
Math.min(num1,num2): Menor de dos números. Se le pasan dos números como argumentos dentro del paréntesis, y devuelve el menor de ellos.
Math.pow(base,exp) Potenciación: se le pasan como argumento dos números,
base,exp
y eleva el primero de ellos al segundo, es decir el primero se
multiplica por si mismo tantas veces como indica el segundo.
Math.sqrt(num): Raíz cuadrada: Obtiene la raíz cuadrada del numero
num
pasado como argumento.
La siguiente página de ejemplo calcula las operaciones anteriores a partir de los datos introducidos por el usuario:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Funciones de cálculo</title> <style type="text/css"> #caja { border: 1px solid black; float: right; width: 400px;min-height: 150px; } </style> <script type="text/javascript"> function resolver() { num1 = document.calculos.numero1.value; num2 = document.calculos.numero2.value; num1 = Number(num1); num2 = Number(num2); texto = document.getElementById("caja") if (isNaN(num1)||isNaN(num2)) { //lo escrito por el usuario no es un número texto.innerHTML = "Alguno de los datos que has escrito no es un número."; } else { if (document.calculos.elevarE.checked) { // función e elevado a n en = Math.exp(num1); eElevado = "Numero e elevado a " + num1 + " : = " + en + "<br/>"; } else { eElevado ="" } if (document.calculos.lognep.checked) { //función logaritmo nepèriano ln = Math.log(num1); lognep = "Logaritmo neperiano de " + num1 + " : = " + ln + "<br/>"; } else { lognep ="" } if (document.calculos.maximo.checked) { //función número mayor maxi = Math.max(num1,num2); maxim = "Número mayor de los dos: " + maxi + "<br/>"; } else { maxim ="" } if (document.calculos.minimo.checked) { //función número menor mini = Math.min(num1,num2) minim = "Número menor de los dos: " + mini + "<br/>"; } else { minim ="" } if (document.calculos.potencia.checked) { //funcion potenciación pot = Math.pow(num1,num2); potencia = "Número 1º elevado a numero 2º: " + pot + "<br/>"; } else { potencia ="" } if (document.calculos.raiz.checked) { //función raíz cuadrada rcuad = Math.sqrt(num1); raizc = "Raíz cuadrada: " + rcuad + "<br/>"; } else { raizc ="" } texto.innerHTML = eElevado+lognep+maxim+minim+potencia+raizc; } } </script> </head> <body> <h1>Funciones de cálculo con javascript</h1> <div id="caja"> </div> <p>Escribe los números para hacer los cálculos y elige las operaciones. pulsa luego en resolver.</p> <form action="#" name="calculos"> <p><input type="text" name="numero1" /> Escribe el primer número.</p> <p><input type="text" name="numero2" /> Escribe el segundo número.</p> <p><input type="checkbox" name="elevarE" /> Propiedad exp(): Elevar el numero e 1º número.</p> <p><input type="checkbox" name="lognep" /> Propiedad log(): Logaritmo neperiano del 1º número</p> <p><input type="checkbox" name="maximo" /> Propiedad max(): El mayor de los dos números.</p> <p><input type="checkbox" name="minimo" /> Propiedad min(): El menor de los dos números.</p> <p><input type="checkbox" name="potencia" /> Propiedad pow(): Potenciación: numero 1º elevado al 2º.</p> <p><input type="checkbox" name="raiz" /> Propiedad sqrt(): Raiz cuadrada del 1º</p> <p><input type="button" onclick="resolver()" value="resolver" /> </form> </body> </html>
Puedes ver esta página de ejemplo en el siguiente enlace:
En el siguiente tema veremos el control del tiempo y de las fechas en javascript:
Sugerencias:
aprendeweb@aprende-web.net. Envia un
Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog
Más sobre anyelguti en http://anyelguti.16mb.com