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.


Temas - reyescorpion

Páginas: [1]
1
Hola, presento mi solución para el ejercicio CU00821B del programa formativo de programador web con PHP. Sé que ya hay un hilo abierto sobre este tema con su correspondiente solución, pero resulta que al dia de hoy estuve realizando el ejercicio y a pesar de aplicar las soluciones que ahí se mencionan respecto a los caracteres se me siguen presentando los mismos inconvenientes.

Adjunto la solucion sin los carateres (acentos)

 Pero con los caracteres no encuentro solucion debido a que por pantalla no se me reflejan bien esos carateres latinos.

  Planteamiento

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

 Solucion (sin caracteres latinos-acentos)

 
Código: [Seleccionar]
$mensaje = "Didactica y divulgacion de la programacion";

$didactica = substr($mensaje,0,9);

$y = substr($mensaje, 10,1);

$divulgacion = substr($mensaje, 12,11);

$de = substr($mensaje, 24,2);

$la = substr($mensaje, 27,2);

$programacion = substr($mensaje,30,12);


/*
echo "$didactica <br>";
echo "$y <br>";
echo "$divulgacion <br>";
echo "$de <br>";
echo "$la <br>";
echo "$programacion <br>";
*/

echo"Las palabras primera, tercera y sexta son: " .$didactica .", " .$divulgacion . ", " .$programacion . ".<br><br>";
echo "La palabra primera es " .$didactica . " y tiene " . strlen($didactica) . " caracteres, la palabra tercera es " . $divulgacion . " y tiene " . strlen($divulgacion) . " caracteres. La palabra sexta es " . $programacion . " y tiene " . strlen($programacion) . " caracteres. <br>";
?>
</body>
</htmL>

2
Hola muestro la solución al ejercicio planteado CU00819B del tutorial de programación web con PHP de aprenderaprogramar, espero le sea de utilidad a alguien.

 EJERCICIO 2

Crea un código PHP donde crees las variables $a y $b y usando los operadores adecuados haz que se muestren los siguientes mensajes por pantalla. Nota: para mantener los valores iniciales de las variables y poder volver a emplearlos usa variables auxiliares, por ejemplo $inicio = $a; te permitirá mantener en $inicio el valor original de $a y volver a recuperar el valor inicial de $a antes de hacer una nueva operación.

Mensajes a mostrar por pantalla:

Operadores de incremento

Valores iniciales: a = 4, b = 2

Operador ++ (anterior): ++a * b == 10
(Ahora el valor de a es: 5)

Operador ++ (posterior): a++ * b == 8
(Ahora el valor de a es: 5)

Operador -- (anterior): --a * b == 6
(Ahora el valor de a es: 3)

Operador -- (posterior): a-- * b == 8
(Ahora el valor de a es: 3)

Solucion

Código: [Seleccionar]
<?php
$a 
4;
  
$b 2;
  
$inicio $a;

  

 echo 
"<b>Operadores de incremento</b> <br><br>";
 echo 
"Valores iniciales a = $a, b = $b <br>";
 echo 
"Operador ++ (anterior): ++a * b ==  " . ++$a*$b "<br>";
 echo 
"(Ahora el valor de a es: $a)<br> " ;

 
$a $inicio ;
 echo 
"Operador ++ (posterior): a++ * b == " $a++*$b ."<br>";
 echo 
"(Ahora el valor de a es: $a) <br>";

 
$a $inicio;
 echo 
"Operador -- (anterior): --a*b == " . --$a*$b "<br>";
 echo 
"(Ahora el valor de a es: $a)<br>";

 
$a $inicio;
 echo 
"Operador --(posterior): a--*b == "  $a--*$b "<br>";
 echo 
"Ahora el valor de a es: $a";
?>



Operadores de asignación compuestos

Valores iniciales: a = 4, b = 2

Asignación compuesta de suma: a += b equivale a = a + b

(Ahora el valor de a es: 6)

Asignación compuesta de resta: a -= b equivale a = a - b

(Ahora el valor de a es: 2)

Asignación compuesta de multiplicación: a *= b equivale a = a * b

(Ahora el valor de a es: 8 )

Asignación compuesta de división: a /= b equivale a = a / b

(Ahora el valor de a es: 2)

Asignación compuesta de módulo: a %= b equivale a = a % b

(Ahora el valor de a es: 0)
 
Solucion

Código: [Seleccionar]
<?php
  $a 
4;
  
$b 2;
  
$inicio $a;

  echo 
"<b>Operadores de asignacion compuestos </b><br><br>";
  echo 
"Valores Iniciales: a = $a, b = $b <br>";
  echo 
"Asignacion compuesta de suma: a += b equivale a = a + b <br>";
 ;
  echo 
"(Ahora el valor de a es: " . ($a += $b)  . " ) <br> ";

  
$a $inicio;
  echo 
"Asignacion compuesta de resta: a -= b  equivale a = a - b <br>";
  echo 
"(Ahora el valor de a es: " .($a -= $b) . ") <br>";

  
$a $inicio;
  echo
" Asignacion compuesta de multiplicacion: a *= b equivale a = a * b <br>";
  echo 
"(Ahora el valor de a es: " . ($a *= $b) . ") <br>";

  
$a $inicio;
  echo 
"Asignacion compuesta de division: a /= b equivale a = a / b <br> ";
  echo 
"(Ahora el valor de a es: " .($a /= $b) . ") <br>";

  
$a $inicio;
  echo 
"Asignacion compuesta de modulo: a %= b equivale a = a % b <br> ";
  echo 
"(Ahora el valor de a es: " .($a %= $b) . ") <br>";
?>



3
Ante todo un cordial saludo. He realizado el ejercicio CU01128E del tutorial de programación de desarrllo web de aprenderaprogramar y me gustaria saber si lo hice bien o hay una mejor forma de hacerlo. Agradeceria mucho su feedback.

 Para la realizacion de este ejercicio se verificó su funcionamiento en los navegadores Chrome y Mozilla

Código Original de la funcion:

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

<html>

<head>
<title>Ejemplo DOM - aprenderaprogramar.com</title>
<meta charset="utf-8">

<style type="text/css">
body {background-color:white; font-family: sans-serif;}
label {color: maroon; display:block; padding:5px;}
</style>

<script type="text/javascript">

function cambiarAspecto(elemento) {
var elementosObtenidos = document.getElementsByTagName(elemento);
elementosObtenidos[0].style.backgroundColor = '#FF6633';
elementosObtenidos[1].style.backgroundColor = '#FF9933';
elementosObtenidos[2].style.backgroundColor = '#FFCC33';

}
</script>

</head>
<body>

<div id="cabecera">

<h1>Portal web aprenderaprogramar.com</h1>
<h2>Didáctica y divulgación de la programación</h2>
</div>

<!-- Formulario de contacto -->

<div style="width:450px;">

<form name ="formularioContacto" class="formularioTipo1" method="get" action="accion.html" onclick="cambiarAspecto('label')">

<p>Si quieres contactar con nosotros envíanos este formulario relleno:</p>

<label for="nombre"><span>Nombre:</span> <input id="nombre" type="text" name="nombre" /></label>

<label for="apellidos"><span>Apellidos:</span> <input id="apellidos" type="text" name="apellidos" /></label>

<label for="email"><span>Correo electrónico:</span> <input id="email" type="text" name="email" /></label>

<label>

<input type="submit" value="Enviar">

<input type="reset" value="Cancelar">

</label>

</form>

</div>

</body>

</html>


Plateamiento del Ejercicio


Modifica el código anterior para que en vez de pasarse como parámetro label pases como parámetro: div, input, h1 y h2. ¿Se usan los tres índices del array en todos los casos? ¿Qué ocurre si aparecen más índices que elementos realmente existen en el documento html?


Respuesta:
 ¿Se usan los tres índices del array en todos los casos?
En div se utilizan 2 indices,
En Input se utilizan los 3 indices
En h1 se utilizan 1 indice
En h2 se utilizan 1 indice
 ¿Qué ocurre si aparecen más índices que elementos realmente existen en el documento html?
     Al ser elementos no definidos se produce un error en javascript pero no arrojan ningún valor.

Modifica el código anterior para introducir div que simule un botón con el texto “Cambiar a Inglés” y otro div simulando un botón “Cambiar a español”. Al pulsar sobre el botón cambiar a inglés, debes acceder a los nodos del DOM de tipo label y usando relaciones de parentesco entre nodos acceder a aquellos nodos cuyo nodeValue es Nombre:, Apellidos:, y Correo electrónico: y cambiar su nodeValue por Name:, Surname: y e-mail:.

Orientación: tendrás que conocer la estructura del DOM para poder acceder a los nodos con el contenido texto que nos interesa, ya que estos nodos son descendientes de los nodos label.


Respuesta:

Código: [Seleccionar]

<!DOCTYPE html>

<html>

<head>

   <title>Ejemplo DOM - aprenderaprogramar.com</title>

   <meta charset="utf-8">

   <style type="text/css">

        body {background-color:white; font-family: sans-serif;}

        label {color: maroon; display:block; padding:5px;}
       
        .idioma {
            display: inline-block;
           
        }
       
        .first {
            margin-right: 10px;
            margin-left: 10px;
           
        }
       

        .first, .second {
            width:150px;
            border: 2px solid black;
            display: inline-block;
            text-align: center;
            background-color: #33FFCA;
            border-radius: 5px;

        }

       
   </style>

<script type="text/javascript">

function cambiarAspecto(elemento) {

var elementosObtenidos = document.getElementsByTagName(elemento);

elementosObtenidos[0].style.backgroundColor = '#FF6633';

elementosObtenidos[1].style.backgroundColor = '#FF9933';

elementosObtenidos[2].style.backgroundColor = '#FFCC33';

}


function changeEnglish(elemento1,elemento2) {

   let elementosObtenidos = document.getElementsByTagName(elemento1);
    elementosObtenidos[0].firstChild.firstChild.nodeValue ="Name" ;
    elementosObtenidos[1].firstChild.firstChild.nodeValue ="Surname" ;
    elementosObtenidos[2].firstChild.firstChild.nodeValue ="E-mail" ;

    let elementosTexto = document.getElementsByTagName(elemento2);
        elementosTexto[0].firstChild.nextSibling.firstChild.nodeValue ="Web portal to learnprogramming.com";
        elementosTexto[0].firstChild.nextSibling.nextSibling.nextSibling.firstChild.nodeValue = "Didactic and divulgation of programming";
        elementosTexto[1].firstChild.nextSibling.firstChild.nextSibling.firstChild.nodeValue= "If you want to contact us send us this completed form:";

}


function changeSpanish(elemento1,elemento2) {

let elementosObtenidos = document.getElementsByTagName(elemento1);
 elementosObtenidos[0].firstChild.firstChild.nodeValue ="Nombre" ;
 elementosObtenidos[1].firstChild.firstChild.nodeValue ="Apellido" ;
 elementosObtenidos[2].firstChild.firstChild.nodeValue ="Correo" ;

 let elementosTexto = document.getElementsByTagName(elemento2);
        elementosTexto[0].firstChild.nextSibling.firstChild.nodeValue ="Portal web aprenderaprogramar.com";
        elementosTexto[0].firstChild.nextSibling.nextSibling.nextSibling.firstChild.nodeValue = "Didáctica y divulgación de la programación";
        elementosTexto[1].firstChild.nextSibling.firstChild.nextSibling.firstChild.nodeValue= "Si quieres contactar con nosotros envíanos este formulario relleno:";

}

</script>

</head>
<body>
<div id="cabecera">
<h1>Portal web aprenderaprogramar.com</h1>
<h2>Didáctica y divulgación de la programación</h2>
</div>

<!-- Formulario de contacto -->

<div style="width:450px;">

<form name ="formularioContacto" class="formularioTipo1" method="get" action="accion.html" onclick="cambiarAspecto('input')">

<p>Si quieres contactar con nosotros envíanos este formulario relleno:</p>

<label for="nombre"><span>Nombre:</span> <input id="nombre" type="text" name="nombre" /></label>

<label for="apellidos"><span>Apellidos:</span> <input id="apellidos" type="text" name="apellidos" /></label>

<label for="email"><span>Correo electrónico:</span> <input id="email" type="text" name="email" /></label>

<label>

<input type="submit" value="Enviar">

<input type="reset" value="Cancelar">

</label>


</form>
<br>
<div class = "idioma">
    <div  class='first'  onclick="changeEnglish('label','div')">Cambiar a Inglés</div>
    <div class='second'  onclick="changeSpanish('label','div')"> Cambiar a Español</div>
</div>

</div>

</body>

</html>
   


4
Propuesta de solución para el ejercicio CU01127E del programa formativo en programación web con JavaScript de aprenderaprogramar.

 
Código: [Seleccionar]
<html><head><title>Curso JavaScript aprenderaprogramar.com</title> <meta charset="utf-8">

<style type="text/css">

body {text-align: center; font-family: sans-serif;}

div {margin:20px;}

#contenedor {width:405px;margin:auto;}

#adelante, #atras {padding:15px; width: 130px; float: left;

color: white; border-radius: 40px; background: rgb(202, 60, 60);}

#adelante:hover, #atras:hover {background: rgb(66, 184, 221);}

</style>

<script type="text/javascript">

var numeroImagenActual =9;

function moverImagen(movimiento) {

if (numeroImagenActual == 6 && movimiento == 'atras' || numeroImagenActual == 11 && movimiento == 'adelante') {

alert ('No es posible hacer ese movimiento');

}

if (numeroImagenActual == 11 && movimiento == 'atras' || numeroImagenActual == 6 && movimiento =='adelante') {

valorNuevoNumeroImagen = 9;

document.getElementById('imgCarrusel').src = 'http://aprenderaprogramar.com/images/thumbs_portada/thumbs_camisetas/camiseta_9_humor_informatico_foto.jpg';

document.getElementById('imgCarrusel').alt = 'Camiseta 9 aprenderaprogramar.com';

document.getElementById('imgCarrusel').title = 'Diálogo entre informáticos';

}

if (numeroImagenActual == 9 && movimiento == 'atras') {

valorNuevoNumeroImagen = 6;

document.getElementById('imgCarrusel').src = 'http://aprenderaprogramar.com/images/thumbs_portada/thumbs_camisetas/camiseta_6_humor_informatico_foto.jpg';

document.getElementById('imgCarrusel').alt = 'Camiseta 6 aprenderaprogramar.com';

document.getElementById('imgCarrusel').title = 'Desbordado por los números';

}

if (numeroImagenActual == 9 && movimiento == 'adelante') {

valorNuevoNumeroImagen = 11;

document.getElementById('imgCarrusel').src = 'http://aprenderaprogramar.com/images/thumbs_portada/thumbs_camisetas/camiseta_11_humor_informatico_foto.jpg';

document.getElementById('imgCarrusel').alt = 'Camiseta 11 aprenderaprogramar.com';

document.getElementById('imgCarrusel').title = 'Estudiando programacion';

}

numeroImagenActual = valorNuevoNumeroImagen;

document.getElementById('numeracion').firstChild.nodeValue = 'Camiseta ' + numeroImagenActual;

}

</script>

</head>

<body>

<div >

<p>Pulsa adelante o atrás</p>

<h1 id="numeracion">Camiseta 9</h1>

<img id="imgCarrusel" src="http://aprenderaprogramar.com/images/thumbs_portada/thumbs_camisetas/camiseta_9_humor_informatico_foto.jpg" alt="Camiseta 9 aprenderaprogramar.com" title="Diálogo entre informáticos">

<div id="contenedor">

<div id ="atras" onclick="moverImagen('atras')"> <<< Atrás </div>

<div id="adelante" onclick="moverImagen('adelante')" >Adelante >>></div>

</div>

</div></body></html>

ENUNCIADO DEL EJERCICIO

1.Comprueba que el código anterior te permite cambiar la imagen que se muestra haciendo uso de los botones.

Respuesta: Si, utilizando el navegador Google Chrome el código anterior funciona correctamente.

2. En el código anterior hay una declaración de variables (var numeroImagenActual =9;) que no está dentro de una función. ¿Por qué crees que se ha hecho esto así? Prueba a colocarla dentro de la función, comprueba qué ocurre y razona el por qué.

Respuesta:     Al crear la variable var numeroImagenActual =9 fuera de la función de esta forma se hacen dos cosas: 1) Se crea una variable con hosting global a toda la página 2) Al mismo tiempo se inicializa con el valor numérico igual a 9. Inicialmente la variable comienza valiendo 9 para la página pero luego este valor se va actualizando  de acuerdo a la expresión numeroImagenActual = valorNuevoNumeroImagen y a los eventos realizados por el usuario
   Al colocar la variable dentro de la función se observan dos cosas: 1) el hosting es local a la función, por lo tanto, existe sólo dentro de la función y 2) fuera de la función la variable “numeroImagenActual “ inicialmente no ha sido definida y no posee ningún valor. Por lo tanto, cuando el programa se ejecuta ingresa dentro de la función encontrándose con una variable definida e inicializada cuyo valor siempre será 9 (var numeroImagenActual =9) obviándose de esta forma los dos condicionales if siguientes:

Código: [Seleccionar]
  if (numeroImagenActual == 6 && movimiento == 'atras' || numeroImagenActual == 11 && movimiento == 'adelante')
if (numeroImagenActual == 11 && movimiento == 'atras' || numeroImagenActual == 6 && movimiento =='adelante')


3. Modifica el código anterior para que en lugar de definirse src, alt y title para cada imagen dentro de los if, se definan estos valores usando arrays declarados en cabecera de la función. Por ejemplo tendremos que:

Código: [Seleccionar]
valorSrc[0] = 'http://aprenderaprogramar.com/images/thumbs_portada/thumbs_camisetas/camiseta_6_humor_informatico_foto.jpg';
Las asignaciones dentro de los if deberán hacer referencia a los elementos del array y el resultado de ejecución deberá ser el mismo que se obtenía con el código original.[/b]

  Respuesta:

 
Código: [Seleccionar]
    <html><head><title>Curso JavaScript aprenderaprogramar.com</title> <meta charset="utf-8">
<style type="text/css">
body {text-align: center; font-family: sans-serif;}
div {margin:20px;}
#contenedor {width:405px;margin:auto;}
#adelante, #atras {padding:15px; width: 130px; float: left;
color: white; border-radius: 40px; background: rgb(202, 60, 60);}
#adelante:hover, #atras:hover {background: rgb(66, 184, 221);}
</style>
<script type="text/javascript">
var numeroImagenActual =9;
function moverImagen(movimiento) {
  valorSrc = ['http://aprenderaprogramar.com/images/thumbs_portada/thumbs_camisetas/camiseta_6_humor_informatico_foto.jpg', 'http://aprenderaprogramar.com/images/thumbs_portada/thumbs_camisetas/camiseta_9_humor_informatico_foto.jpg', 'http://aprenderaprogramar.com/images/thumbs_portada/thumbs_camisetas/camiseta_11_humor_informatico_foto.jpg'];
  valorAlt = ['Camiseta 6 aprenderaprogramar.com', 'Camiseta 9 aprenderaprogramar.com', 'Camiseta 11 aprenderaprogramar.com'];
  valorTitle = ['Desbordado por los números', 'Diálogo entre informáticos', 'Estudiando programacion'];

if (numeroImagenActual == 6 && movimiento == 'atras' || numeroImagenActual == 11 && movimiento == 'adelante') {
alert ('No es posible hacer ese movimiento');
}
if (numeroImagenActual == 11 && movimiento == 'atras' || numeroImagenActual == 6 && movimiento =='adelante') {
valorNuevoNumeroImagen = 9;
document.getElementById('imgCarrusel').src = valorSrc[1];
document.getElementById('imgCarrusel').alt =valorAlt[1];
document.getElementById('imgCarrusel').title =valorTitle[1];
}
if (numeroImagenActual == 9 && movimiento == 'atras') {
valorNuevoNumeroImagen = 6;
document.getElementById('imgCarrusel').src = valorSrc[0];
document.getElementById('imgCarrusel').alt = valorAlt[0];
document.getElementById('imgCarrusel').title =valorTitle[0];
}
if (numeroImagenActual == 9 && movimiento == 'adelante') {
valorNuevoNumeroImagen = 11;
document.getElementById('imgCarrusel').src = valorSrc[2];
document.getElementById('imgCarrusel').alt = valorAlt[2];
document.getElementById('imgCarrusel').title =valorTitle[2];
}
numeroImagenActual = valorNuevoNumeroImagen;
document.getElementById('numeracion').firstChild.nodeValue = 'Camiseta ' + numeroImagenActual;
}
</script>
</head>
<body>
<div >
<p>Pulsa adelante o atrás</p>
<h1 id="numeracion">Camiseta 9</h1>
<img id="imgCarrusel" src="http://aprenderaprogramar.com/images/thumbs_portada/thumbs_camisetas/camiseta_9_humor_informatico_foto.jpg" alt="Camiseta 9 aprenderaprogramar.com" title="Diálogo entre informáticos">
<div id="contenedor">
<div id ="atras" onclick="moverImagen('atras')"> <<< Atrás </div>
<div id="adelante" onclick="moverImagen('adelante')" >Adelante >>></div>
</div>
</div></body></html>


 

4. Duplica todo el código HTML existente dentro de la etiqueta body, de modo que se muestren dos veces el texto, dos veces la imagen y dos veces los botones. Cuando pulsas el botón situado debajo de la imagen inferior, ¿qué ocurre? ¿Por qué ocurre esto?

   Respuesta:

  Cuando pulsas el botón situado debajo de la imagen inferior:

     a) ¿qué ocurre?
Solamente cambian las imágenes de la camisa superior y en la segunda imagen el encabezado aparece descuadrado.

    b)   ¿Por qué ocurre esto?
Lo anteriormente descrito sucede debido a que los elementos están seleecionado por ID y al ser éste único el navegador afecta el código de los primeros elementos que encuentra, siendo en este caso las primeras imágenes encontradas.



5
Respuesta propuesta para el ejercicio CU01125E del curso básico de JavaScript con ejercicios resueltos. <<JavaScript childnodes, parentNode, firstChild, last, nextSibling, children.length, childElementCount (CU01125E)>>

Enunciado Ejercicio

Crea el árbol de nodos DOM para el siguiente código:

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

<html><head><title>Ejemplo DOM - aprenderaprogramar.com</title><meta charset="utf-8">

</head>

<body>Texto en body

<div id="cabecera" class="brillante">

<h1>Portal web <span class="destacado">aprenderaprogramar.com</span>, para aprender</h1>

<img name ="lagarto" src="http://i.imgur.com/afC0L.jpg" alt="Notepad++" title="Notepad++, un útil editor de texto">

</div>

<!-- Final del código--></body></html>

El árbolo de nodos esquema se encuentra como archivo png adjunto (para visualizarlo es necesario estar logado en los foros).



Páginas: [1]

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