La función debe validar que la longitud de los 3 lados del triángulo corresponden a un triángulo isósceles.
functionalturaTrianguloIsosceles(ladoA, ladoB, ladoBase){if(ladoA != ladoB){console.error("Los lados a y b no son iguales");}else{// ...}}
La función debe retornar la altura del triángulo.
Para calcular la altura de un triángulo isósceles vamos a dividir nuestro triángulo en dos. Así tendremos dos triángulos iguales, uno de sus nuevos lados tendrá la misma longitud que la altura del triángulo original y calculando la longitud de este lado habremos calculado también la altura.
En total vamos a resultar con 3 triángulos, pero como los dos triángulo chiquitos son exactamente iguales, es suficiente si trabajamos con solo 2 triángulos (trianguloGrande y trianguloPequeno).
Creemos estos dos triángulos en JavaScript:
functionalturaTrianguloIsosceles(trianguloGrandeLadoA, trianguloGrandeLadoB, trianguloGrandeLadoBase){if(trianguloGrandeLadoA != trianguloGrandeLadoB){console.error("Los lados a y b no son iguales");}else{let trianguloPequenoLadoA;// PENDIENTEconst trianguloPequenoLadoB = trianguloGrandeLadoBase /2;const trianguloPequenoLadoBase = trianguloGrandeLadoA;// ...const trianguloGrandeAltura = trianguloPequenoLadoA;return trianguloGrandeAltura;}}
¡Muy bien! Ahora solo debemos seguir la fórmula para hallar la longitud de un lado del triángulo a partir de dos de sus lados (esto en el mundo de las matemáticas es lo que conocemos como teorema de Pitágoras): aˆ2 + bˆ2 = cˆ2.
Pero la fórmula aún no es exactamente lo que necesitamos. No necesitamos encontrar ladoBase a partir de ladoA y ladoB, sino encontrar ladoA a partir de ladoBase y ladoB.
Para esto debemos "despejar" ladoA, es decir, "mover de lado" cualquier número o variable que esté modificando a ladoA en la fórmula.
Recuerda que lo que en un lado estaba sumando, pasa al otro restando; lo que estaba a un lado restando, pasa al otro sumando; lo que estaba a un lado multiplicando, pasa al otro dividiendo; lo que a un lado estaba dividiendo, pasa al otro multiplicando; lo que estaba a un lado elevando; pasa al otro radicando, y lo que estaba a un lado radicando, pasa al otro lado elevando.
¡Muy bien! ¡Ya casi terminamos!
Ahora solo nos falta traducir esta fórmula a JavaScript (recuerda la pista que te di, podemos calcular las raíces cuadradas con la función Math.sqrt de JavaScript):
functionalturaTrianguloIsosceles(trianguloGrandeLadoA, trianguloGrandeLadoB, trianguloGrandeLadoBase){if(trianguloGrandeLadoA != trianguloGrandeLadoB){console.error("Los lados a y b no son iguales");}else{const trianguloPequenoLadoB = trianguloGrandeLadoBase /2;const trianguloPequenoLadoBase = trianguloGrandeLadoA;const trianguloPequenoLadoBCuadrado = trianguloPequenoLadoB * trianguloPequenoLadoB;const trianguloPequenoLadoBaseCuadrado = trianguloPequenoLadoBase * trianguloPequenoLadoBase;const trianguloPequenoLadoA =Math.sqrt(trianguloPequenoLadoBaseCuadrado - trianguloPequenoLadoBCuadrado);const trianguloGrandeAltura = trianguloPequenoLadoA;return trianguloGrandeAltura;}}
__
¡Si llegaste hasta aquí sin hacer trampa, te felicito! Te graduaste casi oficialmente de este primer taller. Ahora tienes mi bendición para pasar a la siguiente clase y empezar el segundo taller.