Autor
|
Tema: Duda sobre el bucle do...while(solucionado) (Leído 5,785 veces)
|
Senior++
Desconectado
Mensajes: 957
Ama y haz lo que te de la gana
|
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 <?
$texto = "Esto es un ejercicio de repaso."; $i=0; do { $i++; }while ($texto[$i]!="u" && $i< strlen($texto)); if ($i==strlen($texto)) echo "En el texto no existe ninguna letra u."; else echo "La hemos encontrado. Está en la posición $i."; ?> de ese código lo que no me entra en la cabeza es este codigo en especial: 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
|
|
« Última modificación: 25 Noviembre 2013, 20:13 pm por Senior++ »
|
En línea
|
Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata
|
|
|
Shell Root
|
En el while se tiene la condición! En este caso es, # SNIP while( ($texto[$i] != "u") && ($i < strlen($texto)) ): # SNIPP
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'. Y2da 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)-
|
|
« Última modificación: 25 Noviembre 2013, 20:37 pm por @shellroot »
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
Senior++
Desconectado
Mensajes: 957
Ama y haz lo que te de la gana
|
En el while se tiene la condición! En este caso es, # SNIP while( ($texto[$i] != "u") && ($i < strlen($texto)) ): # SNIPP
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'. Y2da 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: $i = 1; while($i != 10){ $i++; echo $i."<br />"; } ¿por que imprime en pantalla el numero 10, si el 10 no es distinto de 10?
|
|
« Última modificación: 25 Noviembre 2013, 21:04 pm por Senior++ »
|
En línea
|
Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata
|
|
|
#!drvy
|
·_· 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. $i = 1; while($i != 10){echo $i."<br />"; ++$i;}
Saludos
|
|
|
En línea
|
|
|
|
Senior++
Desconectado
Mensajes: 957
Ama y haz lo que te de la gana
|
 era un ejemplo para que entendiera lo que queria decirle del código anterior... bueno ya entendí todo Gracias
|
|
|
En línea
|
Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata
|
|
|
Shell Root
|
A mi me imprime sólo hasta 9  $i = 1; while($i != 10): echo $i."<br />"; $i++; endwhile;
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Duda bucle do while
« 1 2 »
Programación C/C++
|
program_10
|
10
|
4,862
|
11 Enero 2015, 17:11 pm
por Yoel Alejandro
|
|
|
Duda C# Bucle While.
.NET (C#, VB.NET, ASP)
|
FKT
|
5
|
2,659
|
18 Agosto 2015, 16:05 pm
por FKT
|
|
|
[Solucionado]Duda sobre execute immediate
Bases de Datos
|
crisoof
|
1
|
3,396
|
7 Abril 2016, 15:36 pm
por crisoof
|
|
|
[Solucionado] Duda sobre analisis de PE en Ollydbg.
Análisis y Diseño de Malware
|
Drewermerc
|
2
|
5,174
|
30 Junio 2016, 23:40 pm
por Drewermerc
|
|
|
Duda sobre no-ip (solucionado)
Dudas Generales
|
gabrielprocs
|
1
|
1,983
|
26 Marzo 2019, 21:55 pm
por gabrielprocs
|
|