Autor Tema: Crear objetos javascript analogía con clases instanciables Ejercicio CU01146E#  (Leído 2775 veces)

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Hola, mi respuesta al ejercicio CU01146E


Respuesta a)

Lo único que encuentro para cambiar a notación punto sería esto:

Código: [Seleccionar]
operaciones[operacion](x, y)
pero no se me ocurre la forma de hacerlo.


Respuestas  b y c:

Código: [Seleccionar]
<!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.

« Última modificación: 13 de Febrero 2016, 17:14 por César Krall »

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Re:¿ARRAYS ASOCIATIVOS JAVASCRIPT? Ejercicio CU01146E.
« Respuesta #1 en: 23 de Octubre 2015, 09:12 »
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:

Código: [Seleccionar]
<!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

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Con tu resolución del ejercicio, ahora si me quedó claro.

Gracias por todo.

Saludos.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".