Novato con JavaScript

Estoy estudiando por mi cuenta por la red, la página donde recibo el curso es:
http://www.javascriptya.com.ar/ y estoy en el capítulo 15, estructuras repetitivas utilizando for(), la duda es la siguiente:
Confeccionar un programa que lea 3 pares de datos, cada par de datos
Corresponde a la medida de la base y la altura de un triángulo. El
Programa deberá informar:
a) De cada triángulo la medida de su base, su altura y su superficie.
b) La cantidad de triángulos cuya superficie es mayor a 12.
Yo lo hice de la siguiente manera:
<script language="javascript1.x" type="text/javascript">
<!--
var alturaTrianguloUno;
var baseTrianguloUno;
var superficieTrianguloUno;
var alturaTrianguloDos;
var baseTrianguloDos;
var superficieTrianguloDos;
var alturaTrianguloTres;
var baseTrianguloTres;
var superficieTrianguloTres;
var triangulosMayores = 0;
alert('Escriba los datos para el triangulo Uno');
alturaTrianguloUno       = parseInt(prompt('Ingrese la altura del triangulo uno',''));
baseTrianguloUno         = parseInt(prompt('Ingrese la base del triangulo uno',''));
superficieTrianguloUno  = (baseTrianguloUno * (alturaTrianguloUno / 2));
if(superficieTrianguloUno > 12){
    triangulosMayores = (triangulosMayores + 1);
}
alert('Escriba los datos para el triangulo Dos','');
alturaTrianguloDos        = parseInt(prompt('Ingrese la altura del triangulo dos',''));
baseTrianguloDos         = parseInt(prompt('Ingrese la base del triangulo dos',''));
superficieTrianguloDos  = (baseTrianguloDos * (alturaTrianguloDos / 2));
if(superficieTrianguloDos > 12){
    triangulosMayores = (triangulosMayores + 1);
}
alert('Escriba los datos para el triangulo tres');
alturaTrianguloTres      = parseInt(prompt('Ingrese la altura del triangulo tres',''));
baseTrianguloTres        = parseInt(prompt('Ingrese la base del triangulo tres',''));
superficieTrianguloTres = (baseTrianguloTres * (alturaTrianguloTres / 2));
if(superficieTrianguloTres > 12){
    triangulosMayores = (triangulosMayores + 1);
}
document.write('Las medidas del Triangulo Uno son: ');
document.write('La altura es de '+alturaTrianguloUno+', ');
document.write('La base es de '+baseTrianguloUno+', ');
document.write('La superficie del triangulo es de '+superficieTrianguloUno);
document.write('<br>');
document.write('Las medidas del Triangulo Dos son: ');
document.write('La altura es de '+alturaTrianguloDos+', ');
document.write('La base es de '+baseTrianguloDos+', ');
document.write('La superficie del triangulo es de '+superficieTrianguloDos);
document.write('<br>');
document.write('Las medidas del Triangulo Tres son: ');
document.write('La altura es de '+alturaTrianguloTres+', ');
document.write('La base es de '+baseTrianguloTres+', ');
document.write('La superficie del triangulo es de '+superficieTrianguloTres);
document.write('<br>');
document.write('<br>');
document.write('Hay '+triangulosMayores+' con una superficie mayor a 12 unidades');
document.write('<br>');
//-->
</script>
Pero no se, como decirlo, meterlo en la estructura for().
De antemano muchas gracias, veras llevo tres días buscando por la red y no encuentro ejemplos con este tipo de estructura.

1 respuesta

Respuesta
1
Para hacer este tipo de cosas, basadas en la colección de varios objetos similares, deberías usar la estructura de datos Array.
Quizás lo óptimo sería usar un array de arrays, pero si estás empezando creo que será más claro para ti usar 3 arrays separados: uno para la altura, otro para la base y otro para la superficie, así:
var altura = new Array
var base = new Array
var superficie = new Array
// Así, en lugar de alturaTrianguloUno tendrás altura[1]
// Y por eso mismo puedes aplicar bucles for en todo tu código que quedará mucho más compacto. Por ejemplo:
for (i = 1; i<=3; i++) {
alert('Escriba los datos para el triangulo ' + i);
altura = parseInt(prompt('Ingrese la altura del triangulo ' + i,''));
base = parseInt(prompt('Ingrese la base del triangulo ' + i,''));
superficie = (base * (altura / 2));
if(superficie > 12){
triangulosMayores = (triangulosMayores + 1);
}
}

Como ves, además, podemos cambiar el programa para que en lugar de pedir 3 triángulos, pida 8 ó 10 cambiando sólo el límite del bucle for.
Aplica este sistema al resto del código y lo tendrás resuelto.
Muchas gracias David, que cosa, y yo ahogándome en un vaso de agua, que sencillez de código, solo te deseo éxitos en tus labores, Dios te bendiga.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas