Buenos dias mi gente de aprenderaprogramar.com, Feliz Navidad ante todos y espero que todos reciban el nuevo año cargado de energia para seguir aprendiendo mucho más, asi como lo hago yo, que vengo con una nueva pregunta.
estoy en la entrega N° 19 del curso de php desde cero, me ha ido muy bien hasta el momento y he aprendido bastante, sin embargo me estanque en el segundo ejercicio para el cual me piden lo siguiente:
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)
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)
Este es el codigo que yo he desarrollado sin embargo me detuve debido a que si seguia haciendolo los resultados no me darian los correctos:
<?php$a = 4;$b = 2;$inicio = $a;echo " Operadores de Incremento <br/>";echo " Valores iniciales a= $a, b= $b <br/>";echo " ++a*b==10 <br/>";++$inicio*$b ==10;echo "El valor de a es : $inicio <br/>";echo " a++*b==8 <br/>";$inicio++*$b ==8;echo "El valor de a es : $inicio <br/>";echo " --a*b==10 <br/>";--$inicio*$b ==6;echo "El valor de a es : $inicio <br/>";?>
Mi pregunta es la siguiente:
cómo hago que el valor de $a o en su caso $inicio como lo asigne $inicio=$a; no cambie a medida que realizo las operaciones, como haría para mantenerlo constante, digo en el ejercicio me pide que utilice variables auxiliares para realizar el código y siempre mantener el valor inicial, sin embargo siendo $inicio=$a; cuando se utiliza en la siguiente operación es obvio que inicio ya viene aumentado o decrecido según la operación anterior, y so quiero que tenga el valor inicial.
Les agradecería que me ayudaran a aclarar esta duda.
Muchas Gracias y que tengan Feliz Navidad!
Hola, logre realizar el ejercicio creando multiple variables auxiliares y asignandole el valor de a!
<?php$a = 4;$b = 2;$inicio = $a;$inicio2 = $a;$inicio3 = $a;$inicio4 = $a;$inicio5 = $a;$inicio6 = $a;$inicio7 = $a;echo " Operadores de Incremento <br/>";echo " Valores iniciales a= $a, b= $b <br/>";echo " ++a*b==10 <br/>";++$a*$b ==10;echo "El valor de a es : $a <br/>";echo " a++*b==8 <br/>";$inicio++*$b ==8;echo "El valor de a es : $inicio <br/>";echo " --a*b==6 <br/>";--$inicio2*$b ==6;echo "El valor de a es : $inicio2 <br/>";echo " a--*b==8 <br/>";$inicio3--*$b ==8;echo "El valor de a es : $inicio3 <br/>";echo "<br/>";echo "<br/>";echo " Operadores de Asignacion <br/>";echo " Valores iniciales a= $a, b= $b <br/>";echo " a+= equivale a = a + b <br/>";$inicio4+=$b;echo "El valor de a es : $inicio4 <br/>";echo " a-= equivale a = a - b <br/>";$inicio5-=$b;echo "El valor de a es : $inicio5 <br/>";echo " a*= equivale a = a * b <br/>";$inicio6*=$b;echo "El valor de a es : $inicio6 <br/>";echo " a/= equivale a = a / b <br/>";$inicio7/=$b;echo "El valor de a es : $inicio7 <br/>";echo " a%= equivale a = a % b <br/>";$inicio8%=$b;echo "El valor de a es : $inicio8 <br/>";?>
aqui esta el link de acceso
http://cursophp.thetravelerscity.com/ejemplo19_e2.php
Muchas Gracias
Hola, he revisado tu ejercicio y tengo algunas cosas que apuntarte:
- Como solemos recordar, cuando pegues código hazlo como se indica aquí: https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0
- No hace falta que utilices tantas variables auxiliares, en el código que te pongo abajo como ejemplo te doy la idea de cómo hacerlo usando sólo una variable auxiliar
- En el código que has escrito hay algunas líneas que carecen de sentido. En el código que te doy como ejemplo te pongo un comentario sobre esto.
Esto no tiene sentido (o no tiene demasiado sentido):
echo " ++a*b==10 <br/>"; //MUESTRAS UN MENSAJE CUALQUIERA
++$a*$b ==10; // HACES UNA COMPARACIÓN ¿PARA QUÉ?
- Te adjunto el código de ejemplo (no está terminado, sería un buen ejercicio que lo terminaras tú mismo)
<meta charset="utf-8" />
<?php$a = 4;$b = 2;$inicio = $a;echo " Operadores de Incremento <br/><br/>";echo " Valores iniciales a= $a, b= $b <br/>";echo " ++a*b==".++$a*$b." (resultado obtenido) <br/>";echo "El valor de a es : $a <br/>";echo 'Pasamos a otra operación partiendo del valor inicial de a y b <br/><br/>';$a=$inicio;echo " a++*b==".$a++*$b ." (resultado obtenido) <br/>";echo "El valor de a es : $a <br/>";echo 'Pasamos a otra operación partiendo del valor inicial de a y b<br/><br/>';// $inicio++*$b ==8; UNA LÍNEA COMO ESTA CARECE DE SENTIDO$a=$inicio;echo " --a*b==".--$a*$b." <br/>";echo "El valor de a es : $a <br/>";echo 'Pasamos a otra operación partiendo del valor inicial de a y b<br/><br/>';?>
Como ves, cada vez que quiero recuperar el valor original de $a simplemente escribo $a=$inicio;
Saludos
Hola Alex Buenos dias, Muchas Gracias por tu aclaracion, lo resolvi de la siguiente manera:
<?php$a = 4;$b = 2;$inicio = $a;echo " Operadores de Incremento <br/>";echo " Valores iniciales a= $a, b= $b <br/>";echo " ++a*b==10 <br/>";++$a*$b ==10;echo "El valor de a es : $a <br/>";$a=$inicio;echo " a++*b==8 <br/>";$a++*$b ==8;echo "El valor de a es : $a <br/>";$a=$inicio;echo " --a*b==6 <br/>";--$a*$b ==6;echo "El valor de a es : $a <br/>";$a=$inicio;echo " a--*b==8 <br/>";$a--*$b ==8;echo "El valor de a es : $a <br/>";echo "<br/>";echo "<br/>";echo " Operadores de Asignacion <br/>";echo " Valores iniciales a= $a, b= $b <br/>";$a=$inicio;echo " a+= equivale a = a + b <br/>";$a+=$b;echo "El valor de a es : $a <br/>";$a=$inicio;echo " a-= equivale a = a - b <br/>";$a-=$b;echo "El valor de a es : $a <br/>";$a=$inicio;echo " a*= equivale a = a * b <br/>";$a*=$b;echo "El valor de a es : $a <br/>";$a=$inicio;echo " a/= equivale a = a / b <br/>";$a/=$b;echo "El valor de a es : $a <br/>";$a=$inicio;echo " a%= equivale a = a % b <br/>";$inicio1%=$b;echo "El valor de a es : $q <br/>";?>
pero tengo otra duda, estoy en la entrega 21 donde hay que usar el substr y el strlen, pero tengo un problema con el ejercicio.
Se me pide lo siguiente:
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 lo hice asi:
<?php$cadena = "Didáctica y divulgacion de la programación";$sub1 = substr($cadena,0,9);$sub2 = substr($cadena,10,11);$sub3 = substr($cadena,12,23);$sub4 = substr($cadena,24,26);$sub5 = substr($cadena,27,29);$sub6 = substr($cadena,30,41);echo " Las palabras primera, tercera y sexta son: " . $sub1." ". $sub3 ." ". $sub6;echo " <br/> La primera palabra es $sub1 y tiene ". strlen($sub1) . " caracteres";echo " <br/> La tercera palabra es $sub3 y tiene ". strlen($sub3) . " caracteres";echo " <br/> La sexta palabra es $sub6 y tiene ". strlen($sub6) . " caracteres";?>
donde el valor de la variable $sub1 y la $sub 6 me dan lo que dice el ejercicio, pero la $sub3 me da una cantidad de caracteres que no es, esto me imprime por pantalla
Las palabras primera, tercera y sexta son: Didáctica divulgacion de la progr programación
La primera palabra es Didáctica y tiene 9 caracteres
La tercera palabra es divulgacion de la progr y tiene 23 caracteres
La sexta palabra es programación y tiene 12 caracteres
puedes verificarlo a través del siquiente link:
http://cursophp.thetravelerscity.com/ejemplo21_e1.php
Muchas Gracias Por su tiempo y atención, que tengas un feliz día.