Resumen: Entrega nº65 del curso "Tutorial básico del programador web: JavaScript desde cero".
Codificación aprenderaprogramar.com: CU01165E

 

 

MATH JAVASCRIPT

JavaScript nos provee de un objeto predefinido con propiedades y métodos útiles de cara a realizar operaciones matemáticas: el objeto Math. Gracias a este objeto podemos acceder a constantes de uso habitual como el número pi, o realizar cálculos trigonométricos, redondeos, logaritmos, potencias, etc.

logo javascript

 

La precisión de los resultados obtenidos con el objeto Math puede diferir según las características y configuración local del computador donde se ejecuten los scripts.

 

 

PROPIEDADES DEL OBJETO MATH

Las propiedades del objeto Math portan constantes que pueden ser útiles para cálculos matemáticos.

Propiedad (constante matemática)

Significado aprenderaprogramar.com

Math.E

Constante de Euler, base de los logaritmos neperianos, aproximadamente 2.718

Math.LN2

Valor de logaritmo neperiano de 2, aproximadamente 0.693

Math.LN10:

Valor de logaritmo neperiano de 10, aproximadamente 2.303.

Math.LOG2E:

Logaritmo en base 2 de la constante de Euler, aproximadamente 1.443

Math.LOG10E

Logaritmo en base 10 de la constante de Euler, aproximadamente 0.434

Math.PI

Número pi, aproximadamente 3.14159

Math.SQRT1_2

Raíz cuadrada de 1/2, aproximadamente 0.707

Math.SQRT2

Raíz cuadrada de 2, aproximadamente 1.414

 

 

MÉTODOS GENERALES DEL OBJETO MATH

Los métodos del objeto Math son útiles para diversos cálculos matemáticos.

SINTAXIS MÉTODO

UTILIDAD

EJEMPLOS aprenderaprogramar.com

Math.abs(x)

Devuelve el valor absoluto de x

'Valor absoluto de -2 es ' +Math.abs(-2);

// 2

Math.ceil(x)

Devuelve el entero más próximo mayor o igual al valor de x (redondeo hacia arriba)

Math.ceil(3.33) // 4

Math.ceil(-3.33) // -3

Math.floor(x)

Devuelve el entero más próximo menor o igual al valor de x (redondeo hacia abajo)

Math.floor(3.33) // 3

Math.floor(-3.33)) // -4

Math.exp(x)

Devuelve e elevado a x, donde e es la constante de Euler (2.718…)

Math.exp(1)

//2.718281828459045

Math.log(x)

Devuelve el logaritmo neperiano (con base e) de x

Math.log(Math.E)

// 1

Math.max(num1, num2, …, numN)

Devuelve el máximo valor entre una serie de n números

Math.max(-15, 20)

// 20

Math.min(num1, num2, …, numN)

Devuelve el mínimo valor entre una serie de n números

Math.min(-15, 20)

// -15

Math.max.apply(null, nombreArray)

Construcción que permite obtener el máximo valor dentro de un array

Math.max.apply(null, [3, 44, 2])

//44

Math.min.apply(null, nombreArray)

Construcción que permite obtener el mínimo valor dentro de un array

Math.min.apply(null, [3, 44, 2])

//2

Math.pow(x,y)

Devuelve el resultado de elevar el número x al exponente y

Math.pow(2,4)

// 16

Math.random()

Devuelve un número pseudo aleatorio comprendido entre 0 (incluido) y 1 (excluido).

alert('Aleatorio entre 1 y 10: ' +Math.floor((Math.random() * (11 - 1)) + 1));

// Devuelve un entero entre 1 y 10

Math.round(x)

Devuelve el entero más próximo a x. Si se trata de número cuya parte decimal es .5 (equidistante), se redondea al entero superior.

Math.round(3.33)

// 3

Math.sqrt(x)

Devuelve la raíz cuadrada (valor positivo) de x

Math.sqrt(36)

// 6

 

 

A Math.max y Math.min no se le puede pasar directamente un array tratando de obtener el máximo o mínimo valor dentro del array, porque la función espera un número o serie de números, y no un objeto array.

 

 

MÉTODOS TRIGONOMÉTRICOS DEL OBJETO MATH

Las funciones trigonométricas (sin, cos, tan, asin, acos, atan, atan2) operan en radianes. Pi radianes son  180 grados sexagesimales. Para obtener los grados sexagesimales que son numRad radianes usamos una regla de tres: Math.Pi/180 = numRad / numGrad. numGrad = numRad * (180/ Math.PI ).

Para obtener los radianes que son numGrad grados sexagesimales usamos: Math.Pi/180 = numRad / numGrad y obtenemos numRad = numGrad * (Math.Pi/180)

Como mostramos en los ejemplos, se pueden producir errores de precisión (obtener un decimal próximo a cero en lugar de cero, u obtener un número muy grande en lugar de indeterminación por infinito).

SINTAXIS MÉTODO

UTILIDAD

EJEMPLOS aprenderaprogramar.com

Math.sin(x)

Devuelve el seno de x (donde x está expresado en radianes)

alert('Seno de Pi es ' +Math.sin(Math.PI));

// Seno de Pi es 1.2246467991473532e-16 *

* Error de precisión, resultado real debe ser 0

Math.cos(x)

Devuelve el coseno de x (donde x está expresado en radianes)

alert ('Coseno de Pi es ' +Math.cos(Math.PI));

// Coseno de Pi es -1

Math.tan(x)

Devuelve la tangente de x (donde x está expresado en radianes)

alert('Tangente de 90 o Pi es ' +Math.tan(Math.PI/2));

// Tangente de 90 o Pi es 16331239353195370 *

* Error de precisión, resultado real debe ser infinito

Math.asin(x)

Devuelve el arcoseno de x (donde x está expresado en radianes)

alert('Arcoseno de 1 es (90 grados o pi/2) ' +Math.asin(1));

//Arcoseno de 1 es 1.5707963267948966

Math.acos(x)

Devuelve el arcocoseno de x (donde x está expresado en radianes)

alert('Arcocoseno de -1 es ' +Math.acos(-1));

// Arcocoseno de -1 es 3.141592653589793

Math.atan(x)

Devuelve la arcotangente de x (donde x está expresado en radianes)

alert('Arcotangente de 90 es ' +Math.atan(Infinity));

// Arcotangente de 90 es 1.5707963267948966 (este valor son pi/2)

Math.atan2(x, y)

Devuelve la arcotangente del cociente entre x e y (donde el cociente representa un valor en radianes)

alert('Arcotangente de 9/3 es' +Math.atan2(9, 3));

// Arcotangente de 9/3 es 1.2587542052323633

 

 

EJERCICIO 1

Crea un script que genere un número aleatorio entre 1 y 100. A continuación debe pedir al usuario que adivine el número. Si el usuario responde un número menor al número aleatorio, debe mostrarse un mensaje “El número es mayor. Inténtelo de nuevo” y dar opción a responder de nuevo. Si el usuario responde un número mayor debe mostrarse un mensaje “El número es menor. Inténtelo de nuevo”. Si el usuario acierta debe mostrarse “Enhorabuena. Ha acertado”. El programa debe terminar si el usuario acierta o si se superan los 30 intentos sin acertar. En caso de superarse los 30 intentos debe mostrarse el mensaje “Ha superado 30 intentos. El programa termina”.

Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com.

 

 

EJERCICIO 2

Crea un script que pida al usuario el dato de radio en metros de la base de un cilindro y el dato de altura del cilindro. Utilizando la propiedad Math.PI debe realizarse el cálculo para determinar el área de la base del cilindro y el volumen del cilindro y mostrar estos resultados. Consulta en internet si no recuerdas las fórmulas a aplicar. .

Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com.

 

 

EJERCICIO 3

Crea un script que dé lugar a lo siguiente:

a) En un div con id="volador” debes tener una palabra como <<JavaScript>>.

b) Utilizando las funciones trigonométricas, las propiedades de posicionamiento CSS y funciones para control de animaciones/tiempo debes dar lugar a que dicha palabra se desplace desde la izquierda hasta la derecha de la pantalla siguiendo un movimiento sinusoidal (es decir, subiendo y bajando suavemente describiendo ondas).

Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com.

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

Descargar archivo: