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 2 3 4 5 6 [7] 8 9 10 11 12 ... 100
121
Buenas, al ejecutar el código obtengo el siguiente mensaje:

Se ha escrito un árbol no equilibrado usando document.write() lo que ha provocado que los datos de red se hayan reinterpretado ("reparsed"). Para más información, https://developer.mozilla.org/en/Optimizing_Your_Pages_for_Speculative_Parsing

Esto parece que está relacionado con haber hecho uso de document.write

De resto el ejercicio parece bien resuelto. Lo importante aquí es entender cómo funciona la representación del DOM en los navegadores, ya que nos va a resultar útil para trabajar nuestros desarrollos web.

Salu2

122
Buenas, para quien revise este ejercicio, lo veo bien resuelto. Es tan válido resolverlo usando switch como resolverlo usando if.

Como bien se comenta, es frecuente que aparezcan problemas de precisión decimal en operaciones numéricas con JavaScript. Una forma de evitarlas es operar con enteros y posponer el uso de decimales al momento final, lo cual veo que en este ejercicio está bien hecho.

Una cosa en la que el ejercicio no se ajusta a los ejemplos y forma de trabajar del curso es en que usa document.write, que no es lo habitual en los ejemplos del curso. Tampoco es habitual lanzar el script sin antes pedir que se pulse sobre un botón o texto.

Salu2

123
Buenas, respecto a por qué no se envían los valores modificados, esta podría ser la explicación.

En la función function chequearForm()  se define una variable local var valorEmail = textoIngresado[2].value;
Lo que se modifica depués con valorEmail = pasarAMinusculas(valorEmail); es la variable local, no el valor almacenado en el nodo HTML que se va a pasar con el formulario. El valor que se pasa con el formulario sigue siendo el mismo porque no se ha modificado, lo que se ha modificado es una variable local.

Para modificar un nodo primero debemos recuperar su referencia con document.getElement y luego modificar los atributos de esa referencia.

Otra cuestión que podría hacerse en este ejercicio (aunque esto no es obligatorio ya que no se pide) es evitar que se envíe el formulario si los datos no son correctos. Esto puede lograrse haciendo que la función de chequeo devuelva false (el formulario no se enviará) o devuelva true (el formulario sí se enviará).

Puede verse un ejemplo de cómo se hacen ambas cosas en https://aprenderaprogramar.com/foros/index.php?topic=6925.0

Salu2

124
Buenas, para quien revise este hilo, el ejercicio está bien resuelto. Pueden verse algunos comentarios adicionales interesantes en https://aprenderaprogramar.com/foros/index.php?topic=3995.0

Salu2

125
Buenas, las observaciones que haría a este ejercicio son las siguientes.

En la clase Vehiculo aparece un método    public static String ContarTiposArray(List<Vehiculo> pArreglo) y otro método public static String EliminaInserta(List<Vehiculo> pArreglo)

Esto métodos no los veo bien ubicados dentro de la forma de programación orientada a objetos. ¿Por qué? Porque cada clase debe tener unas responsabilidades acordes a lo que representa. No es lógico que la clase Vehiculo sea responsable de recibir un List de vehículos y contar los tipos que hay en ella, porque esto no es o no debería ser responsabilidad de un vehículo. Por tanto, ese conteo debería ir en otro sitio, bien en otra clase o bien en el main. Lo mismo para el método de eliminar e insertar.

Respecto al uso de métodos estáticos el problema lo veo precisamente en el diseño. Para invocar un método de la clase, antes tienes que instanciar un objeto. En lugar de instanciar un objeto has recurrido a usar un método estático, lo cual aunque pueda hacerse no resulta un buen diseño en este caso. En lugar de esto tendrías que haber instanciado un vehículo e invocar el método sobre esa instancia. O mejor aún, tener esos métodos en otra clase o en el main, lo cual hubiera sido más lógico.

Respecto a los resultados, se cumple con lo que pedía el ejercicio. En general, los tiempos obtenidos para ejecución con ArrayList son peores que los obtenidos con LinkedList.

Ejemplo usando ArrayList tiempo empleado en la eliminación-inserción (en nanosegundor):2826794
Ejemplo usando LinkedList tiempo empleado en la eliminación-inserción (en nanosegundor):595722

Puede verse un ejemplo de este ejercicio resuelto en https://aprenderaprogramar.com/foros/index.php?topic=5781.0

Salu2

126
Buenas, para quien revise estos códigos, los ejercicios están bien resueltos. Salu2

127
Buenas, el código funciona correctamente. Hay un detalle en que no cumple con lo que pedía el enunciado. Se pedía "el programa debe mostrar por consola los datos de los objetos con idCuadrupedo múltiplo de 1000" mientras que este código muestra todos los elementos. Puede verse una solución donde sí se muestran únicamente los múltiplos de 1000 en https://aprenderaprogramar.com/foros/index.php?topic=6155.0

Salu2

128
Buenas, para quien revise este ejercicio, está bien resuelto y realiza a la perfección lo que se pedía. Hay varias maneras de resolverlo, quien lo desee puede consultar otras soluciones en los foros. Salu2

129
Buenas, para quien revise este código, está bien resuelto y cumple con lo que se pedía. Salu2.

130
Buenas, para quien revise este ejercicio, cumple perfectamente con lo que se pedía. Salu2.

131
Buenas, el ejercicio está bien resuelto. Los dos bucles

Código: [Seleccionar]
for(var i=1;i<=palabra.length;i++){letra[i]=palabra.charAt(i-1);}
for(var i=1;i<=palabra.length;i++){msg=msg+'Letra '+ i+': '+letra[i]+'\n\n';}

podrían haberse fusionado en un solo bucle que realizara todo lo necesario.

Salu2

133
Buenas, para quien revise este ejercicio, cumple correctamente con lo que se pedía. Algún comentario:

- Faltaría incluir como línea inicial <!DOCTYPE html>

- No se aprecia el uso de los índices en el array

Una solución donde se ve más claramente el uso de los índices del array o arreglo puede verse en https://aprenderaprogramar.com/foros/index.php?topic=5011.0

Salu2

134
Buenas, el ejercicio está bien resuelto pero no cumple lo que se pedía "Utilizando un iterador, muestra los datos de los objetos presentes en el objeto GruposDeAvesZoos.", o al menos no lo cumple directamente, en el sentido de que no se utiliza un iterador explícito, sino un for extendido.

Puede verse una solución correcta con uso de un iterador explícito en https://aprenderaprogramar.com/foros/index.php?topic=5922.0

Salu2

135
Buenas, para quien revise este ejercicio, no está correctamente resuelto. Dejo algunos comentarios:

- Faltaría incluir como línea inicial <!DOCTYPE html>

- En el fragmento

if(diametro>1.4 && grosor<0.4){alert("El grosor para esta rueda es inferior al recomendado");}
else if(diametro<=1.4 && grosor>=0.4){alert("El grosor para esta rueda es inferior al recomendado");}

Tenemos una repetición de mensaje que podría haberse ahorrado haciendo un único condicional que contemplara ambas opciones a través de un operador de disjunción or (|| en JavaScript).

- Si introducimos como valores diámetro 1.1 y grosor 0.3 nos sale el mensaje "La rueda es para un vehículo mediano - Introdujo un numero negativo. Introduzca números positivos por favor". Este mensaje es erróneo ya que no hemos introducido ningún número negativo. Por tanto la lógica implementada no es correcta.

Puede verse una solución correcta para este ejercicio en https://aprenderaprogramar.com/foros/index.php?topic=3250.0

Salu2

136
Buenas, para quien revise este hilo la respuesta la veo correcta. En esta solución no se cumple estrictamente lo que pedía el enunciado relativo a que "cada atributo de la clase podrá ser exclusivamente una cadena de 12 ceros o de 12 unos". Podría implementarse para forzar a que fuera así, pero esto tampoco es lo realmente relevante de este ejercicio, con lo cual no le veo mayor importancia.

Puede verse otra solución en https://aprenderaprogramar.com/foros/index.php?topic=5703.0

Salu2

137
Buenas, para quien revise este hilo la respuesta me parece correcta aunque para mayor claridad puede verse una explicación más amplia en https://aprenderaprogramar.com/foros/index.php?topic=6848.0

Salu2

138
Buenas, para quien revise este hilo, el ejercicio 1 está bien resuelto. No obstante usar algo como numA = (int)(rnd.nextDouble()*11); parece poco elegante, en el sentido de que se genera un double para luego hacer un casting a un entero. ¿Por qué no generar directamente el entero y ahorrarnos el casting? Tampoco tiene demasiada importancia, pero ahí queda como reflexión.

En el ejercicio 2 además de lo indicado hay un defecto. El ejercicio pedía "que introduzca 6 números enteros comprendidos entre el 1 y el 49 ambos incluidos."
Por tanto los números válidos son del 1 al 49.

Sin embargo para crear los números ganadores en el código se utiliza

pNumerosGanadores[ i ] = (int) (rnd.nextDouble()*50);

¿Qué ocurre si el método nextDouble nos devuelve 0? Un número ganador sería el 0, pero esto no es conforme a lo que dice el enunciado.

De hecho, lo he comprobado y haciendo pruebas me ha salido por ejemplo Combinacion ganadora   :31 40 37 39 2 0  donde vemos que aparece el cero, que no es correcto.

Otro aspecto que sería deseable es que los resultados de la combinación ganadora se mostraran en orden ascendente. Por ejemplo en lugar de Combinacion ganadora   :12 9 42 16 43 11
 que saliera Combinacion ganadora   :9 11 12 16 42 43 


Puede verse una solución correcta para este ejercicio en https://aprenderaprogramar.com/foros/index.php?topic=5682.0

Salu2

139
Buenas, para quien revise este hilo, el ejercicio no está bien resuelto. En el apartado 1 cuando dice "El resto de dividir el primer número entre 5." se refiere al resto (módulo) de la división, no a la operación de resta aritmética.
Para hallar el módulo se haría con $primerNumero % 5

En el ejercicio 2 no se han respetado los mensajes que se pedía que se mostraran en el enunciado.

Puede verse una solución correcta para este ejercicio en https://aprenderaprogramar.com/foros/index.php?topic=4511.0

Salu2

140
Buenas, para quien revise este hilo, el ejercicio está bien resuelto. Los emojis aparecen en los foros de forma automática cuando se introducen algunos textos, por ejemplo si se escribe 8 ) todo junto aparece 8) para evitar el emoji tenemos la opción de separar los caracteres con un espacio, o bien insertar como código. Cuando se inserta texto como código no aparecen de forma automática los emojis.

Salu2

Páginas: 1 2 3 4 5 6 [7] 8 9 10 11 12 ... 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".