Autor Tema: javascript desde cero ejercicio cambiar notación array por tipo punto CU01146E  (Leído 488 veces)

paramonso

  • Intermedio
  • ***
  • Mensajes: 241
  • El ignorante afirma, el sabio duda y reflexiona.
    • Ver Perfil
Hola. Dejo la solucion al ejercicio EJERCICIO CU01146E del tutorial de programador web con JavaScript partiendo de cero.

EJERCICIO CU01146E

a) Reemplaza toda la notación basada en sintaxis tipo array para el acceso a propiedades por sintaxis basada en notación de punto. Ejecuta el código y comprueba su funcionamiento.

Después de un cierto tiempo dándole vueltas he mirado en el foro las soluciones para este apartado y por lo visto como dice en el temario no se puede acceder a la propiedad
con la sintaxis operaciones.operacion.

El que mas se acerca a una posible solución es Dimitar Stefanov
https://www.aprenderaprogramar.com/foros/index.php?topic=3952.msg16724#msg16724

Puede acceder a la propiedad cambiando el signo + por mas, pero la función deja de
trabajar como tal aunque se ejecute el codigo y haga lo que le pedimos ya que una función sirve para se ejecute el codigo una vez introducidos los valores que pide la función ya sean mediante variables, teclado, ficheros, etc. sin tener que modificar el codigo.

En este caso se tendria que cambiar el codigo de la operacion por otra ya que no puede interaccionar dinámicamente y cada vez que necesitemos cambiar de operación hay que cambiar el código dentro la función.


Código: [Seleccionar]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<head>
<title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">

<script type="text/javascript">
/* *********************************************************************
   ************************** EJERCICIO **********************************
   ******************************************************************* */
msg="";
function mas(x, y){
return x + y;
}
function menos(x, y){
return x - y;
}
function multiplica(x, y){
return x * y;
}
function divide(x, y){
return x / y;
}
//(b
function operaciones (x, y){
this.suma=mas(x,y);
this.resta=menos(x,y);
//(c
this.multi=multiplica(x,y);
this.divi= divide(x,y);
}

function calcular(x,y){
var objOperaciones = new operaciones(x, y);//(d
    for(nombrePropiedad in objOperaciones){

msg=msg+x + ' ' + nombrePropiedad + ' ' + y + ' = ' + objOperaciones[nombrePropiedad]+"<br/>";
}
document.all.pizarra.innerHTML=msg;

}
function operacionMatematica(){

var x = prompt('Introduce primer número: ');
var y = prompt('Introduce segundo número: ');
calcular(Number(x), Number(y));

}

/* ****************************************************************    
    ************************** FIN DEL EJERCICIO**********************
    *************************************************************** */
</script>

<style type="text/css">
body{background-color:green;}
  h1,h2{
text-align:center;
margin-left:0;
padding:0;
color:white;
width:300;
height:200;
}

.boton {
border:outset white  2px; 
width:200px;
border-radius:25px 25px;
box-shadow:3px 3px 2px 2px #AFF6AF;
text-align:center;
    background-color:#90EE90;
color:black;
font-size:19px;
margin-top :2px;
margin-left:5px;
margin-bottom:5px;

}
.boton, #externa{margin-left:150px;}


.boton:hover {
border:inset 2px green;
box-shadow:3px 3px 2px 2px  #0BF50B ;
    }
#pizarra {

background-color:black;
border:groove red 8px;
border-radius:25px 25px;


color:white;
font-size:19px;
padding:15px;
overflow:hidden;
float:left;
margin-left:10px;
margin-top:10px;
}
#Pizarras{float:left;}



</style>
</head>
<body onload="iniciaVariables()">
<div id="cabecera"><h2>Ejercicio CU01146E javaScript desde cero</h2> </div>
 
<div id="Pizarras">
<div class="boton" onclick="operacionMatematica()">Operaciones</div>
<div id="pizarra"></div>

 

</div>
</body></html>
« última modificación: 04 de Junio 2018, 19:14 de Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2488
    • Ver Perfil
Re:EJERCICIO CU01146E javascript desde cero
« Respuesta #1 : 04 de Junio 2018, 19:13 »
Buenas, en este ejercicio parece que no se puede hacer un reemplazo directo como comentas, sino que hay que introducir algunas variaciones para poder adaptarse a lo que pide el enunciado. Por tanto entiendo que para resolverlo deben introducirse las variaciones que sean necesarias.

Salu2

 

Esto es un laboratorio de ideas...
Aprender a programar

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".