gratiszona

El Objeto Math javascript

Nos permite trabajar con funciones matematicas.
Concretamente:
Math.log(x) = ln(x)
Math.exp(x) = ex
Math.sqrt(x) = raiz cuadrada de "x"
Math.pow(a, b) = ab
Math.floor(): numero entero mas cercano y menor
Math.ceil(): numero entero mas cercano y mayor
Math.round(): redondea al entero mas proximo.
Math.random(): numero aleatorio entre 0 y 1
Math.round(y-x)*Math.random()+x: numero aleatorio entre "x" e "y".
Math.sin(x)= sin(x) x en radianes
Math.cos(x)= cos(x) x en radianes
Math.tan(x)= tg(x) x en radianes
Math.atan(x)= arctg(x) resultado en radianes
Math.abs(x): valor absoluto de "x"
Math.max(a,b): maximo valor de los dos
Math.min(a,b): minimo valor de los dos.
Programa que calcula la hipotenusa de un triangulo rectangulo
  • Escribe:
<HTML>
<SCRIPT LANGUAGE='JavaScript'>
// PROG025.HTM
var cat1,cat2,hipo;
cat1=prompt('Escribe el valor de un cateto','');
cat2=prompt('Escribe el valor del otro cateto','');
cat1=parseFloat(cat1);
cat2=parseFloat(cat2);
hipo=Math.sqrt(cat1*cat1+cat2*cat2);
alert('La hipotenusa del triangulo de catetos '+cat1+' y '+cat2+' es '+hipo);
</SCRIPT>
</HTML>
  • Graba el fichero con el nombre Prog025.htm en TuCarpeta y ejecutalo unas cuantas veces.
Programa que calcula tantas hipotenusas como queramos
  • Escribe:
<HTML>
<SCRIPT LANGUAGE='JavaScript'>
// PROG026.HTM
var opcion='S';
var cat1,cat2,hipo;
while(opcion=='S' || opcion=='s')
{
cat1=prompt('Escribe el valor de un cateto','');
cat2=prompt('Escribe el valor del otro cateto','');
cat1=parseFloat(cat1);
cat2=parseFloat(cat2);
hipo=Math.sqrt(cat1*cat1+cat2*cat2);
alert('La hipotenusa del triangulo de catetos '+cat1+' y '+cat2+' es '+hipo);
opcion=prompt('¿Quieres calcular otra hipotenusa? (S/N)','');
}
alert('Adios muy buenas');
</SCRIPT>
</HTML>
  • Graba el programa en TuCarpeta con el nombre Prog026.htm y ejecutalo.
Programa que resuelve una ecuacion de segundo grado
  • Escribe:
<HTML>
<SCRIPT LANGUAGE='JavaScript'>
// PROG027.HTM
var a,b,c;
var discri;
var x1,x2;
a=prompt('Escribe el coeficiente de la x^2','');
a=parseFloat(a);
b=prompt('Escribe el coeficiente de la x','');
b=parseFloat(b);
c=prompt('Escribe el termino independiente','');
c=parseFloat(c);
discri=b*b-4*a*c;
if(discri<0) alert('Soluciones Imaginarias');
if(discri==0)
{
x1=-b/(2*a);
alert('Solucion doble que es '+x1);
}
if(discri>0)
{
x1=(-b+Math.sqrt(discri))/(2*a);
x2=(-b-Math.sqrt(discri))/(2*a);
alert('Las soluciones son = '+x1+' y '+x2);
}
</SCRIPT>
</HTML>
  • Graba el programa en TuCarpeta con el nombre Prog027.htm
  • Ejecutalo para los casos:
a= 1, b= 1, c= 1
a= 2, b=-6, c= -20
a= 1, b= 4, c= 4
Programa que construye una tabla de senos
  • Escribe:
<HTML>
<SCRIPT LANGUAGE='JavaScript'>
// PROG028.HTM
var gra,rad;
var salida='';
for(gra=0;gra<=360;gra=gra+10)
{
rad=3.141592*gra/180;
salida=salida+gra+'\t\t'+Math.sin(rad)+'\n';
}
alert(salida);
</SCRIPT>
</HTML>
  • Graba el fichero con el nombre Prog028.htm en TuCarpeta y ejecutalo.
Programa que calcula el logaritmo en base cualquiera de un numero dado
  • Escribe:
<HTML>
<SCRIPT LANGUAGE='JavaScript'>
// PROG029.HTM
var num;
var opc,base;
num=prompt('Escribe un numero positivo','');
num=parseFloat(num);
opc=prompt('1 Logaritmo Neperiano. 2 Logaritmo Decimal. 3 Logaritmo en base a\nEscribe el numero de la opcion','');
opc=parseInt(opc,10);
if(opc==1)
{
alert('El logaritmo Neperiano de '+num+' es '+Math.log(num));
}
if(opc==2)
{
alert('El logaritmo Decimal de '+num+' es '+(Math.log(num)/Math.log(10)));
}
if(opc==3)
{
base=prompt('Introduce el valor de la base a','');
base=parseFloat(base);
alert('El Logaritmo en base '+base+' del numero '+num+' es '+(Math.log(num)/Math.log(base)));
}
</SCRIPT>
</HTML>
  • Graba el fichero anterior con el nombre Prog029.htm en TuCarpeta y ejecutalo varias veces.
Programa que calcula "potencias"
  • Escribe:
<HTML>
<SCRIPT LANGUAGE='JavaScript'>
// PROG029a.HTM
var bas,exp,resul
bas=parseFloat(prompt('base de la potencia?',''));
exp=parseFloat(prompt('escribe el exponente',''));
resul=Math.pow(bas,exp)
alert(bas+' elevado a '+exp+' es igual a '+resul)
</SCRIPT>
</HTML>
  • Graba el programa en TuCarpeta con el nombre Prog029a.htm
  • Utiliza el programa anterior para calcular las siguientes expresiones:
23
0.32 4.5291
raiz cuadrada de 2
raiz cubica de 5.01527
Programa que calcula la raiz enesima de un numero
  • Escribe:
<HTML>
<SCRIPT LANGUAGE='JavaScript'>
// PROG029b.HTM
var ind,rad,resul
ind=parseFloat(prompt('indice de la raiz?',''));
rad=parseFloat(prompt('escribe el radicando',''));
resul=Math.pow(rad,1/ind)
alert('La raiz '+ind+' de '+rad+' es igual a '+resul)
</SCRIPT>
</HTML>
  • Graba el programa en TuCarpeta con el nombre Prog029b.htm
  • Utiliza el programa anterior para calcular las siguientes expresiones:
raiz 5-esima de 32
raiz 7-esima de 4.7201
raiz 0.5-esima de 2
Programa que calcula el numero "e"
Recuerda que "e" es el limite de la expresion: (1+1/n)n, cuando n tiende a infinito.
  • Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE='JavaScript'>
// PROG029c.HTM
var cad;
var salida='';
for(i=1;i<=5;i=i+1)
{
cad='n= '+i+'\t\te= '+Math.pow(1+1/i,i)+'\n';
salida=salida+cad;
}
for(i=100;i<=50000000000;i=i*10)
{
cad='n= '+i+'\t\te= '+Math.pow(1+1/i,i)+'\n';
salida=salida+cad;
}
salida=salida+'Verdadero valor de e ='+Math.E
alert(salida);
</SCRIPT>
</HTML>
  • Grabalo en TuCarpeta con el nombre Prog029c.htm y ejecutalo.
  • Observa que Math.E nos da el numero "e" con la maxima precision que admite el JavaScript.
Numeros Aleatorios
  • Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE='JavaScript'>
// PROG029d.HTM
var a;
var x,y;
var salida='';
salida=salida+'5 numeros aleatorios entre 0 y 1\n';
for(i=1;i<=5;i++)
{
salida=salida+Math.random()+'\n';
}
salida=salida+'\n\n5 numeros aleatorios entre 3 y 7\n';
for(i=1;i<=5;i++)
{
salida=salida+(Math.round(7-3)*Math.random()+3)+'\n';
}
salida=salida+'\n\n5 numeros aleatorios entre 15 y 70\n';
for(i=1;i<=5;i++)
{
salida=salida+(Math.round(70-15)*Math.random()+15)+'\n';
}
alert(salida);
alert('Vamos a ver 5 numeros aleatorios entre los dos\nque tu quieras');
x=parseFloat(prompt('Escribe el numero menor (puede ser decimal)',''));
y=parseFloat(prompt('Escribe el numero mayor (puede ser decimal)',''));
salida='';
salida=salida +'5 numeros aleatorios entre '+x+' y '+y+'\n\n\n';
for(i=1;i<=5;i++)
{
a=Math.round(y-x)*Math.random()+x;
salida=salida+a+'\n';
}
alert(salida);
/* Si quieres numeros aleatorios enteros basta
cambiar los parentesis de la siguiente forma:
Math.round((y-x)*Math.random()+x) */
salida='';
salida=salida+'150 numeros enteros aleatorios entre 2 y 17\n';
for(i=1;i<=150;i++)
{
salida=salida+Math.round((17-2)*Math.random()+2)+' - ';
}
alert(salida);
</SCRIPT>
</HTML>
  • Grabalo en TuCarpeta con el nombre Prog029d.htm y ejecutalo.
Adivinanzas
Vamos a hacer un programa que nos pregunte un numero entero del 1 al 10 y el usuario del programa tiene 5 tentativas para adivinarlo.
  • Escribe:
<HTML>
<SCRIPT LANGUAGE='JavaScript'>
// PROG029e.HTM
var x,num;
var i=0;
var control=0;
x=Math.round(9*Math.random()+1);
while(i<5)
{
i++;
num=parseInt(prompt('Escribe un entero entre 1 y 10, intento '+i,''));
if(num==x)
{
alert('Lo has acertado en '+i+' tentativas');
i=5;
control=1;
}
}
if(control==0)
{
alert('Lo siento pero se han acabado tus 'vidas', el numero era '+x);
}
</SCRIPT>
</HTML>
  • Grabalo en TuCarpeta con el nombre Prog029e.htm y ejecutalo varias veces.
  • Observa la utilidad de las variables control y i. Proximamente veremos una forma mas elegante de salir de una estructura while (o for).
Anterior: calculo iterativo
Siguiente: variables auxiliares

Tal vez te interese sobre javascript: