RESOLUCIÓN DE TRIÁNGULOS CON JAVASCRIPT (ampliación).

MAPA

Si tienes conocimientos de HTML para crear páginas Web puedes incluir algunas líneas de código que permitan realizar sencillas aplicaciones que se incorporan a la página.

Si a la función definida en la página "Resolución de triángulos con JavaScript"  para hallar los ángulos de un triángulo conociendo los tres lados a,b,c añadimos la condición

                    if (a>b+c || b>a+c || c>a+c) { alert (' Imposible. No hay solución')}  else

 conseguiremos mostrar un mensaje de alerta en el caso de que uno de los lados sea mayor que la suma de los otros dos. Hay un problema al considerar JavaScript las variables como literales en vez de numéricas. Para solventarlo hay que forzar a JavaScript a considerarlas numéricas con la utilidad parseFloat en la asignación inicial de a,b,c.

El código HTML de la página completa quedaría así:

<html>
<head>
<title>
Script para triángulos</title>

<SCRIPT language="JavaScript">
function caso1()
{
a=parseFloat(document.datos.a.value);
b=parseFloat(document.datos.b.value);
c=parseFloat(document.datos.c.value);

 if ((a>b+c) || (b>a+c) || (c>a+c)) { alert (' Imposible. No hay solución \n Un lado mide más que la suma de los otros dos')}  

else
{
document.datos.A.value=Math.acos((b*b+c*c-a*a)/(2*b*c));
document.datos.B.value=Math.acos((a*a+c*c-b*b)/(2*a*c));
document.datos.C.value=Math.acos((a*a+b*b-c*c)/(2*a*b));
}

</script>

</head>

<body>

<form name="datos">
<p>
&nbsp;&nbsp;&nbsp; lado a= <input type="text" name="a" size="5">
      
&nbsp;&nbsp;&nbsp;lado b= <input type="text" name="b" size="5">
      
&nbsp;&nbsp;&nbsp; lado c= <input type="text" name="c" size="5"></p>

<p> ángulo A =<input type="text" name="A" size="5">
      
ángulo B =<input type="text" name="B" size="5">
      
ángulo C =<input type="text" name="C" size="5"></p>

<p><input type="button" value="Calcular" onClick="caso1();">&nbsp;&nbsp;&nbsp;
     <input type="reset" value="Restablecer" ></p>
</form>

</body>

</html>

Introduce (o modifica) el código anterior y comprueba su funcionamiento visualizándolo con tu navegador. Tienes que haberlo guardado en formato HTML (por ejemplo como triangulos1.htm).

Si no has conseguido hacerlo pulsa en este enlace para visualizar el efecto con una página ya hecha.

Compruébala "resolviendo" varios triángulos. 

RESOLUCIÓN DE TRIÁNGULOS . DATOS: 2 LADOS Y EL ÁNGULO QUE FORMAN (a,b,C).

El tercer lado lo podemos obtener a partir del teorema del coseno:

c= sqrt (a²+b²-2ab cos C)     (sqrt significa raíz cuadrada).

En lenguaje JavaScript introducimos:

document.datos.c.value=Math.sqrt((a*a+b*b-2*a*b*Math.cos(C)))

Para obtener los dos ángulos A y B podemos utilizar el teorema del coseno o el teorema del seno. En este caso tendríamos:

A=asin(a sinC/c)    B=asin(b sin C/c)

Pero en este caso el lado c no es un dato, por lo que lo sustituimos por la expresión anterior.

En lenguaje JavaScript introducimos:

document.datos.A.value=Math.asin(a*Math.sin(C)/   Math.sqrt((a*a+b*b-2*a*b*Math.cos(C))))

document.datos.B.value=Math.asin(b*Math.sin(C)/   Math.sqrt((a*a+b*b-2*a*b*Math.cos(C))))

El código completo de la hoja quedaría así:

<html>
<head>
<title>
Script para triángulos</title>

<SCRIPT language="JavaScript">
function caso2()
{
a=document.datos.a.value;
b=document.datos.b.value;
C=document.datos.C.value*Math.PI/180;

document.datos.c.value=Math.sqrt((a*a+b*b-2*a*b*Math.cos(C)));

document.datos.A.value=Math.asin(a*Math.sin(C)/ Math.sqrt((a*a+b*b-2*a*b*Math.cos(C))))*180/Math.PI;

document.datos.B.value=Math.asin(b*Math.sin(C)/ Math.sqrt((a*a+b*b-2*a*b*Math.cos(C))))*180/Math.PI;

}
</script>

</head>

<body>

<form name="datos">
<p>
&nbsp;&nbsp;&nbsp; lado a= <input type="text" name="a" size="5">
      
&nbsp;&nbsp;&nbsp;lado b= <input type="text" name="b" size="5">
      
&nbsp;&nbsp; ángulo C= <input type="text" name="C" size="5"></p>

<p> ángulo A =<input type="text" name="A" size="5">
      
ángulo B =<input type="text" name="B" size="5">
       lado     c =<input type="text" name="c" size="5"></p>

<p><input type="button" value="Calcular" onClick="caso2();">&nbsp;&nbsp;&nbsp;
     <input type="reset" value="Restablecer" ></p>
</form>

</body>

</html>

Se han introducido modificaciones para trabajar con grados sexagesimales en lugar de radianes. Introduce  el código anterior y comprueba su funcionamiento visualizándolo con tu navegador. Tienes que guardarlo en formato HTML (por ejemplo como triangulos2.htm). 

Si no has conseguido hacerlo pulsa en este enlace para visualizar el efecto con una página ya hecha.


¿Qué hacer a continuación?

    Ir a la página inicial de resolución de triángulos con JavaScript

    Crear herramientas en otro entorno: hoja de cálculo EXCEL.

    Crear herramientas en otro entorno: asistente de matemáticas DERIVE.

    Ir a la página inicial de Triángulos.