Autor Tema: JavaScript document.getElementsByTagName NodeList textContent de nodo CU01136E#  (Leído 2979 veces)

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Posible solución del ejercicio CU01136E del curso JavaScript desde cero usando Notepad++ como editor.

A continuación expongo el código primer intento:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Curso JavaScript</title>
<style type="text/css">
body{
text-align: center;
}
</style>
<script type="text/javascript">
function sumar(){
var nodoDiv=document.getElementsByTagName('div');
var Numero=[];
msg='Multiplicamos por 3 los números introducidos: \n';
var restantes=[5,4,3,2,1]
for(i=0;i<5;i++){
Numero[i]=Number(prompt('Introduce un número. Te quedan: '+restantes[i]+' por introducir'));
msg=msg+Numero[i]+'*3='+Numero[i]*3+',          ';
}
nodoDiv[0].textContent=msg;
}
</script>
</head>
<body>
<h1>Ejercicio curso aprenderaprogramar.com</h1>
<div> </div>
<input type="button" value="Probar ejercicio" onclick="sumar()"></input>
</body>
</html>

Gracias.
« Última modificación: 03 de Enero 2022, 20:20 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2662
    • Ver Perfil
Buenas dimiste el ejercicio cumple a la perfección con lo solicitado

Hay un detalle para el que te voy a dar una recomendación

Has definido var restantes=[5,4,3,2,1]

Esto en programación nunca se hace por ser innecesario o redundante (o mejor dicho, solo se haría en casos especiales donde estuviera justificado).

Siempre que se tenga que contar o hacer operaciones repetitivas se usan bucles o los contadores de los bucles evitando crear nuevas variables. En este ejercicio lo haríamos así evitando tener que crear una variable adicional:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Curso JavaScript</title>
<style type="text/css">
body{
text-align: center;
}
</style>
<script type="text/javascript">
function operar(){
var nodoDiv=document.getElementsByTagName('div');
var Numero=[];
msg='Multiplicamos por 3 los números introducidos: \n';
for(i=0;i<5;i++){
Numero[i]=Number(prompt('Introduce un número. Te quedan: '+(5-i)+' por introducir'));
msg=msg+Numero[i]+'*3='+Numero[i]*3+',          ';
}
nodoDiv[0].textContent=msg;
}
</script>
</head>
<body>
<h1>Ejercicio curso aprenderaprogramar.com</h1>
<div> </div>
<input style="margin:20px;" type="button" value="Probar ejercicio" onclick="operar()"></input>
</body>
</html>

Salu2
« Última modificación: 25 de Junio 2017, 12:33 por Ogramar »

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Buenas Ogramar,

es verdad. Podía haber evitado crear otra variable sólo por indicar el número restante de las operaciones. Tu has conseguido hacerlo con la variable del mismo bucle. Supongo que esto me pasa por falta de práctica. Espero un día poder darme cuenta de esos pequeños "errores". Gracias por corregirme el ejercico.

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