You are on page 1of 28

Clase Math

Docente: Ing. Orlando Barcia Ayala


www.orlandobarcia.com
@orlandobarcia
www.youtube.com/c/orlandobarciaweb
Barcia, O. (2016). Programacin aplicada a la Ingeniera. Ecuador

Contenido
Math
Mtodos a utilizar

Ejercicios

Clase Math

Clase Math
Proporciona mtodos que permiten realizar clculos
matemticos.
Ejemplos:

x2
sen(2 x)

( x 5)

( x z )

Cmo se realizar
esto en Java ?

Algunos mtodos de la clase Math


abs( x)
exp(x)
log (x)
pow(x,y)
sqrt(x)
max(x, y)
min(x,y)

sin(x)
cos(x)
tan(x)

ceil(x)
floor(x)

acos(x)
asin(x)
atan(x)

random()
round()

Llamada a mtodos de Math


punto

Math nombremetodo ( argumento )


Mayscula
apertura

Ejemplos
Math.sqrt(9);
Math.max(4,6);
2 argumentos

cierre

abs(x)
Valor absoluto de x
|X|

Ej.
abs(23.7) resultado 23.7
abs(-3.2) resultado 3.2
abs(0) resultado 0

x , x>=0
-x, x<0

exp(x)

Clculo exponencial

log(x)
Logaritmo natural de x (base e) ln(x)

pow(x,y)
x elevado a y

sqrt(x)
Raiz cuadrada de x

max(x,y)
Mayor de x y y
Ej.
max(2,4) es 4
Max(6,2) es 6

min(x,y)
Menor de x y y
Ej
Min(8,3) es 3
Min(4,9) es 4

sin(x) , seno de x
cos(x) , coseno de x
tan (x), tangente de x
Funciones inversas
asin(y) , arco seno de y
acos(y) , arco coseno de y
atan(y) , arco tangente de y

X se expresa en radianes

ceil(x)
Mtodo cielo. Entero mas pequeo mayor que x
Ej.
ceil(9.2) es 10.0
ceil(-9.8) es -9.0

floor(x)
Mtodo piso. Entero mas grande menor que x
Ej
Floor(9.2) es 9.0
Floor (-9.8) es -10.0

Constantes
Se puede utilizar en vez de los nmeros, NO se puede modificar su valor

E
2.718281
Math.E Igual a Math.exp(1);

PI
3.14159
Math.PI

Ejercicio 1
Calcule

x2

, donde x=7. Muestre el resultado

double x,resultado;
x=7;
resultado=Math.sqrt(x+2);
System.out.println(valor es +resultado);

Ejercicio 2
Calcule sen(3 x ) , donde el ngulo sea de 90.
Muestre el resultado

double x,resultado;
x=90*PI/180; //conversin a radianes /2
resultado=Math.sin(3*x);
System.out.println(valor es +resultado);

Ejercicio 3

Calcule
, donde x sea 2.89, y sea 3.5.
x5
Muestre el resultado

double x,resultado;
x=2.89;
resultado=Math.pow(x+5, 3.5 );
System.out.println(valor es +resultado);

Ejercicio 4
e

( x z )

Calcule
, donde x sea 5.9, z sea 2.4.
Muestre el resultado

double x, z, resultado;
x=2.89;
z= 2.4;
resultado=Math.exp(x+z );
System.out.println(valor es +resultado);

Ejercicio 5
xw

y2

Calcule
, donde x sea 3.0, w sea 1.2,
y sea 5. Muestre el resultado

double x, w, resultado;
x=3;
w= 1.2;
resultado=Math.pow( x+w, (5+2)/3 );
System.out.println(valor es +resultado);

Ejercicio 5
log( x ) x 3

Calcule
el resultado

, donde x sea 7.3. Muestre

double x, resultado;
x=7.3;
resultado=Math.log(x)+Math.sqrt(x*x*x);
resultado=Math.log(x)+Math.sqrt( Math.pow(x,3) );
resultado=Math.log(x)+Math.pow( x, 3/2 );
System.out.println(valor es +resultado);

Ejercicio 6
Calcular la altura h
double r = 50,h,conv;
r = 50.0 metros

conv= 30*Math.PI/180;

30

h= r* Math.sin(conv);
System.out.println(valor es+h);

Ejercicio 7
Realizar un array en java, que guarde los
resultados de los 6 ejercicios anteriores.
Qu cambios hay que efectuar?
1. crear un array de 6 elementos, tipo double.
double r = new double[6];
2. reemplazar la variable resultado por los
elementos del array
Resultado ejerc 1
Resultado ejerc 2

r[0]= valor
r[1]= valor

Resultado ejerc 6

r[5]= valor

Mtodo random( )
Math.random( )
Genera entre [0 y 1)
Ejm:
0.1
0.02
0.5
0.005
0.999

NUNCA GENERA
EL

Simular un dado

Generemos entre 1 y 6 (se omite el Math por fines explicativos)


Antecedentes
random( )* 6
genera entre 0 y 5.999

floor( random( )*6 ) genera entre 0 y 5


Por lo tanto:
floor( random( )*6 +1)
entre 0 y 5.999

Sumo 1 entre 1 y 6.999


floor ( ), entre 1 y 6

Generar un nmero entre a y b ambos incluidos


[a , b]
floor( random() * (b-a+1) + a )
Ejm: entre a=1 y b= 6
floor( random() * (6-1+1) + 1 )
Ejm: entre a=15 y b= 30
floor( random() * (30-15+1) + 15 )

Uso de Math.round( )
Retorna un entero o entero largo.
Aproxima al primer entero si el inmediato
decimal es igual o mayor a 5.
Si se desea aproximar por decimales hay que
aplicar operaciones de multiplicar y dividir

Round( )

5.49567, r= 5
5.1, r= 5
5.5, r= 6
5.49999, r = 5

Uso de Math.rint
Retorna un double.
Aproxima al primer entero si el inmediato
decimal es igual o mayor a 5 siempre y cuando
haya mas dgitos despus de el.
Si se desea aproximar por decimales hay que
aplicar operaciones de multiplicar y dividir

Diferencias
numero

round

rint

54.1
54.2
54.4

54

54.49

54

54.0

54.5

55

54.0

54.5XXXXXX

55

55.0

54.6
54.69
54.99

55

55.0

Bibliografa
Cevallos, J. (2011). Curso de Programacin. Mxico: Alfaomega.
Deitel, P., & Deitel, H. (2012). Cmo programar en Java. Mxico: Pearson.