Título: Duda sobre el bucle do...while(solucionado) Publicado por: Senior++ en 25 Noviembre 2013, 12:00 pm Resulta que me encontre con este código:
Código: <?php Bueno entiendo casi todo del código, lo que no entiendo es Código: $texto[$i]!="u" Saludos ;-) Título: Re: Duda sobre el bucle do...while Publicado por: Mad Antrax en 25 Noviembre 2013, 12:04 pm while ($texto[$i]!="u" && $i< strlen($texto));
Se puede traducir como: Mientras el contenido de la variable $texto sea distinto de "u" y el contador sea inferior al tamaño de la variable $texto.... Por lo que veo, el bucle recorre el contenido de una variable de texto y si se encuentra el carácter "u" se detiene. != es un operador para comparar. Significa no es igual a Título: Re: Duda sobre el bucle do...while Publicado por: Senior++ en 25 Noviembre 2013, 12:35 pm while ($texto[$i]!="u" && $i< strlen($texto)); gracias por responder..Se puede traducir como: Mientras el contenido de la variable $texto sea distinto de "u" y el contador sea inferior al tamaño de la variable $texto.... Por lo que veo, el bucle recorre el contenido de una variable de texto y si se encuentra el carácter "u" se detiene. != es un operador para comparar. Significa no es igual a pero la parte que no entiendo es la parte del [$i],¿es como si fuera un indice? osea el primer caracter que evalua es la 'E'? el recorrido ese lo hace gracias a la variable $i no? Título: Re: Duda sobre el bucle do...while Publicado por: Shell Root en 25 Noviembre 2013, 14:16 pm pero la parte que no entiendo es la parte del [$i],¿es como si fuera un indice? osea el primer caracter que evalua es la 'E'? el recorrido ese lo hace gracias a la variable $i no? Simon, se comporta como si fuera un arrayTítulo: Re: Duda sobre el bucle do...while Publicado por: Senior++ en 25 Noviembre 2013, 14:21 pm Simon, se comporta como si fuera un array Hola gracias por contestar, entonces si yo hago esto: Código: $texto[$i] quiere decir que es un 'simon'? :xD entonces si la cadena en este caso es: Código: $texto = "Esto es un ejercicio de repaso."; Lo siento pero no lo entendí bien... Título: Re: Duda sobre el bucle do...while Publicado por: Shell Root en 25 Noviembre 2013, 15:21 pm A manera de pseudocódigo, sí! Pero en realidad el primer indice es 0, es decir,
Código
Código
Y lo de "simon", es una afirmación, SImon! -veo mucho los simpson :p- Título: Re: Duda sobre el bucle do...while Publicado por: Senior++ en 25 Noviembre 2013, 16:35 pm A manera de pseudocódigo, sí! Pero en realidad el primer indice es 0, es decir, Código
Código
Y lo de "simon", es una afirmación, SImon! -veo mucho los simpson :p- Ok ya entendí,gracias Por cierto vi nas cuantas curiosidades en tu código: en esta parte: Código: $i=0; $i <= strlen($aNick)-1; $i++ Código: $i=0; $i < strlen($aNick); $i++ La otra es que inicias un bucle for y lo terminas con un endfor ¿que diferencia hay entre ponerlo así o con {}? así: Código: $aNick = "shellroot"; Saludos y gracias de nuevo Título: Re: Duda sobre el bucle do...while Publicado por: HackID1 en 25 Noviembre 2013, 16:45 pm En esta parte: Código: $i=0; $i <= strlen($aNick)-1; $i++ Código: $i=0; $i < strlen($aNick); $i++ R= No es lo mismo menor ( < ) a menor igual (<= ) , En el 1 caso entra hasta el último carácter de la cadena ( que es la t ). En el 2 caso solo mostraría hasta la letra ( o ) faltaría por mostrar la t de root. La otra es que inicias un bucle for y lo terminas con un endfor ¿que diferencia hay entre ponerlo así o con {}? así: Código: $aNick = "shellroot"; Esto es otra variante de hacer un for. solo eso cuestión de gustos. Título: Re: Duda sobre el bucle do...while Publicado por: Senior++ en 25 Noviembre 2013, 18:17 pm while ($texto[$i]!="u" && $i< strlen($texto)); Se puede traducir como: Mientras el contenido de la variable $texto sea distinto de "u" y el contador sea inferior al tamaño de la variable $texto.... Por lo que veo, el bucle recorre el contenido de una variable de texto y si se encuentra el carácter "u" se detiene. != es un operador para comparar. Significa no es igual a Me liastes con tu respuesta, dices mientras la variables $texto[$i] sea distinto de "u" se ejecuta el código pero que pasa cuando la variable $texto[$i] es igual a "u" ¿por que se sigue ejecutando el bloque de código del bucle while(osea el if) Saludos Título: Re: Duda sobre el bucle do...while Publicado por: Shell Root en 25 Noviembre 2013, 18:57 pm Código
Tiempo atras, cuando empezaba a programar no me gustaba utilizar el ciclo while, pero despues de un tiempo entendí qué: cada cosa se usa para cada cosa, es decir, hay casos en los que se DEBE de usar while... Título: Re: Duda sobre el bucle do...while Publicado por: Senior++ en 25 Noviembre 2013, 20:09 pm Hola shellroot, enserio muchas gracias por ayudar, tu código con el for lo entiendo perfectamente, osea lo entiendo totalmente, pero no entiendo este código, este en especial del while
Código: <? de ese código lo que no me entra en la cabeza es este codigo en especial: Código: while ($texto[$i]!="u" Mientras $texto sea DISTINTO a "u"... ok pero que pasa si $texto[$i] llega al valor 8 osea $texto[8], osea en el valor 8 se encuentra el caracter "u", y el while dice: mientras $texto sea DISTINTO, osea no es distinto ¿por que se sigue ejecutando todo lo que hay detras del bucle while? osea el if en ese momento no se deberia de ejecutar ¿por que se ejecuta? En resumen: cuando llegue al indice 8 por que se ejecuta lo que hay detras del bucle while? si $texto[8] no es distinto al caracter 'u' , es igual Título: Re: Duda sobre el bucle do...while Publicado por: Shell Root en 25 Noviembre 2013, 20:34 pm En el while se tiene la condición! En este caso es,
Código
Ahora lo que debes de entender es la logica de programación, operadores tales como: OR, AND, Xor, Not,... Para este ejemplo, se tiene el operador AND ( && ). Entonces para el while se tienen 2 condiciones, 1er Condición: El caracter en la posición indice ($i) sea diferente de 'u'. Y 2da Condición: El tamaño de caracteres debe de ser menor del texto recorrido. Para que el while funcione, se deben de cumplir las dos condiciones, cuando una de ellas sea falsa, el ciclo termina! -caso diferente al tener el operador OR (||, que es cuando se cumplen 1 de las 2 condiciones)- Título: Re: Duda sobre el bucle do...while Publicado por: Senior++ en 25 Noviembre 2013, 20:57 pm En el while se tiene la condición! En este caso es, Código
Ahora lo que debes de entender es la logica de programación, operadores tales como: OR, AND, Xor, Not,... Para este ejemplo, se tiene el operador AND ( && ). Entonces para el while se tienen 2 condiciones, 1er Condición: El caracter en la posición indice ($i) sea diferente de 'u'. Y 2da Condición: El tamaño de caracteres debe de ser menor del texto recorrido. Para que el while funcione, se deben de cumplir las dos condiciones, cuando una de ellas sea falsa, el ciclo termina! -caso diferente al tener el operador OR (||, que es cuando se cumplen 1 de las 2 condiciones)- entiendo todo eso, pero para que usted lo entienda a lo que me refiero con un codigo mas sencillo: Código: $i = 1; ¿por que imprime en pantalla el numero 10, si el 10 no es distinto de 10? Título: Re: Duda sobre el bucle do...while Publicado por: #!drvy en 25 Noviembre 2013, 21:21 pm ·_·
Cuestion de logica. Incrementas y imprimes antes de comprobar el numero. Osease... el while llega a 9!=10 y ejecuta lo que hay dentro, inmediatamente se suma uno (10) y se impime. Código
Saludos Título: Re: Duda sobre el bucle do...while Publicado por: Senior++ en 25 Noviembre 2013, 21:54 pm :xD era un ejemplo para que entendiera lo que queria decirle del código anterior...
bueno ya entendí todo Gracias Título: Re: Duda sobre el bucle do...while(solucionado) Publicado por: Shell Root en 25 Noviembre 2013, 23:02 pm A mi me imprime sólo hasta 9 :silbar:
Código
Código: 1 |