Gabriel,
No debes asumir en absoluto NADA sobre si la condición se evalua antes
o después de ejecutar el cuerpo del bucle solo por el nombre de la
estructura de control, ya sea en español o en inglés.
El "while" (mientras) evalua la condición primero, por lo que si es
falsa la primera vez, nunca se ejecuta el bucle.
Tanto el "do-while" como el "repeat-until" ejecutan el cuerpo del
bucle al menos una primera vez, con lo que la condición se evalua
después de ejecutar el cuerpo.
El "for" en PHP y en C/C++ es simplemente una manera abreviada de
escribir un "while". Observa el siguiente código en PHP:
$i = 1; // inicialización (1)
while ($i<=100) { // condición (2)
echo "$i\n"; // cuerpo del bucle (3)
$i = $i + 1; // incremento (4)
}
Esto mismo se escribe como un "for" de la siguiente manera:
// inicialización(1), condición (2), e incremento (4)
for($i=1; $i<=100; $i++) {
echo "$i\n"; // cuerpo del bucle (3)
}
¿Cuál es entonces la ventaja de usar el for vs el while? No es una
ventaja algorítmica ni computacional, es una facilidad para el
programador humano, ya que el código es mas compacto y se distingue a
simple vista el cuerpo del bucle ya que el incremento esta arriba.
Espero que con esta explicación te quede mas claro el "for" y que en
algunos dias más entiendes porque lo siguiente es perfectamente válido
y en la práctica no se constituye en un bucle infinto.
<?php
for (; $x = rand(0,10) ;) {
echo "$x\n";
}
?>
Suerte con la programación y no te desanimes!
Antonio
El día 14 de octubre de 2009 07:55, Gabriel <[email protected]> escribió:
> claro, yo entiendo eso, pero entonces no se me parecen los términos en
> inglés a los españoles.
>
> Do-while es haga-mientras
>
> Otra cosa es decir
>
> repita-hasta es decir repeat-until
>
> entonces haga-mientras la condición se esté cumpliendo
>
> el otro sería:
>
> repita hasta que se cumpla la condición
>
> simplifico para entender
>
> concluyo en que en el mientras, la condición va después, es decir, mientras
> <si condición>,
>
> en el repita la condición va primero <si condición> repita (y luego se
> repite, entra al bucle, ve si está la condición, repite, etc.
>
> Si hablamos del for entonces se me complica. En cuanto a PHP, no lo estoy
> usando, estamos apenas haciendo seudocódigo, luego se verán unos rudimentos
> de C y C++.
>
>
>
> El 14 de octubre de 2009 00:05, alem guillermo bar villalobos
> <[email protected]> escribió:
>>
>> exacto rudy tiene toda la razon....
>>
>> El 13 de octubre de 2009 16:11, Rudy Godoy Guillén <[email protected]>
>> escribió:
>>>
>>> Hola Gabriel,
>>>
>>> 2009/10/13 Gabriel <[email protected]>
>>>>
>>>> lo que sucede es que aca en Costa Rica estoy usando un libro que viene
>>>> en español.
>>>>
>>>
>>> Lo importante no es cómo está escrito sino que entiendas el propósito de
>>> cada control en la construcción de tus algoritmos. Esto debe ser visto a
>>> nivel de pseudo código.
>>>
>>> --
>>> Rudy Godoy
>>> http://twitter.com/rudygodoy
>>>
>>> _______________________________________________
>>> Lista de correo Linux-plug
>>> Temática: Discusión general sobre Linux
>>> Peruvian Linux User Group (http://www.linux.org.pe)
>>>
>>> Participa suscribiéndote y escribiendo a: [email protected]
>>> Para darte de alta, de baja o hacer ajustes a tu suscripción visita:
>>> http://listas.linux.org.pe/mailman/listinfo/linux-plug
>>>
>>> IMPORTANTE: Reglas y recomendaciones
>>> http://www.linux.org.pe/listas/reglas.php
>>> http://www.linux.org.pe/listas/comportamiento.php
>>> http://www.linux.org.pe/listas/recomendaciones.php
>>
>>
>>
>> --
>> Porque la libertad no es elegir entre pocas opciones, tampoco es elegir
>> quien sera tu amo, la libertad es no tener amos...
>> ---ALEMCITO---
>>
>> (\__/) Este es Conejo.
>> (='.'=) Copia a Conejo en tu firma y
>> (")_(") ayúdale en sus planes de conquista mundial.
>>
>> _______________________________________________
>> Lista de correo Linux-plug
>> Temática: Discusión general sobre Linux
>> Peruvian Linux User Group (http://www.linux.org.pe)
>>
>> Participa suscribiéndote y escribiendo a: [email protected]
>> Para darte de alta, de baja o hacer ajustes a tu suscripción visita:
>> http://listas.linux.org.pe/mailman/listinfo/linux-plug
>>
>> IMPORTANTE: Reglas y recomendaciones
>> http://www.linux.org.pe/listas/reglas.php
>> http://www.linux.org.pe/listas/comportamiento.php
>> http://www.linux.org.pe/listas/recomendaciones.php
>
>
> _______________________________________________
> Lista de correo Linux-plug
> Temática: Discusión general sobre Linux
> Peruvian Linux User Group (http://www.linux.org.pe)
>
> Participa suscribiéndote y escribiendo a: [email protected]
> Para darte de alta, de baja o hacer ajustes a tu suscripción visita:
> http://listas.linux.org.pe/mailman/listinfo/linux-plug
>
> IMPORTANTE: Reglas y recomendaciones
> http://www.linux.org.pe/listas/reglas.php
> http://www.linux.org.pe/listas/comportamiento.php
> http://www.linux.org.pe/listas/recomendaciones.php
>
_______________________________________________
Lista de correo Linux-plug
Temática: Discusión general sobre Linux
Peruvian Linux User Group (http://www.linux.org.pe)
Participa suscribiéndote y escribiendo a: [email protected]
Para darte de alta, de baja o hacer ajustes a tu suscripción visita:
http://listas.linux.org.pe/mailman/listinfo/linux-plug
IMPORTANTE: Reglas y recomendaciones
http://www.linux.org.pe/listas/reglas.php
http://www.linux.org.pe/listas/comportamiento.php
http://www.linux.org.pe/listas/recomendaciones.php