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.
Un bucle, en programación, es una sentencia o bloque de sentencias que se repiten de forma continua hasta que una condición, que va asociada al bucle, deje de cumplirse.
Se utiliza normalmente para realizar accciones repetidas, sin tener que escribir repetidamente el código. Esto nos ahorra tiempo y líneas de código, a la vez que deja el código más claro y más fácil por su hubiera que modificarlo.
En un bucle tenemos por lo tanto los siguientes elementos:
Un bucle es un bloque que se repite en su ejecución. La repetición depende de que se cumpla una condición. Es decir, cuando el programa encuentra una estructura de bucle, ésta tiene una condición que es evaluada mediante un booleano. Si el resultado es verdadero, se ejecuta el bloque, al final de su ejecución vuelve a evaluar la condición, la cual si vuelve a cumplirse, vuelve a ejecutar el bloque, y así, indefinidamente hasta que en una de las repeticiones la condición no se cumpla. Entonces se sale del bucle, y se sigue con el programa.
Es por tanto necesario para la ejecución del bucle, que en principio la condición de como resultado verdadero. También es necesario que durante las distintas repeticiones del bloque, haya algún elemento (normalmente una variable) relacionado con la condición, que vaya cambiando, de tal manera que al cabo de un determinado número de repeticiones, la condición resulte falsa, y se pueda así acabar el bucle.
Si la condición es siempre verdadera, entraríamos en un bucle infinito, que hace que el programa se atasque en ese punto.
El tipo de bucle más sencillo es el bucle while. Para crear un bucle while, simplemente hace falta poner la palabra clave while seguida de la condición entre paréntesis, y después el bloque de sentencias.
while (<condicion>) {<Sentencias que se repiten>}
Sin embargo la mayoría de las veces utilizaremos una operación condicional o lógica como condición. Por ejemplo, queremos que un determinado bloque se repita 10 veces. Para ello lo normal es utilizar una variable de control. Esta variable controlará el número de veces que se repite el bucle. Debemos declararla antes de empezar el bucle, y además inicializarla, normalmente con valor 0.
int i = 0;
Se utiliza una variable de tipo entero para controlar el numero de vueltas (repeticiones) del bucle. Por convención suele utilizarse la letra i para definir esta variable.
Empezamos el bucle escribiendo la palabra clave while seguida de la condición entre paréntesis. Como queremos que el bucle se repita 10 veces, la condición será que la variable i se menor que 10:
while (i < 10)
Seguimos con el bloque de sentencias. Para que el bucle tenga un número definido de repeticiones, debemos variar la variable de control (i) de manera que cuente el número de repeticiones que llevamos en cada vuelta. Para ello, dentro del bloque de sentencias, debemos incrementar el valor de la variable de control una unidad en cada vuelta. Esto es lo que se llama "actualizar" la variable de control. El bloque de sentencias será como el siguiente:
{
<sentencias que se repiten>;
i = i+1;
}
Es decir, en cada vuelta el valor de i aumenta en una unidad. Cuando el valor de i sea igual a 10 la condición será falsa, y el bucle dejará de repetirse.
Se trata de repetir un bucle u número fijo de veces. Un ejemplo típico es escribir una tabla de multiplicar, para ello utilizamos la variable de control para crear las distintas líneas de la tabla. Este es su código fuente:
#include<iostream> using namespace std; int main() { cout << "Tabla del 7" << endl << endl; int i= 0; while (i <=10) { cout << 7 << " x " << i << " = " << 7*i << endl; i = i+1; } }
Tras compilar y ejecutar este archivo vemos que nos muestra la tabla de multiplicar del 7. Para escribirla hemos usado un bucle. En él la variable de control la hemos usado como uno de los operandos, para relizar las distintas líneas de la tabla.
Observa cómo hemos seguido aquí todos los pasos descritos para formar un bucle. Es decir: Declaramos e inicializamos la variable de control; usamos esta variable para indicar la condición, y después la variamos en cada una de las vueltas.
Observa que aquí hemos puesto la sentencia i = i+1; para "actualizar" (incrementar) la variable de control. Podríamos haber puesto igualmente la sentencia i++; (operacion incremento) y habríamos obtenido el mismo resultado.
Sin embargo, puede ser que no sepamos el número de veces que debe repetirse el bucle, pero si sabemos lo que tiene que pasar para que el bucle deje de repetirse. En todo caso, pra salir del bucle, debe cumplirse la condición.
En este ejemplo pedimos al usuaro que pulse la letra "s", y si no la pulsa se lo volvemos a pedir, de manera que hasta que no pulse la letra "s" no se acaba el programa.
#include<iostream> using namespace std; int main () { cout << "Pulsa la letra s para salir del programa" <<endl; char c; cin >> c; while (c != 's') { cout << "No es una s. Intentalo de nuevo" << endl; cin >> c; } cout << "s pulsada. Programa acabado" << endl; }
Compilamos y ejecutamos el programa. Vemos que aquí se le pide al usuario que escriba la letra "s". Hasta que no la escriba, el programa le repite la petición, formando un bucle del que sólo se sale cuando el usuario escribe la letra "s".
Por lo tanto el número de repeticiones no es fijo, sino que depende de lo que haga el usuario. De hecho, si escribe la "s" al principio, el bucle no se llega a ejecutar ni una sola vez, ya que la condición no llega a cumplirse.
En este ejemplo la condición es que el usuario no escriba una s. Si el usuario no escribe la letra "s", se le advierte de que no ha escrito lo que le hemos pedido, y se le pide que la escriba de nuevo. Al escribir la "s" la condición ya no se cumple, por lo que se sale del bucle y se pasa a la siguiente sentencia.
Seguimos en la siguiente página con los 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