Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: cristiannd en 12 de Mayo 2020, 16:57
-
Solución propuesta para el tutorial de programación web con JavaScript y editor Notepad++ ejercicio CU01147E.
Define un tipo de objeto Cometa cuyas propiedades de instancia (específicas de cada objeto) sean diametro, temperatura y nombre. La temperatura será un valor numérico que suponemos está en grados centígrados. Como propiedad común a todos los objetos de tipo cometa define definicionSegunDiccionario (que debe contener la definición de cometa según el diccionario) y como métodos comunes obtenerRadio (que debe devolver el radio) y obtenerTemperaturaFarenheit (que debe devolver el valor de temperatura expresado en grados Farenheit). Crea tres objetos de tipo cometa y comprueba que puedes acceder tanto a las propiedades específicas como a las propiedades comunes y métodos comunes desde cada objeto.
Paso a explicar mi solución:
- En primer lugar hice un constructor con las propiedades de nombre, diametro y temperatura con los valores obtenidos a través de los parametros.
- Luego creé una propiedad (definicionSegunDiccionario) y dos métodos (obtenerRadio y obtenerTemperaturaFarenheit) comunes a todos los objetos Cometa.
- Por último una función ejemeploCometa donde tiene un array con los cometas creados y una serie de alert que irán apareciendo con el cometa respectivo al valor "i" pasado en la función ejemploCometa según el boton que apretemos.
Espero que se entienda el razonamiento...
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Ejercicio CU01147E</title>
<script>
function Cometa(nombre, diametro, temperatura){
this.nombre = nombre;
this.diametro = diametro;
this.temperaturaCelsius = temperatura;
}
Cometa.prototype = {
definicionSegunDiccionario: 'Cuerpo celeste del sistema solar de pequeñas dimensiones que, cuando se acerca al Sol, deja tras de sí una cola luminosa de miles de kilómetros.',
obtenerRadio: function(){
var radio = (this.diametro/2);
return radio;
},
obtenerTemperaturaFarenheit: function(){
var temperturaFarenheit = (this.temperaturaCelsius * 1.8) + 32;
return temperturaFarenheit;
}
};
function ejemploCometa(i){
var cometa = [];
cometa[0] = new Cometa('Halley', 1000, 50);
cometa[1] = new Cometa('Swan', 550, 100);
cometa[2] = new Cometa('Atlas', 330, 155);
alert('La definición de cometa es: ' + cometa[i].definicionSegunDiccionario);
alert('El cometa ' + cometa[i].nombre + ', tiene un diametro de ' + cometa[i].diametro + ' metros y una temperatura de ' + cometa[i].temperaturaCelsius + '°C.');
alert('El radio es de ' + cometa[i].obtenerRadio() + ' y la temperatura en Farenheit es de ' + cometa[i].obtenerTemperaturaFarenheit());
};
</script>
</head>
<body>
<input type="button" value="Cometa Halley" onclick="ejemploCometa(0)">
<input type="button" value="Cometa Swan" onclick="ejemploCometa(1)">
<input type="button" value="Cometa Atlas" onclick="ejemploCometa(2)">
</body>
</html>
-
Buenas, el ejercicio está bien resuelto, el código bien estructurado y la explicación muy clara. Buen código. Salu2