Duda C# Bucle While.

Iniciado por FKT, 18 Agosto 2015, 11:08 AM

0 Miembros y 1 Visitante están viendo este tema.

FKT

Buenas, en un bucle While se puede introducir las veces que se ejecuta el bucle como un bucle for por ejemplo? Si es así me gustaría un ejemplo.

Gracias
Solo hay 10 tipos de personas, las que saben binario y las que no.

ivancea96

Un bucle while se ejecuta hasta que obtenga un valor de 0.

Así pues:
int veces = 5;
while(veces--){

}


Eso se ejecutará 5 veces. Si lo prefieres más ordenado:
int veces = 5;
while(veces){

    veces--;
}


La mayoría de los lenguajes con bucle while() serán así. Otra cosa es que el lenguaje en cuestión añada otro método, como en Python:

Código (python) [Seleccionar]
for i in range(0,5):

MNicolas

Cita de: ivancea96 en 18 Agosto 2015, 14:33 PM
Un bucle while se ejecuta hasta que obtenga un valor de 0.

Así pues:
int veces = 5;
while(veces--){

}


Eso se ejecutará 5 veces. Si lo prefieres más ordenado:
int veces = 5;
while(veces){

    veces--;
}


La mayoría de los lenguajes con bucle while() serán así. Otra cosa es que el lenguaje en cuestión añada otro método, como en Python:

Código (python) [Seleccionar]
for i in range(0,5):

Corrigeme si me equivoco pero entre los paréntesis de un bucle while debe haber un valor booleano. Por elemplo: veces!=0


int veces = 5;
while(veces>0)
{
veces--;
}


El bucle se ejecuta 'mientras' el valor entre paréntesis sea mayor a 0.

ivancea96

Oh sí, efectivamente. La costumbre de que en C, C++ y otros se puede utilizar un entero, donde "0" representa "false", y otro número representa "true" por así decirlo.

En ese caso, quedaría:

Código (csharp) [Seleccionar]
int veces = 5;
while(veces-- != 0){

}

Eleкtro

Cita de: FKT en 18 Agosto 2015, 11:08 AMen un bucle While se puede introducir las veces que se ejecuta el bucle como un bucle for por ejemplo?

¿Por qué quieres hacer algo así?.

Cómo su propio nombre indica, un búcle de tipo While realizará iteraciones mientras que la condición a evaluar devuelva true, es decir, mientras que el resultado de la evaluación sea cualquier valor distinto a 0, false.

Por ende, esto sería un búcle infinito:
Código (csharp) [Seleccionar]
while (true) {
// ...
}


Si quieres asignarle una cantidad determinada de iteraciones entonces puedes usar un contador cómo te ha mostrado @ivancea96 para ir disminuyendo su valor hasta que devuelva 0.

Saludos








FKT

Okey esa era mi duda.

Gracias chicos ;-)
Solo hay 10 tipos de personas, las que saben binario y las que no.