Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Ogramar

Páginas: 1 ... 12 13 14 15 16 [17] 18 19 20 21 22 ... 100
321
Buenas, todo bien. Las variables que has indicado Tipo Numérica Entera se corresponderían con el tipo Number de JavaScript, que es el tipo que se asigna por defecto a valores numéricos cuando no hay una declaración explícita de tipo.

Salu2

322
Buenas, felicitarte porque el comentario del código está muy completo y con el juego del frontón, más allá de que sea mejorable, se demuestra que has ido adquiriendo manejo de numerosos conocimientos de programación, toda una base de gran interés y ejemplo para otras personas que consulten los foros y vean cómo se puede progresar dedicándole tiempo y esfuerzo ;)

Salu2

323
Buenas, el ejercicio 1 funciona correctamente. Hay una cosa que no me parece demasiado "limpia". Si el usuario acierta el número, para forzar la salida del bucle de solicitud de número escribes i=31; Esto en cierta medida es decir, si el usuario lleva 6 intentos y acierta el número, para salir decimos que el usuario lleva 30 intentos. Esto aunque funcione puede generar problemas de depuración en programas largos. Imagina que en un  momento dado se decide mostrar el número de intentos que ha tardado en acertar el número. Ahí podrían venir problemas. Desde mi punto de vista sería más adecuado que en la propia condición del bucle se controlara si lleva menos de 30 y no ha acertado, en lugar de valernos de "un truco".

Otra cosa que no veo correcta del ejercicio 1 es que empiece diciendo "Le quedan 29 intentos" y que termine dicendo "Le quedan 0 intentos". Creo que sería preferible que empezara diciendo que le quedan 30 intentos y que terminara diciendo que le queda 1 intento.

El ejercicio 2 y 3 todo bien. Bueno, a mí me ha mareado un poco que el texto volador vaya cambiando de colores :)

Salu2

324
Buenas, he estado mirando alternativas y lo que me ha funcionado mejor es  

Se recomienda que el código vaya dentro de etiquetas <pre> ... </pre> ya que en caso contrario los navegadores tienden a colapsar de forma automática los espacios en blaco.

Este código me ha servido, aunque si quisieras cuadrar textos de longitudes muy diferentes quizás tendrías que ponerte a contar caracteres para cuadrarlo con exactitud.

Código: [Seleccionar]
<!DOCTYPE html>
<html>

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

<body>
<form method="get" action="http://aprenderaprogramar.com/action.php">

Elije solo una opción, como en los botones radio:
<pre>
<select name="entradalista1">

<option>Pedro Perez de la Rosa &emsp; 41 años &emsp; Piel blanca</option>
<option>Juan &emsp; 42 años si no se tiene en cuenta que fue inscrito tarde &emsp; Piel blanca</option>
<option>Alfredo Perez &emsp; 43 años &emsp; Piel blanca</option>

</select>
</pre>
<br /><br /><br /><br />

</form>
</body>
</html>

Salu2

325
Buenas, todo correcto, buen código. Por comentar algo, en lugar de gettexto preferible getTexto. En cuanto a nombre de la clase, GestionTeclado no es demasiado adecuado porque suena muy bien decir "he creado un objeto gestión de teclado". Preferible GestorTeclado para poder decir "he creado un objeto gestor de teclado". La forma de nombrar clases en Java se comenta en https://aprenderaprogramar.com/foros/index.php?topic=3035.msg13698#msg13698

Salu2

327
Buenas, el ejercicio 1 está correcto. En el ejercicio 2 al hacer pruebas me he encontrado un pequeño problema. Si le introduzco como fecha 1 un día y como fecha 2 el mismo día, me aparece un mensaje del tipo:

Desde las 00:00 del dia :5/6/2094 A las 00:00 del dia : 5/6/2094
hay : 1 dia(s) de diferencia
Primer dia incluido desde las 00:00 horas

Si introduzco un día de diferencia me dice que hay 2

Desde las 00:00 del dia :5/6/2094 A las 00:00 del dia : 6/6/2094
hay : 2 dia(s) de diferencia
Primer dia incluido desde las 00:00 horas

Esto no es correcto, habría que corregir el código.

Una sorpresa con la que me he encontrado es que en el navegador que estoy utilizando al tener input type="date" automáticamente me aparece un calendario de selección cuando hago click en la caja para selección de fecha. En navegadores más antiguos creo que esto no funcione.

Al igual que en otras ocasiones indicar que hay algo que no es adecuado: el nombre de la función Comenzar no describe lo que es o hace la función. Esto se considera una mala práctica de programación porque en programas de miles de líneas hace el código confuso y difícil de depurar. Si se quiere incluir todo en una función en este caso podría llamarse codigo_ejercicio_CU01163E_1, algo que indique qué es o qué hace el código.

Salu2

328
Buenas, el ejercicio está bien resuelto. Hay un aspecto del diseño del código que recomendaría mejorar. Con esto me refiero a los nombres de las funciones y el contenido de las mismas. El nombre de una función debe representar lo que es o lo que hace. En el caso de una función entrarDatos debería servir únicamente para entrar datos. Sin embargo en esta función vemos que entrarDatos recupera la fecha, genera una tabla, etc.

Código: [Seleccionar]
function entrarDatos()
{
fechaActual=new Date();
cogerMesAñoDia();
generaTabla();
atributosTabla();
return fechaActual;
}

Esto se recomienda una mala práctica de programación porque en programas de miles de líneas hace el código confuso y difícil de depurar.

Para evitar problemas con los juegos de caracteres recomendamos no usar eñes en el código, por ejemplo en lugar de cogerMesAñoDia usar cogerMesAnnoDia

Salu2

329
Buenas, el ejercicio 1 funciona bien, no obstante, parece repetitivo ejecutar la función con onkeyup, onkeypress y onkeydown. En este otro hilo https://aprenderaprogramar.com/foros/index.php?topic=6432.0 se hace solo con onkeypress que supuestamente debe ir bien en todos los navegadores. No sé si lo has hecho por tener problemas con algún navegador.

Ejercicio 2 correcto.

Salu2

330
Buenas, creo que habría muchos factores que valorar: si se da más importancia al precio o a la calidad del servicio, si se requiere soporte telefónico o no, si se quiere un hosting compartido o uno dedicado, si el servidor lo quiere administrar uno mismo o que se lo administren, qué base de datos se va a utilizar, etc. Salu2

331
Buenas, el ejercicio está bien resuelto. No entiendo muy bien por qué le restas 430 y 120. A mí por ejemplo me salen en algunos casos coordenadas negativas. Una buena idea sería determinar como coordenadas (0,0) la esquina inferior izquierda del div, y hacer que se muestren las coordenadas a partir de ese punto. Por ejemplo, si estuviéramos en la esquina superior derecha del div debería mostrar (500, 400)

Salu2

332
Buenas, ambos códigos funcionan correctamente y están bien planteados. En el ejercicio 2 en mi navegador se ve mal el cuadro amarillo que donde están los campos del formulario debido a la regla CSS height:125px; Si lo dejo comentado con //height:125px; ya se ve correctamente. Esto ya se ha comentado en algún ejercicio anterior, en general los height no los establecemos mediante CSS sino dejamos que sea el flujo del contenido el que determine los valores de altura.

Salu2

333
Buenas, el ejercicio ha quedado muy bien y explicativo porque al aplicarle css y delimitar con colores los distintos div se diferencia muy bien cada cosa y vemos cómo se propaga el burbujeo según dónde hagamos click.

Al ejecutar el código he visto que después del párrafo y los div, el burbujeo prosigue hacia niveles superiores. Si queremos detenerlo, basta con incluir el alert dentro del if que te identifica si el nodo es de tipo párrafo o de tipo div:

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>
<title>sin título</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="generator" content="Geany 1.32" />
</head>
<script>
window.onload = function ()
{
msg="";
var elemento=document.querySelectorAll('p,div')
for (var i=0;i<elemento.length;i++)
{

elemento[i].addEventListener("click", nodoDOOM)

}

document.addEventListener("click", nodoDOOM)
window.addEventListener("click", nodoDOOM)
 
function nodoDOOM()
{ //**********************************************************************************
//Codigo añadido para comprobar el burbujeo y saber en que nodo nos encontramos
var nombre=this.nodeName;
if( nombre=='P'||nombre=='DIV'){msg=this.firstChild.nodeValue;
alert("Soy un nodo tipo "+ this.nodeName +" "+msg+" y estoy burbujeando" );

}
//*********************************************************************************
//*********************************************************************************
   
msg="";
}

}

</script>
<style>
  body *
 {
    margin: 10px;
    border: 5px solid white;
    text-align:center;
  }
 body{background-color: yellow; }
 #principal{
    position: absolute;
top:50%;
left:50%;
width:300px;
margin-left:-200px;
margin-top:-150px;
padding:5px;
background-color:red;
}
 #secundario{width:250px;background-color:blue;}
 #terciario{width:200px;background-color:green;}
 p{width:150px;background-color:yellow;}
 h1,h2{border: none;}
</style>
<body>
<h1>aprenderaprogramar.com<br>Ejercicio CU01158E<br></h1>
<h2>hacer click sobre cualquier cuadro</h2>
 
<div id="principal">div principal
  <div id="secundario" >div secundario
    <div id="terciario" >div terciario
    <p>Ejemplo de bubbling (burbujeo)</p>
    </div>
  </div>
 
</body>

</html>

Salu2

334
Buenas, la alusión a si el ejercicio no es correcto en el marco de la programación del curso, se refiere a que la metodología del curso se basa en la resolución de los ejercicios siempre basándose en los contenidos explicados en cada entrega en particular, y en entregas anteriores en general. Por ejemplo a mucha gente le gusta usar jQuery, pero usarlo dentro del curso no sería correcto en el marco metodológico que proponemos, porque jQuery no es un contenido que se explique en el curso. Lo mismo ocurre con usar contenidos de entregas más adelantadas en entregas previas, no lo recomendamos desde el punto de vista de la didáctica y no lo consideramos una buena solución desde el punto de vista de la didáctica. Luego cada cual es libre de seguir las recomendaciones didácticas o no, ahí están los contenidos y cada uno los aprovecha como mejor considera. Por ello no recomendamos usar innerHTML en entregas previas a la entrega donde se explica innerHTML, que concretamente es la entrega "innerHTML JavaScript. Modificar texto o html (p.ej. div) en tiempo real. this: acceder al nodo actual (CU01138E)". Todos los ejercicios anteriores a esta entrega, desde el punto de vista de la didáctica, deberían resolverse sin usar innerHTML.

Salu2

336
Buenas, ahora no recuerdo bien, pero el asunto estaría en el onclick="this." ¿Qué significa ese código? El error salta al hacer click en el div uno porque la acción que tienes especificada en el onclick no tiene sentido. Da la impresión de que eso se quedó ahí a medio hacer ¿? O algo que habías escrito y que luego borraste, no lo sé.

Salu2

337
Buenas, tal y como yo lo entiendo, el problema estaría en cómo se hace la validación de que el asociado haya votado.

Supongamos que tienes como página inicial validar.php donde se comprueba si el asociado ya ha votado o no, y en caso de no haber votado le muestra un desplegable para que elija opción y se pasa a la siguiente página (votar.php).

Con ese diseño, no tienes forma de impedir que se use el botón de vuelta atrás y vuelva a votar. Tampoco tendrías forma de impedir que el usuario invocara la url de votar.php pasándole a esta url los datos que le diera la gana. Para impedirlo, tienes que introducir la validación de si el usuario ha votado ya tanto en la página validar.php como en la página votar.php, es decir, tienes que hacer la comprobación dos veces.

La idea sería:

En validar.php: si el usuario no ha votado, se le muestra el desplegable y se le permite votar.

En votar.php: si el usuario no ha votado, se guardan los datos de la votación y se muestra un mensaje de confirmación.

Supongamos ahora opciones:

Un usuario vota y sale de la web: no hay problema.

Un usuario entra en validar.php y no ha votado, vota, le da al botón retroceso y vuelve a votar. Al llegar a votar.php y hacer la comprobación de si ha votado o no se comprobará que ya ha votado, por lo que debería aparecerle un mensaje indicándole "Lo sentimos. Su voto ya está registrado y no es posible votar dos veces".

Salu2

338
Buenas, el ejercicio cumple a la perfección con lo que se pedía. Recordar que los títulos de los temas deben escribirse como se indica en https://aprenderaprogramar.com/foros/index.php?topic=1460.0

Salu2

339
Buenas, ejercicio perfectamente resuelto.

Solo voy a comentar un detalle accesorio: en el CSS de #Contenedor escribes una regla height:125px; y en mi navegador se ve mal. Normalmente el valor height no se establece, sino que dejamos que sea el propio contenido quien determine el alto requerido. No así con las anchuras, que sí se suelen establecer.

Salu2

340
Buenas, las respuesta son correctas. Si se quiere hacer se puede hacer un pequeño código de comprobación como puede verse en este hilo: https://aprenderaprogramar.com/foros/index.php?topic=3995.0

Salu2

Páginas: 1 ... 12 13 14 15 16 [17] 18 19 20 21 22 ... 100

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