Looping mientras que una condición es verdadera en c ++

Declaraciones Branch le permiten dirigir el flujo de ejecución de un programa en C ++ por un camino u otro. Esta es una gran mejora, pero todavía no lo suficiente como para escribir programas resistencia completa.

Considere el problema de la actualización de la pantalla del ordenador. El PC típica debe actualizar más de mil píxeles para cada fila, ya que pinta una imagen de izquierda a derecha. Repite este proceso para cada una de las mil y tantas filas en la pantalla. Esto se hace mediante la ejecución de la misma pequeño número de instrucciones, millones de veces - una vez para cada píxel.

La forma más simple de la declaración de bucle es la mientras lazo. Esto es lo que la mientras bucle se ve así:

while (condición) {// ... repetidamente ejecutada, siempre y cuando la condición es true}

los condición se prueba. Esta condición podría ser si var> 10 o si var1 var2 == o cualquier otra expresión que se podría pensar en el tiempo que devuelve un valor de cierto o falsa. Si la condición es cierto, las declaraciones prospectivas dentro de las llaves se ejecutan. Al encontrar la llave cerrada, devoluciones C ++ el control al principio, y el proceso comienza de nuevo.

Si la condición es falsa, el control pasa a la primera declaración después de la llave cerrada. El efecto es que el código de C ++ dentro de las llaves se ejecuta repetidamente, siempre y cuando la condición es cierto.

Si la condición eran cierto la primera vez, lo que tendría que ser falso ¿En el futuro? Considere el siguiente programa de ejemplo:

// WhileDemo - Entrada de un recuento de bucle. Bucle while // salida acadena número arg de veces. # Include #include #include using namespace std-int main (int nNumberofArgs, char * pszArgs []) {// introducir el countint bucle nLoopCount-cout lt; lt; "Introduzca el recuento de bucle:" cin >> nLoopCount - // ahora bucle que muchos timeswhile (nLoopCount> 0) {nLoopCount = nLoopCount - 1-cout lt; lt; "Sólo" lt; lt; nLoopCountlt; lt; "Bucles para ir" lt; lt; endl -} // espera hasta que el usuario está listo antes de finalizar el programa // para que el usuario pueda ver el resultscout programa lt; lt; "Pulse Intro para continuar ..." lt; lt; endl-cin.ignore (10, ' n') - cin.get () - volver 0-}

WhileDemo comienza mediante la recuperación de un recuento de bucle del usuario, que almacena en la variable nLoopCount. El programa ejecuta entonces una mientras lazo. los mientras primeras pruebas nLoopCount. Si nLoopCount es mayor que 0, el programa entra en el cuerpo del bucle (la cuerpo El código entre las llaves), donde se disminuye nLoopCount por 1 y envía el resultado a la pantalla.

Entonces, el programa vuelve a la parte superior del bucle para probar si nLoopCount sigue siendo positivo.

Cuando se ejecuta, el programa WhileDemo salida a los resultados que se muestran en esta próxima fragmento. Aquí, un recuento de bucle 5 se introduce. El resultado es que el programa bucles de cinco veces, cada vez la salida de una cuenta atrás:

Introduzca el recuento de bucle: 5Sólo 4 bucles a goOnly 3 bucles a goOnly 2 bucles de goOnly 1 bucles a goOnly 0 bucles a goPress Intro para continuar ...

Si el usuario entra en un bucle de recuento negativo, el programa salta el bucle completo. Esto se debe a la condición especificada no es nunca cierto, lo que el control nunca entra en el bucle. Además, si el usuario introduce un número muy grande, el programa de bucles por un largo tiempo antes de completar.

Una versión separada, que se utiliza con menos frecuencia de la mientras conocido como el bucle hacer # 133- mientras aparece idénticos excepto la condición no se ha probado hasta la parte inferior del bucle:

do {// ... el interior del bucle} while (condición) -

Debido a que la condición no se ha probado hasta el final, el cuerpo de la hacer # 133- mientras siempre se ejecuta al menos una vez.

La condición se comprueba sólo al principio del mientras bucle o al final de la hacer # 133- mientras lazo. Incluso si la condición deja de ser cierto en algún momento durante la ejecución del bucle, control no sale del bucle hasta que se vuelve a probar la condición.




» » » » Looping mientras que una condición es verdadera en c ++