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 - Elanti

Páginas: [1] 2
1
Acabo de encontrar otro excelente tutorial, donde se utiliza una idea similar a la mía (con dos bucles), con la diferencia de que al individuo aparentemente le resultó tan fácil, que le agregó varias funcionalidades al calendario. Está todo explicado de manera muy didáctica y exhaustiva:  http:// www. desarrolloweb. com/manuales/24/

2
¡Brillante! Excelente tutorial, con explicaciones paso a paso. Utiliza recursos que me parecieron muy interesantes, como el isset() y la sintaxis alternativa para los bucles, que evita enredarse tanto con las llaves y los paréntesis.
¡Gracias!

3
Hola, GonzaH:
Te agradezco que hayas logrado resolver "el misterio de las comillas insidiosas".
En cuanto al error en el código, yo detecté que me faltaba un "break" al final del primer bucle. Ya lo solucioné, y ahora funciona para octubre y también para noviembre (que era mi gran duda). Voy a pegar todos los códigos más abajo.
Espero que ya no me moleste más este calendario, porque lo que el texto llama "ampliación voluntaria del ejercicio", en mi caso ha sido una "ampliación masoquista del ejercicio".
¡Saludos!

CALENDARIO OCTUBRE 2015:
Código: [Seleccionar]
<h1>Calendario</h1>
<style>
table{
    width:300px;
    font-size:24px;
}
</style>
<?php 
$mes 
date("m",mktime(0,0,0,10,1,2015)); 

$año date ("Y",mktime(0,0,0,10,1,2015));

$semana = array ("Mon","Tue""Wed""Thu","Fri","Sat","Sun");
echo 
"<table>";
echo 
"<thead>";
echo 
"<tr>";
echo 
"<th colspan='7'>",date("M, Y",mktime(0,0,0,10,1,2015)),"</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,10,1,2015))==$semana[$i]){
        echo 
"<td>"date("d"mktime(0,0,0,10,1,2015)) ,"</td>"
            if ( 
date("D",mktime(0,0,0,10,1,2015))=="Sun" ){
                echo 
"</tr>","<tr>";
                break;
            }else{
                break;
            }
        break;        
    }else{
        echo  
"<td>""</td>"  ;
    }
}


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

CALENDARIO NOVIEMBRE 2015:
Código: [Seleccionar]
<h1>Calendario</h1>
<style>
table{
    width:300px;
    font-size:24px;
}
</style>
<?php 
$mes 
date("m",mktime(0,0,0,11,1,2015)); 

$año date ("Y",mktime(0,0,0,11,1,2015));

$semana = array ("Mon","Tue""Wed""Thu","Fri","Sat","Sun");
echo 
"<table>";
echo 
"<thead>";
echo 
"<tr>";
echo 
"<th colspan='7'>",date("M, Y",mktime(0,0,0,11,1,2015)),"</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,11,1,2015))==$semana[$i]){
        echo 
"<td>"date("d"mktime(0,0,0,11,1,2015)) ,"</td>"
            if ( 
date("D",mktime(0,0,0,11,1,2015))=="Sun" ){
                echo 
"</tr>","<tr>";
                break;
            }else{
                break;
            }
        break;        
    }else{
        echo  
"<td>""</td>"  ;
    }
}


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

CALENDARIO DEL MES EN CURSO:
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>";
?>

4
Hace un rato me di cuenta de que mi código no funcionaría bien en un mes cuyo primer día fuese domingo. Aquí está mi código modificado. Espero no haberme equivocado esta vez (lo sabré el 1º de noviembre):

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;
            }        
    }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>";
?>

5
Citar
Crea un documento HTML que conste de un título h1 con el texto <<Calendario>>. En la página deberá mostrarse el mes y año actuales (en el momento en que hagas el ejercicio) y para cada día del mes, indicar si es lunes, martes, miércoles, jueves, viernes, sábado o domingo.

Ejemplo: suponiendo que hagas el ejercicio en mayo de 2050, debería mostrarse:

Día 1: Domingo, Día 2: Lunes, Día 3: Martes, Día 4: Miércoles, … etc. hasta Día 31: Martes.

Ampliación voluntaria del ejercicio: si tienes conocimiento de maquetación con HTML y CSS te proponemos que cambies el aspecto para que en lugar de mostrarse como texto, el calendario se muestre con aspecto de calendario habitual. Para la maquetación puedes usar una tabla de 7 columnas por 7 filas (total 49 celdas) con ancho de tabla 300 píxeles y tamaño de fuente en la tabla 24 píxeles. La primera columna corresponderá a lunes y la última a domingo como mostramos en el siguiente ejemplo.

La primera parte del ejercicio era casi trivial; la segunda me planteó serias dificultades. Yo lo resolví de una manera que no sé si será la más elegante. Lo que se me ocurrió fue hacer un bucle para escribir sólo el primer día del mes en su posición correspondiente, y un segundo bucle para el resto de los días. Funcionó, aunque me aparecieron una serie de comillas en la parte superior del calendario, que no sé a qué se deben.
Agradezco si alguien me puede decir si había una manera más sencilla de resolverlo, y cómo hago para que desaparezcan las comillas.
Saludos.

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>"
        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 
"</tbody>";
echo 
"</table>";
?>

6
Hola, Alex:
Gracias por tus comentarios. Efectivamente, estoy complementando lo que aprendo aquí con lo que aprendo en otros sitios, y tomo un poco de aquí y un poco de allá.
Lo de "switch" fue simplemente para probar algo diferente.
¡Saludos!

7
Citar
EJERCICIO

Crear archivos php que ejecuten la tarea indicada:

a) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso", indicar cuántas veces aparece cada vocal usando funciones para cadenas PHP.

b) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso", indicar qué consonantes son las que aparecen y cuántas veces aparecen usando funciones para cadenas PHP.

c) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso", mostrar la cadena donde todas las a hayan sido sustituídas por el símbolo *. Por ejemplo en lugar de <<El abecedario…>> se habrá de mostrar <<El *beced*rio…>>

d) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso", mostrar la subcadena desde la primera aparición de <<completo>> excluyendo completo, es decir, deberá mostrarse << es algo largo y detallarlo exhaustivamente es costoso>>. Para ello usa una o varias funciones para cadenas PHP.

Logré resolver correctamente este ejercicio. Pero como siempre hay más de una forma de hacer las cosas, dejo mi código por si alguien tiene algún comentario o sugerencia de mejora:

Código: [Seleccionar]
<?php 
$cad
="El abecedario completo es algo largo y detallarlo exhaustivamente es costoso";
$cad strtolower($cad);
$vocales = array("a","e","i","o","u");

echo 
"<strong>Parte a)</strong><br /><br />";

///////////////////////////PARTE A:   ///////////////////////////////////////////////

foreach ($vocales as $vocal){
    echo 
"La vocal '$vocal' aparece "substr_count($cad,$vocal); 
    switch (
substr_count($cad,$vocal)){
        case 
1:
            echo 
" vez. <br />";
            break;
        default:
            echo 
" veces. <br />";
    }
}

echo 
"<br />";
echo 
"<strong>Parte b)</strong><br /><br />";

///////////////////////////PARTE B:   //////////////////////////////////////////////////

foreach (count_chars($cad,1) as $letra=>$ocurrencias){
    if (
in_array(chr($letra),$vocales)){
        continue;
    }else if (
chr($letra)==" "){
        continue;        
    }else if (
$ocurrencias==1){
        echo 
"La consonante ","'"chr($letra),"'"" aparece "$ocurrencias" vez<br />";
    }
    else{
        echo 
"La consonante ","'"chr($letra),"'"" aparece "$ocurrencias" veces<br />";
    }
}
echo 
"<br />";
echo 
"<strong>Parte c)</strong><br /><br />";

////////////////////////// PARTE C:   //////////////////////////////////////////////////////

echo str_replace("a","*",$cad);
echo 
"<br />";
echo 
"<br />";
echo 
"<strong>Parte d)</strong><br /><br />";

////////////////////////// PARTE D:   //////////////////////////////////////////////////////

$concompleto strstr($cad,"completo");
$sincompleto substr($concompletostrlen("completo"));
echo 
$sincompleto;
?>

8
¡Perfecto, GonzaH!
Me quedó clarísima tu solución. Viéndolo ya solucionado, parece fácil… pero cuando yo lo intenté, me perdí completamente entre los bucles (y todavía, si me distraigo un segundo, me pierdo). Supongo que será cuestión de seguir practicando, y algún día me va a resultar más fácil.
Saludos.

9
Citar
EJERCICIO 3

Supón que quieres representar lo siguiente: hay 2 equipos españoles, en el primero el portero es Frank, el defensa Pepe, el medio Luis y el delantero Raul. En el segundo, el portero es Tiger, el defensa Mourin, el medio Katz y el delantero Alberto. Hay 1 equipo mexicano, donde el portero es Suarez, el defensa Koltz, el medio Fernandez y el delantero Ramirez. Hay 2 equipos argentinos. En el primero el portero es Higuita, el defensa Mel, el medio Rubens y el delantero Messi. En el segundo el portero es Kostenmeiner, el defensa Lenkins, el medio Marash y el delantero Juanes.

a) Representa los datos usando un array de tres dimensiones con índices numéricos donde el primer índice indica el país, el segundo el equipo y el tercero la posición del jugador. Presenta la información del país, equipo, posiciones y jugadores de cada equipo usando un bucle for.

b) Representa los datos usando un array de tres dimensiones con índices numéricos donde el primer índice indica el país, el segundo el equipo y el tercero la posición del jugador. Presenta la información del país, equipo, posiciones y jugadores de cada equipo usando un bucle for each.

c) Representa los datos usando arrays arrays asociativos donde el primer índice indica el país, el segundo el equipo y el tercero la posición del jugador (un ejemplo de cómo declarar un elemento sería por ejemplo: $equipos['Mexico']['Equipo1']['defensa']="koltz";). A continuación usando un bucle foreach recorre los elementos del array mostrando la información del país, equipo, posiciones y jugadores de cada equipo.

Este ejercicio me resultó extremadamente difícil. Apoyándome en respuestas de otras personas en este foro, logré resolverlo; pero mi solución para la parte "a" sólo funciona parcialmente, debido a que México tiene un solo equipo, y esto hace que mi bucle "for" no funcione del todo bien. Si alguien tiene alguna idea para resolverlo, se agradece. Yo me voy a poner mis neuronas en salmuera.

Solución parte "a":

Código: [Seleccionar]
<?php 
$jugadores
[0][0][0]="Frank";
$jugadores[0][0][1]="Pepe";
$jugadores[0][0][2]="Luis";
$jugadores[0][0][3]="Raúl";
$jugadores[0][1][0]="Tiger";
$jugadores[0][1][1]="Mourin";
$jugadores[0][1][2]="Katz";
$jugadores[0][1][3]="Alberto";
$jugadores[1][0][0]="Suárez";
$jugadores[1][0][1]="Koltz";
$jugadores[1][0][2]="Fernández";
$jugadores[1][0][3]="Ramírez";
$jugadores[2][0][0]="Higuita";
$jugadores[2][0][1]="Mel";
$jugadores[2][0][2]="Rubens";
$jugadores[2][0][3]="Messi";
$jugadores[2][1][0]="Kostenmeiner";
$jugadores[2][1][1]="Lenkins";
$jugadores[2][1][2]="Marash";
$jugadores[2][1][3]="Juanes";

$paises = array("España""México","Argentina",);
$equipos = array ("primero""segundo",);
$posiciones = array("portero""defensa""medio""delantero");
for (
$pai=0;$pai<count($jugadores);$pai++){ 
echo 
"<strong> Los jugadores de $paises[$pai] son: </strong><br /><br />";    
    for (
$equi=0;$equi<count($equipos);$equi++){           
    echo 
"&nbsp; En el equipo $equipos[$equi]: <br/>";       
        for (
$posi=0;$posi<count($posiciones);$posi++){
        echo 
"<ul>";    
        echo 
"<li> En la posición $posiciones[$posi]: </li>";
        echo 
"&nbsp;&nbsp;&nbsp;&nbsp;",$jugadores[$pai][$equi][$posi], "<br />";        
        echo 
"</ul>";
        }
    }
}    
?>

Solución parte "b":

Código: [Seleccionar]
<?php 
$jugadores
[0][0][0]="Frank";
$jugadores[0][0][1]="Pepe";
$jugadores[0][0][2]="Luis";
$jugadores[0][0][3]="Raúl";
$jugadores[0][1][0]="Tiger";
$jugadores[0][1][1]="Mourin";
$jugadores[0][1][2]="Katz";
$jugadores[0][1][3]="Alberto";
$jugadores[1][0][0]="Suárez";
$jugadores[1][0][1]="Koltz";
$jugadores[1][0][2]="Fernández";
$jugadores[1][0][3]="Ramírez";
$jugadores[2][0][0]="Higuita";
$jugadores[2][0][1]="Mel";
$jugadores[2][0][2]="Rubens";
$jugadores[2][0][3]="Messi";
$jugadores[2][1][0]="Kostenmeiner";
$jugadores[2][1][1]="Lenkins";
$jugadores[2][1][2]="Marash";
$jugadores[2][1][3]="Juanes";


foreach (
$jugadores as $paises=>$pais){
    echo 
"<strong>";
    if (
$paises==0){echo "España <br />";}
    else if (
$paises==1){echo "México <br />";}
    else if (
$paises==2){echo "Argentina <br />";}
    echo 
"</strong>";
    foreach (
$pais as $equipos => $equipo){
        if (
$equipos == 0){echo "&nbsp; &nbsp; Primer equipo: <br />";}
        else {echo 
"&nbsp; &nbsp; Segundo equipo: <br />";}
        foreach (
$equipo as $posicion => $jugador){
            echo 
"<ul>";
            if (
$posicion==0){echo "<li>","Portero:"$jugador"</li>";}
            else if (
$posicion==1){echo "<li>","Defensa:"$jugador"</li>";}
            else if (
$posicion==2){echo "<li>","Medio:"$jugador"</li>";}
            else if (
$posicion==3){echo "<li>","Delantero:"$jugador"</li>";}
            echo 
"</ul>";
        }
    }
}
    
?>

Solución parte "c":

Código: [Seleccionar]
<?php 
$jugadores
["España"]["primero"]["portero"]="Frank";
$jugadores["España"]["primero"]["defensa"]="Pepe";
$jugadores["España"]["primero"]["medio"]="Luis";
$jugadores["España"]["primero"]["delantero"]="Raúl";
$jugadores["España"]["segundo"]["portero"]="Tiger";
$jugadores["España"]["segundo"]["defensa"]="Mourin";
$jugadores["España"]["segundo"]["medio"]="Katz";
$jugadores["España"]["segundo"]["delantero"]="Alberto";
$jugadores["México"]["primero"]["portero"]="Suárez";
$jugadores["México"]["primero"]["defensa"]="Koltz";
$jugadores["México"]["primero"]["medio"]="Fernández";
$jugadores["México"]["primero"]["delantero"]="Ramírez";
$jugadores["Argentina"]["primero"]["portero"]="Higuita";
$jugadores["Argentina"]["primero"]["defensa"]="Mel";
$jugadores["Argentina"]["primero"]["medio"]="Rubens";
$jugadores["Argentina"]["primero"]["delantero"]="Messi";
$jugadores["Argentina"]["segundo"]["portero"]="Kostenmeiner";
$jugadores["Argentina"]["segundo"]["defensa"]="Lenkins";
$jugadores["Argentina"]["segundo"]["medio"]="Marash";
$jugadores["Argentina"]["segundo"]["delantero"]="Juanes";

foreach (
$jugadores as $pais => $equipos){
    foreach (
$equipos as $equipo => $posiciones){
        foreach (
$posiciones as $posicion => $jugador){
            echo 
"En $pais, en el equipo $equipo, el $posicion titular es: $jugador <br /> ";
        }
    }
}
?>

10
Indudablemente, tengo que agradecerle a SamML que me haya sacado de este atolladero.
Con el mayor de los respetos, y a manera de crítica constructiva, tengo que decir que lo que él me enseñó no está explicado en el texto, y sin esos conocimientos era imposible resolver el ejercicio. Otras personas que tengan el mismo problema en el futuro, podrán leer este hilo. En mi caso, la aparición de esos caracteres extraños me hizo pensar en algún problema de codificación de caracteres, y me llevó a revisar los archivos de configuración de los servidores y buscar soluciones para un problema inexistente. Cosas de la vida.
¡Saludos!

11
SamML:
Acabo de probar tu código en mi servidor local, y ¡funciona perfectamente!
Ahora me tengo que ir, pero luego voy a tratar de ver por qué tu código funciona y el mío no.
¡¡Gracias!!

12
No, con esa declaración es aún peor, porque me genera problemas también con la "a" acentuada, y no sólo con la "o".
He estado buscando en internet la solución a mi problema y no la he encontrado por el momento. Estoy practicando tanto en local como en remoto, y en los dos servidores tengo el mismo problema. He revisado la configuración de mi servidor local, y aparentemente está todo correcto.
Lo curioso es que el problema se me manifiesta exclusivamente con PHP. Los archivos HTML se me muestran correctamente con sus caracteres acentuados, tanto en el servidor local como en el remoto.

13
Gracias. Está claro que esa era la intención del ejercicio.
¡Saludos!

14
Bueno, gracias… aunque sigo sin saber cómo solucionar el problema, para que la "ó" se visualice bien en pantalla…

15
Bien, aquí está mi código:

Código: [Seleccionar]
<?php
$tipo
="rueda de camión";
$grosor=0.33;
$diámetro=1.25;
$marca="Kimashuki";
if (
$diámetro>1.4){
                    echo
"La rueda es para un vehículo grande";
}else if (
$diámetro<=1.4){
                    echo
"La rueda es para un vehículo pequeño";
}else{
                    echo
"No existe un tamaño de rueda válido";
}
?>

Yo lo he probado, y funciona. Pero no sé cómo obtener la tercer respuesta;  concretamente, la que dice: "no existe un tamaño de rueda válido".

16
Citar
EJERCICIO 2

Define las variables $tipo, $grosor, $diametro y $marca. Establece que el tipo sea “Rueda de camión”, el grosor 0.33, el diámetro 1.25 y la marca “Kimashuki”. Crea el código PHP donde a través de condicionales if realices la siguiente comprobación: si el diámetro es superior a 1.4 debe mostrarse por pantalla el mensaje “La rueda es para un vehículo grande”. Si es menor o igual a 1.4 debe mostrarse por pantalla el mensaje “La rueda es para un vehículo pequeño”. En otro caso, debe mostrarse “No existe un tamaño de rueda válido”.
Modifica los valores de diámetro y comprueba que los resultados obtenidos por pantalla sean correctos. Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com.

Este ejercicio me salió bien, pero no sé cómo hacer para provocar la tercera opción ("no existe un tamaño de rueda válido"). Intenté colocar letras en lugar de números, pero no funcionó. ¿Qué valores darían lugar a esta opción?
Gracias.

17
Hola a todos:

La letra del ejercicio es la siguiente:
Citar
EJERCICIO

Crea el código PHP que cumpla con lo que se indica a continuación:

a) Declara una variable cuyo contenido sea la cadena "Didáctica y divulgación de la programación"

b) Usando la función substr extrae cada una de las palabras de la cadena anterior a una variable. Como tenemos 6 palabras, debes tener 6 variables con las subcadenas.

c) Usando la concatenación muestra por pantalla lo siguiente: <<Las palabras primera, tercera y sexta son: Didáctica, divulgación, programación>>

d) Usando strlen muestra por pantalla lo siguiente: <<La palabra primera es Didáctica y tiene 9 caracteres, la palabra tercera es divulgación y tiene 11 caracteres. La palabra sexta es programación y tiene 12 caracteres>>   

Y mi código:

Código: [Seleccionar]
<meta charset="UTF-8">
<?php 
$frase 
"Didáctica y divulgación de la programación";
$did substr($frase,0,9);
$y substr($frase,10,1);
$div substr($frase,12,11);
$de substr($frase,24,2);
$la substr($frase,27,2);
$pro substr($frase,30,12);
echo 
"Las palabras primera, tercera y sexta son: $did$div$pro <br/>";
echo 
"La palabra primera es $did y tiene ";
echo 
strlen($did);
echo 
" caracteres, la palabra tercera es $div y tiene ";
echo 
strlen($div);
echo 
" caracteres. La palabra sexta es $pro y tiene ";
echo 
strlen($pro);
echo 
" caracteres";
?>

A pesar de que tuve la precaución de incluir el <meta charset="UTF-8"> como lo hago siempre en HTML (aunque no sé si es lo apropiado en este caso), y a pesar de que tengo el Notepad++ configurado en UTF-8 sin BOM, no he conseguido que la letra "o" con acento se visualice bien (aunque sí se visualiza bien la "a" con acento). Me aparece en su lugar un signo de interrogación dentro de un rombo negro, y creo que esto también me está afectando el conteo de caracteres para las funciones substr() y strlen().  ¿Cómo lo soluciono?

Gracias.

18
Buenas: creo que la lección  CU01043D contiene un pequeño error en el último ejemplo, en el que se demuestra cómo centrar un "div" pequeño dentro de otro más grande. El código que se proporciona como situación "inicial" o de partida, no corresponde a ese ejemplo, sino que es la repetición de un ejemplo anterior.
Un pequeño desliz que no afecta la comprensión del ejemplo ni desmerece en nada a un curso excelente.
Saludos.

19
Citar
EJERCICIO

Define un documento HTML donde a través del uso de las propiedades float y clear y de las anteriores propiedades que hemos visto a lo largo del curso crees un diseño con este aspecto:

a) En primer lugar se deben mostrar 8 cajas div de 50x50 píxeles, con margin-right de 5 píxeles para cada una de ellas, y cada una de ellas con distinto color de fondo, alineadas en horizontal hacia la izquierda gracias al uso de float left.

b) En segundo lugar se debe mostrar un div con un texto y color de fondo amarillo, con margen superior e inferior de 20 píxeles, abarcando todo el ancho disponible.

c) En tercer lugar se deben mostrar 3 cajas div de 200x50 píxeles, con margin-right de 5 píxeles para cada una de ellas, y cada una de ellas con distinto color de fondo, alineadas en horizontal hacia la derecha gracias al uso de float right.

d) En cuarto lugar un div de fondo de color #DEB887 que ocupe todo el ancho disponible y contenga el texto <<Curso CSS aprenderaprogramar.com>>

 

Nota: si es necesario, usa los div contenedores auxiliares que te sean necesarios. Para comprobar si tu código y respuestas son correctas puedes consultar en los foros aprenderaprogramar.com.

Mi solución:

Archivo html:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="description" content="ejercicio sobre float y clear">
<meta name="keywords" content="float, clear, html, css, tutorial">
<meta name="author" content="elanti">
<title>Ejercicio float y clear</title>
<link type="text/CSS" rel="stylesheet" href="ejercicio float y clear.css">
</head>
<body>
<div class="izq" id="una"></div>
<div class="izq"id="dos"></div>
<div class="izq"id="tres"></div>
<div class="izq"id="cuatro"></div>
<div class="izq"id="cinco"></div>
<div class="izq"id="seis"></div>
<div class="izq"id="siete"></div>
<div class="izq"id="ocho"></div>
<div id="auxiliar1"></div>
<div id="amarillo">Lorem ipsum ad his scripta blandit partiendo, eum fastidii accumsan euripidis in, eum liber hendrerit an. Qui ut wisi vocibus suscipiantur, quo dicit ridens inciderint id. Quo mundi lobortis reformidans eu, legimus senserit definiebas an eos. Eu sit tincidunt incorrupte definitionem, vis mutat affert percipit cu, eirmod consectetuer signiferumque eu per. In usu latine equidem dolores. Quo no falli viris intellegam, ut fugit veritus placerat per.

Ius id vidit volumus mandamus, vide veritus democritum te nec, ei eos debet libris consulatu. No mei ferri graeco dicunt, ad cum veri accommodare. Sed at malis omnesque delicata, usu et iusto zzril meliore. Dicunt maiorum eloquentiam cum cu, sit summo dolor essent te. Ne quodsi nusquam legendos has, ea dicit voluptua eloquentiam pro, ad sit quas qualisque. Eos vocibus deserunt quaestio ei.

Blandit incorrupte quaerendum in quo, nibh impedit id vis, vel no nullam semper audiam. Ei populo graeci consulatu mei, has ea stet modus phaedrum. Inani oblique ne has, duo et veritus detraxit. Tota ludus oratio ea mel, offendit persequeris ei vim. Eos dicat oratio partem ut, id cum ignota senserit intellegat. Sit inani ubique graecis ad, quando graecis liberavisse et cum, dicit option eruditi at duo. Homero salutatus suscipiantur eum id, tamquam voluptaria expetendis ad sed, nobis feugiat similique usu ex.

Eum hinc argumentum te, no sit percipit adversarium, ne qui feugiat persecuti. Odio omnes scripserit ad est, ut vidit lorem maiestatis his, putent mandamus gloriatur ne pro. Oratio iriure rationibus ne his, ad est corrumpit splendide. Ad duo appareat moderatius, ei falli tollit denique eos. Dicant evertitur mei in, ne his deserunt perpetua sententiae, ea sea omnes similique vituperatoribus. Ex mel errem intellegebat comprehensam, vel ad tantas antiopam delicatissimi, tota ferri affert eu nec. Legere expetenda pertinacia ne pro, et pro impetus persius assueverit.

Ea mei nullam facete, omnis oratio offendit ius cu. Doming takimata repudiandae usu an, mei dicant takimata id, pri eleifend inimicus euripidis at. His vero singulis ea, quem euripidis abhorreant mei ut, et populo iriure vix. Usu ludus affert voluptaria ei, vix ea error definitiones, movet fastidii signiferumque in qui.
</div>
<div class="der"id="first"></div>
<div class="der"id="second"></div>
<div class="der"id="third"></div>
<div id="auxiliar2"></div>
<div id="último">Curso CSS aprenderaprogramar.com</div>
</body>
</html>



Archivo css:

Código: [Seleccionar]
.izq{width:50px;
     height:50px;
     margin-right:5px;
     float:left;}
#una{background-color:red;}
#dos{background-color:blue;}
#tres{background-color:green;}
#cuatro{background-color:black;}
#cinco{background-color:orange;}
#seis{background-color:magenta;}
#siete{background-color:cyan;}
#ocho{background-color:olive;}
#amarillo{margin-top:20px;
          margin-bottom:20px;
          background-color:yellow;
          width:100%;
          clear:left;}
.der{width:200px;
     height:50px;
     margin-right:5px;
     float:right;}
#first{background-color:darkblue;}
#second{background-color:darkred;}
#third{background-color:darkgreen;}
#último{background-color:#DEB887;
        width:100%;
        clear:right;}
#auxiliar1{clear:both;}       
#auxiliar2{clear:both;
          height:20px; }       

Gracias.

20
Me respondo a mí mismo: aparentemente era un complemento del Firefox que estaba interfiriendo. Al desactivarlo, desapareció el efecto.

Páginas: [1] 2

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