programación en C++ desde cero.
y entérate de las novedades o deja un comentario.
Ültima modificación: 13-07-2018.
Visitas este mes: 1
Visitas el mes pasado:
Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de los manuales.:
En los distintos manuales incluimosm más webgrafía especifica de cada sección.
Si este sitio te parece interesante puedes contribuir con una pequeña aportación.
En la página anterior hemos visto el bucle while. En este bucle las instrucciones se repiten siempre que se cumpla una condición. Para cada repetición, primero se comprueba la condición, y si esta es verdadera, se ejecutan las instrucciones. El bucle se repite mientras la condición sea verdadera. Si la condición es falsa desde un principio el bucle no se llega ejecutar ni una sola vez.
El bucle do while es muy parecido al bucle while. La gran diferencia es que aquí, aunque la condición no se cumpla, el código se ejecutará siempre al menos una vez.
Esto es debido a que primero se ejecuta el código, y después se comprueba la condición. Si ésta es verdadera, el bucle se repite, si no es así se sale de él y continúa con el resto del programa.
La sintaxis es ligeramente diferente del bucle while, ya que aquí la condición se india al final de la estructura:
do { <Sentencias que se repiten>; } while (<condicion>);
empezamos poniendo la palabra clave do seguido del bloque de sentencias que se repiten. Después del bloque de sentencias ponemos la palabra clave while seguida de la condición entre paréntesis.
Tal como hemos indicado, al estar la condición al final del bucle, este se ejecuta siempre la primera vez, y la comprobación de la condición se ace al finalizar el bucle, con lo cual se decide si el bucle se repite o no.
Por lo demás es igual que el bucle while, es decir, si queremos repetir el bucle un número determinado de veces, necesitamos una variable de control (i).
Como con cualquer otro bucle, hay que tener en cuenta que tras un número de repeticiones tiene que llegar un momento en que la condición no se cumpla, para poder salir del bucle, y no caer en el error de hacer un bucle infinito.
Al igual que con el bucle while la variable de control la inicializaremos antes del bucle, la utilizaremos también como referencia en la condición, y la actualizaremos en cada repetición del bucle. Por ejemplo, para hacer un bucle que se repita 10 veces haremos:
int i=0; do { <sentencias que se repiten>; i++; } while (i < 10)
Veamos un ejemplo en el que empleamos el bucle do while. Aquí le pedimos al usuario un número y el programa repetirá una frase el número de veces que el usuario nos diga, pero si el número es cero o negativo, escribiremos igualmente la frase una vez. El archivo fuente será el siguiente:
#include<iostream> using namespace std; int main() { int i=0, r; cout << "Escribe un numero para repetir la frase."; cin >> r; cout << "La frase se escribira al menos una vez aunque el numero sea cero o negativo." << endl; do { i++; cout << i << ".- Esta es una frase repetida" << endl; } while(i < r); }
Al compilar y ejecutar el programa, se le pide un número al usuario, si este es 1 o myor que 1 se repite la frase el número de veces que nos indica, si no es así siempre se repite una vez.
Esto sucede así por que hemos usado el bucle do while. Con otro tipo de bucle, si la condición no se cumple, no tendríamos ninguna repetición.
Hemos visto aquí un ejemplo en el que el bucle se repite un número definido de veces. Sin embargo es posible que la condición no deenda de un número determinado, sino de algún otro factor. En todo caso ese factor debe variar de una repeticion a otra, de manera que llegue un momento en que la condición no se cumpla, y se pueda salir del bucle.
En la página anterior hemos visto un ejemplo con el bucle while en el que pedimos al usuario que escriba una determinada letra. Se lo hace se acaba el programa, y si no entra en un bucle, que le pide que vuelva a escribir esa letra.
Con el bucle do while tenemos más fácil crear un programa parecido, ya que la primera vez que preguntamos también forma parte del bucle. Veamos el código fuente:
#include<iostream> using namespace std; int main() { char c; do { cout << "Pulsa la letra s para acabar el programa : "; cin >> c; cout << endl; } while (c!='s'); cout << "Has pulsado s. Programa acabado." << endl; }
Tras compilar y ejecutar el programa, éste le pide al usuario que escriba la letra s. si la letra escrita no es la s se repite el bucle y se lo vuelve a pedir otra vez. Si la letra escrita es la s, se sale del bucle y se termina el programa.
Observa cómo aquí también el bucle se repite siempre al menos una vez, ya que aunque escribamos bien la letra la primera vez, hemos tenido que entrar en el bucle para poder escribirla.
Los bucles while y do while son muy parecidos, tanto que el bucle do while puede considerarse una variante del bucle while..
Recuerda poner bien la variable de control y la condición, para que el bucle funcione perfectamente, de manera que al principio la condición se cumpla, y esta vaya variando en cada repetición, hasta que llegue un momento en que ya no se cumpla, y se pueda salir del bucle.
En la siguiente página veremos otro tipo de bucles:
Sugerencias:
aprendeweb@aprende-web.net. Envia un
Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog
Más sobre anyelguti en http://anyelguti.16mb.com