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 - Mario R. Rancel

Páginas: 1 ... 6 7 8 9 10 [11] 12 13 14 15 16 ... 32
201
Buenas tardes, introducir un switch dentro de un bucle for utilizando el contador como elemento discriminante para el switch... la verdad es que es raro ver algo así (yo diría que es más común usar if y el operador módulo), pero en el fondo no veo nada incorrecto, y si te funciona...

Aquí hay una respuesta un poco rústica pero más convencional, https://www.aprenderaprogramar.com/foros/index.php?topic=1893.0

Saludos

202
Buenas tardes, todo correcto

Aunque el ejercicio dice que en el apartado c) obtendremos true a mí por lo menos me muestra 1, que es el equivalente numérico de true. Esto es normal porque internamente los intérpretes o compiladores trabajan con equivalentes numéricos para los valores booleanos.

Saludos

203
Buenas tardes, el código que has pegado no compila. Tampoco parece que siga lo que pida el ejercicio, el ejercicio indica que se debe crear una clase denominada test con el método main y otra clase denominada ListaCantantesFamosos. Es conveniente tratar de adaptarse a lo que pide el ejercicio para poder hacer comparaciones homogéneas.

Mira la solución propuesta en https://www.aprenderaprogramar.com/foros/index.php?topic=2262.0 y luego intenta corregir tu código, si tienes dudas escribe una consulta indicando dónde no puedes avanzar

Saludos

204
Buenas tardes Jonathan, tanto porque pueden servir de ayuda a otras personas como para mantener ordenados los foros y poder dar respuestas con más facilidad y siguiendo un orden, agradecemos que se incluyan los ejercicios completos (no apartados sueltos) indicando cada uno de los apartados por separado.

Saludos

205
Buenas tardes, todo correcto. Para la pregunta c) te recomiendo leer lo que se comenta en https://www.aprenderaprogramar.com/foros/index.php?topic=1978.0

Saludos

206
Buenas tardes, creo que está todo bien

Hay algo un tanto extraño en cómo estás generando el código. Estás usando un solo punto de apertura y cierre de código php e incrustando el html a través de instrucciones echo. Esto se puede hacer así pero en general diría que es más frecuente trabajar con el código html libre dentro del código y abrir y cerrar código php cada vez que es necesario.

La idea es similar a esto:

Código: [Seleccionar]
<html>
 <head>
  <title>Prueba de PHP</title>
 </head>
 <body>
 <?php echo '<p>Hola Mundo</p>'?>
 </body>
</html>

Esto es un ejemplo tonto, ahí realmente no hace falta abrir php para mostrar Hola mundo, pero la idea es que tienes el código HTML y en determinados puntos abres etiquetas php para introducir código dinámico. El código estático quedaría fuera de php.

PHP es bastante versátil y te permite hacer las cosas de muchas maneras. Con el tiempo podrás irlo trabajando como te sea más cómodo. o incluso combinar estilos de trabajo con él.

Saludos

207
Buenos días, tú mismo has respondido a la dificultad de este ejercicio :) Pueden verse comentarios al respecto en https://www.aprenderaprogramar.com/foros/index.php?topic=3096.0

La declaración $palabra1; $palabra2; $palabra3; $palabra4; $palabra5; $palabra6; no es necesaria. PHP es un lenguaje de tipado débil (lo que implica que no es necesaria la declaración de variables previa a su uso).


Saludos

208
Buenos días, lo veo todo acertado excepto la respuesta a d), releyendo la entrega podemos ver que "En la imagen vemos la respuesta: el elemento flotante ha salido del flujo normal del documento. La caja del elemento envolvente tiene su forma normal y se encuentra por debajo del elemento flotante."

Es decir, los elementos flotantes salen del flujo normal del documento.

Saludos

209
Buenos días, 1-a) bien, 1-b) bien (el resultado obtenido por pantalla debe ser "El mes es enero")

Para el ejercicio 2 bien (el resultado obtenido debe ser "La bomba es una bomba de hormigón.")

Saludos

210
Buenos días, el ejercicio 1 a la perfección. En el ejercicio 2 para anular margin y padding por defecto se usan reglas reset que se explican en el curso. Sería algo como body {margin:0; padding:0;} Esto es preferible a desplazar 8px porque quizás no todos los navegadores tengan los 8px de desplazamiento que comentas.

El ejercicio 3 bien. Te recomiendo usar margin: 0 auto;

Saludos

211
Buenos días, estás utilizando la propiedad display, que cronológicamente con el programa del curso todavía no debe usarse. El ejercicio está bien.

El problema que comentas no entiendo bien lo que quieres decir, elimina margin:40px; padding:40px; y comprueba lo que ocurre, puede que te oriente.

Saludos

212
Hola,

en el ejercicio 1 bonitas imágenes.

Al establecer una background-image sobre el elemento html y definir un width del 80% para el body creas un efecto de imagen de fondo (esto no lo pedía el ejercicio). Muchas veces esto se hace definiendo la background-image para body y un div como contenedor para los distintos elementos.

body {background-color: yellow; width: 80%; margin:auto; border:solid; background-color:blue;} tiene una incongruencia: repites dos veces background-color. El efecto cuando ocurre esto es que se aplica el último estilo definido, en este caso lo que se aplicaría sería el background-color blue. De resto todo bien (has agrupado bien las características comunes a los div, aplicando luego las específicas a los id).

En el ejercicio 2-a también bonita imagen. En lugar de margin:auto; es más estándar margin:0 auto; y claro hay que cambiar charset="urf-8"

Una forma alternativa sería:

Código: [Seleccionar]
body{background-image:url(http://es.best-wallpaper.net/wallpaper/1024x768/1105/Magic-Earth_1024x768.jpg);
    background-color:red; background-repeat:no-repeat; background-position: center top;}

En el ejercicio 2-b es una pena que el pinguino se vea tan pixelado. Aquí también puedes aplicar la regla sobre body en lugar de sobre el elemento html.

Código: [Seleccionar]
body {background-image:url(http://vignette3.wikia.nocookie.net/pixelpeople/images/9/97/Penguin.png/revision/latest?cb=20130411214626); background-color:red;}

Saludos

213
Sí, la idea es agrupar todas las propiedades comunes y sólo poner por separado las que apliquen únicamente a ciertos elementos. De ese modo evitas repetir código.

Saludos

214
Buenos días

Voy a hacer algunos comentarios comparando tu ejercicio con el propuesto en otro hilo del foro.

El propuesto en otro hilo era este (lo llamaré "código alternativo"):

Código: [Seleccionar]
<h1>Calendario</h1>
<style>
table{
    width:300px;
    font-size:24px;
}
</style>
<?php 
$mes 
date("m"); 
$año date ("Y");
$semana = array ("Mon","Tue""Wed""Thu","Fri","Sat","Sun");
echo 
"<table>";
echo 
"<thead>";
echo 
"<tr>";
echo 
"<th colspan='7'>",date("M, Y"),"</th>";
echo 
"</tr>";
echo 
"<tr>";
echo 
"<th>Lu</th><th>Ma</th><th>Mi</th><th>Ju</th><th>Vi</th><th>Sa</th><th>Do</th>";
echo 
"</tr>";
echo 
"</thead>";
echo 
"<tbody>";
//// MARCO EL DÍA 1º DEL MES:  ////////////////////
echo "<tr>";
for (
$i=0;$i<=6;$i++){
    if (
date("D",mktime(0,0,0,$mes,1,$año))==$semana[$i]){
        echo 
"<td>"date("d"mktime(0,0,0,$mes,1,$año)) ,"</td>"
            if ( 
date("D",mktime(0,0,0,$mes,1,$año))=="Sun" ){
                echo 
"</tr>","<tr>";
                break;
            }else{
                break;
            }
        break;        
    }else{
        echo  
"<td>""</td>"  ;
    }
}


/////////marco los días subsiguientes////////////////////
for ($j=2;$j<=date("t");$j++){
    if ( 
date("D",mktime(0,0,0,$mes,$j,$año))=="Sun" )  {
        echo      
"<td>",   date("d"mktime(0,0,0,$mes,$j,$año)), "</td >""</tr>""<tr>"
    }else{
        echo      
"<td>",   date("d"mktime(0,0,0,$mes,$j,$año)) ,  "</td>" ;
    }
}
echo 
"</tr>";
echo 
"</tbody>";
echo 
"</table>";
?>


Los comentarios serían los siguientes:

En tu código independizas la definición o cálculo del calendario en una función, en otra su dibujado y en otra la construcción de la página desde donde se llama a las funciones. Esto es un buen diseño ya que permites la reutilización de las funciones en otros contextos. Es quizás un diseño un tanto más avanzado de lo explicado en el curso donde los diseños son muy simples, pero es interesante tanto para tí hacerlos si tienes capacidad para ello como para otras personas que vean este ejercicio, porque contiene una estructuración del código muy interesante. Por tanto tu diseño es bastante mejor que el del código alternativo.

Tu código se ve más largo que el código alternativo. No siempre esto es malo, pero en general se considera que cuanto más breve sea un código mejor. Habría que revisar punto por punto y ver si se puede reducir. Sólo te voy a poner un ejemplo:

Planteas este código:

Código: [Seleccionar]
switch ($month) {  // Obtenemos el nombre en castellano del mes
case 1 : $month_name = "Enero";
break;
case 2 : $month_name = "Febrero";
break;
case 3 : $month_name = "Marzo";
break;
case 4 : $month_name = "Abril";
break;
case 5 : $month_name = "Mayo";
break;
case 6 : $month_name = "Junio";
break;
case 7 : $month_name = "Julio";
break;
case 8 : $month_name = "Agosto";
break;
case 9 : $month_name = "Septiembre";
break;
case 10 : $month_name = "Octubre";
break;
case 11 : $month_name = "Noviembre";
break;
case 12 : $month_name = "Diciembre";

}

Esto parece que podría reducirse creando un array con los nombres de los meses (en 1 línea) y asignando el month_name según el valor de month en otra línea. Parece que con dos o tres líneas podría resolverse este código, que en tu caso comprende 23 ó 24 líneas. El resto del código habría que verlo en el mismo sentido. Respecto a esto hay que excluir los comentarios, que no cuentan. Al revés, debe valorarse positivamente que hayas comentado ampliamente el código.


En tu código para mostrar el mes actual aparece draw_calendar_v1(2,2016);

Supongo que eso era una prueba y que realmente debe ser draw_calendar_v1($month,$year);

Sería interesante ver la función que comentas que estás creando para mostrar cualquier array en una tabla, seguro que puede ser útil para muchas personas

En resumen, felicitarte porque se ve un código bien trabajado y que funciona bien

Saludos

215
Buenas tardes, todo correcto en la aplicación de estilos de bordes tanto en el ejercicio 1 como en el ejercicio 2.

Repito lo ya comentado sobre html, body {height:100%}: no es habitual aplicar una regla html, body (aunque puedes usarla ya que no hay nada que te lo impida, pero hasta cierto punto se verá como redundante. No es común aplicar reglas al elemento html).

Otra cosa que no es habitual es aplicar un valor de height:100% al body. El valor de altura en el body no se suele establecer, quedando la altura determinada por los contenidos de la propia página.

Saludos

216
Buenas tardes, todo correcto en la aplicación de estilos de bordes. Creo que ya se comentó en otro hilo sobre html, body {height:100%}

No es habitual aplicar una regla html, body (aunque puedes usarla ya que no hay nada que te lo impida, pero hasta cierto punto se verá como redundante. No es común aplicar reglas al elemento html).

Otra cosa que no es habitual es aplicar un valor de height:100% al body. El valor de altura en el body no se suele establecer, quedando la altura determinada por los contenidos de la propia página.

Saludos

217
Buenos días Pedro

Sobre el ejercicio decirte que lo veo todo correcto. Buen nivel!

Por otro lado agradecerte que estés colaborando en los foros respondiendo consultas y revisando ejercicios de otras personas.

Aprovecho para felicitarte por estar terminando el curso JavaScript, creo que es un curso que requiere bastante trabajo pero al mismo tiempo entretenido y proporciona unas muy buenas bases de JavaScript.

Comentarte que como complemento o extensión a JavaScript tenemos Ajax, curso que hemos incorporado hace poco a la web y cuyo seguimiento también recomiendo pues es una tecnología muy interesante e importante en los desarrollos web. No obstante, para seguir el curso Ajax se debe haber seguido el curso php previamente (también disponible en la web), o tener conocimientos de programación con algún otro lenguaje del lado del servidor.

Saludos

218
Buenos días, todo bien. Un aspecto curioso es que nos aparezca unObjeto es

Se queda vacío porque el array está declarado e inicializado, aunque esté vacío. Si hiciéramos algo como:

var prueba;
console.log('prueba es ' + prueba);

Obtendríamos el mensaje prueba es undefined porque la variable está declarada pero no se ha inicializado con un contenido.

console.log('this es ' + this); nos devuelve qué es this es el contexto en que se invoca. En el contexto en que lo hemos invocado, this es el objeto principal JavaScript, el objeto Window.

Saludos

219
Buenos días he revisado tus ejercicios y considero están bien planteados y bien resueltos. Enhorabuena por el trabajo.

Saludos.

220
Buenos días hay dos cosas que no acabo de ver

La primera es que en vez de prueba-prueba-prueba para poder visualizar las diferencias debería mostrarse por pantalla en cada celda qué es lo que se está mostrando, por ejemplo

<tr>
   <td><h1>Prueba h1<h1></td>
   <td>Prueba 32px</td>
   <td>Prueba 2em</td>
   <td>Prueba 24pt</td>
   <td>Prueba 200%</td>
</tr>

Así sabemos qué muestra cada celda

La segunda es que aplicas estilos a:
/* Segunda Fila */
/*Tercera Fila */
/*Cuarta Fila*/
/*Sexta Fila*/

¿Y la quinta fila?

Supongo que estás considerando el tamaño por defecto del texto en el navegador cuando no se aplican estilos, pero deberías indicarlo también (por ejemplo si es 1em indicar 1em y así para todos los valores)

Saludos

Páginas: 1 ... 6 7 8 9 10 [11] 12 13 14 15 16 ... 32

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