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: pedro,, en 20 de Octubre 2015, 22:56
-
Hola, mi respuesta al ejercicio CU01146E
Respuesta a)
Lo único que encuentro para cambiar a notación punto sería esto:
operaciones[operacion](x, y)
pero no se me ocurre la forma de hacerlo.
Respuestas b y c:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<style>
#pulsador {padding:15px; width: auto; display: inline-block; margin: 25px; cursor: pointer; color: yellow; border-radius: 40px; background: purple;}
</style>
<script type="text/javascript">
function plus(x, y){
return x + y;
}
function minus(x, y){
return x - y;
}
function multiplicacion(x, y){
return x * y;
}
function division(x, y){
return x / y;
}
function calcular(x,y){
var operaciones = {'+':plus(x,y), '-':minus(x,y), '*':multiplicacion(x,y), '/':division(x,y)};
for(nombrePropiedad in operaciones){
alert(x + ' ' + nombrePropiedad + ' ' + y + ' = ' + operaciones[nombrePropiedad]);
}
}
function operacionMatematica(){
var x = prompt('Introduce primer número: ');
var y = prompt('Introduce segundo número: ');
calcular(Number(x), Number(y));
}
</script>
</head>
<body>
<div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2></div>
<div id ="pulsador" onclick="operacionMatematica()"> Probar </div>
</body>
</html>
Decir que no me quedó claro lo que pedía el punto b, así que no estoy seguro de que mi respuesta sea correcta.
Saludos.
-
Hola Pedro
Para el punto a) hay una respuesta aclaratoria en www.aprenderaprogramar.com/foros/index.php?topic=3167 creo que ahí queda explicado este punto
Para b) con la definición del objeto operaciones que has dado no acabo de ver que sea instanciable, parece que usaras lo que en el curso se indica como definición y creación simultánea de un objeto e indica "con esta sintaxis no se pueden crear objetos adicionales del tipo definido" (no se puede instanciar).
He modificado el código para que quede instanciable:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<style>
#pulsador {padding:15px; width: auto; display: inline-block; margin: 25px; cursor: pointer; color: yellow; border-radius: 40px; background: purple;}
</style>
<script type="text/javascript">
function plus(x, y){
return x + y;
}
function minus(x, y){
return x - y;
}
function multiplicacion(x, y){
return x * y;
}
function division(x, y){
return x / y;
}
function operaciones (x, y){
this.sumado=plus(x,y);
this.restado=minus(x,y);
this.multiplicado_por=multiplicacion(x,y);
this.dividido_por = division(x,y);
}
function calcular(x,y){
var objOperaciones = new operaciones(x, y);
for(nombrePropiedad in objOperaciones){
alert(x + ' ' + nombrePropiedad + ' ' + y + ' = ' + objOperaciones[nombrePropiedad]);
}
}
function operacionMatematica(){
var x = prompt('Introduce primer número: ');
var y = prompt('Introduce segundo número: ');
calcular(Number(x), Number(y));
var otrox = 6;
var otroy = 2;
calcular(otrox, otroy);
}
</script>
</head>
<body>
<div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2></div>
<div id ="pulsador" onclick="operacionMatematica()"> Probar </div>
</body>
</html>
Saludos
-
Con tu resolución del ejercicio, ahora si me quedó claro.
Gracias por todo.
Saludos.