19. C++ || Estructura de control while
Ya finalizado el estudio anterior, daremos inicio a los bucles while, for y do-while en C++.
Las estructuras repetitivas han sido pensadas para facilitar el trabajo humano debido a la cantidad de tareas que puede llegar a realizar un computador, la sentencia while es un bucle que se repite o itera un número determinado de veces, así como en el caso de la sentencia if, la sentencia while en C++ también tiene una condición que ejecuta un bloque de acciones, si esta condición llega a ser verdadera, entonces el cuerpo del bucle se pasa a ejecutar, esto va a dejar de ocurrir en el momento que la condición sea falsa. Un bucle while funciona de la siguiente manera:
Primero se evalúa una condición, si esta es verdadera, pasa a ejecutar el cuerpo del bucle que esta encerrado en llaves, luego que ejecute su última acción, el programa regresa al principio del bucle y nuevamente evalúa la condición, si sigue siendo verdadera, ejecuta el cuerpo del bucle nuevamente, si no lo es, sale de él y se ejecutan las sentencias posteriores.
El bucle while en C++ se va a repetir siempre que la condición sea verdadera, su sintaxis es:
while (condición)
{
// cuerpo del bucle
}
La condición del bucle se va a evaluar siempre antes de que se ejecute el cuerpo del bucle. ¿Recuerdan de los operadores de incremento y decremento en C++? Vamos a ver lo útiles que son:
Este programa en C++ lo que va a hacer es escribir todos lo números del 1 al 100. Fíjense en la sentencia numero++, tengan en claro que el bucle while se va a ejecutar siempre que la condición sea verdadera, esto sugiere que pueden llegar a existir bucles infinitos, lo cual es un total error. Para evitar eso ustedes los programadores deben crear una forma en la cual, la condición del bucle en algún momento llegue a ser falsa, veamos lo que ocurre en el ejemplo anterior.
Ya la variable numero valdrá 2, como el bucle va a volver al inicio, se va a evaluar nuevamente la condición, la cual será cierta ya que 2 es menor que 100, se va a imprimir el valor de 2 y nuevamente la variable numero va a aumentar 1, es decir, 3, otra vez se evalúa la condición, (3 <= 100) esto es verdad, se imprime 3 en pantalla y numero aumenta a 4, se vuelve a evaluar la condición y así consecutivamente.
¿Qué va a ocurrir cuando la variable numero sea igual a 100? Se evaluará la condición (100 <= 100) esto sabemos que es verdad porque 100 = 100 así que se va a imprimir en pantalla el numero 100 y numero aumentará en 1.
¿Qué va a ocurrir cuando la variable numero sea igual a 101? Otra vez se evaluará la condición (101 <= 100) y esto NO es verdad, por lo tanto se saldrá del bucle y no se ejecutarán las acciones que están encerradas en llaves. Un grave error sería el siguiente:
Noten que es el mismo ejemplo anterior con la diferencia de que ahora a la variable numero se le va a restar uno, esto trae como consecuencia que la condición siempre va a ser verdadera ya que numero va ir decreciendo continuamente.
1
0
-1
-2
-3
.
.
.
-n
Y por obvias razones siempre será menor que 100, a esto se le llama bucle infinito.
bucle while
Las estructuras repetitivas han sido pensadas para facilitar el trabajo humano debido a la cantidad de tareas que puede llegar a realizar un computador, la sentencia while es un bucle que se repite o itera un número determinado de veces, así como en el caso de la sentencia if, la sentencia while en C++ también tiene una condición que ejecuta un bloque de acciones, si esta condición llega a ser verdadera, entonces el cuerpo del bucle se pasa a ejecutar, esto va a dejar de ocurrir en el momento que la condición sea falsa. Un bucle while funciona de la siguiente manera:
Primero se evalúa una condición, si esta es verdadera, pasa a ejecutar el cuerpo del bucle que esta encerrado en llaves, luego que ejecute su última acción, el programa regresa al principio del bucle y nuevamente evalúa la condición, si sigue siendo verdadera, ejecuta el cuerpo del bucle nuevamente, si no lo es, sale de él y se ejecutan las sentencias posteriores.
El bucle while en C++ se va a repetir siempre que la condición sea verdadera, su sintaxis es:
while (condición)
{
// cuerpo del bucle
}
- while palabra reservada por C++ que indica el comienzo de un bucle while
- condición expresión lógica que determina si las acciones que están dentro del cuerpo del bucle se van a ejecutar
- cuerpo del bucle acciones que se van ejecutar siempre que condición sea verdadera
La condición del bucle se va a evaluar siempre antes de que se ejecute el cuerpo del bucle. ¿Recuerdan de los operadores de incremento y decremento en C++? Vamos a ver lo útiles que son:
int numero = 1; while (numero <= 100) { cout<<numero<<endl; numero++; }
Este programa en C++ lo que va a hacer es escribir todos lo números del 1 al 100. Fíjense en la sentencia numero++, tengan en claro que el bucle while se va a ejecutar siempre que la condición sea verdadera, esto sugiere que pueden llegar a existir bucles infinitos, lo cual es un total error. Para evitar eso ustedes los programadores deben crear una forma en la cual, la condición del bucle en algún momento llegue a ser falsa, veamos lo que ocurre en el ejemplo anterior.
- Se declara e inicializa una variable llamada numero a 1.
- Se impone la condición de que mientras numero sea menor o igual a 100, se va a ejecutar el cuerpo del bucle.
- Como la condición es cierta ya que 1 es menor que 100, entra en el cuerpo del bucle.
- Se escribe en pantalla el valor de la variable numero, en este caso, 1 y se hace un salto de línea simple.
- Se incrementa el valor de la variable numero en 1.
- Se regresa al paso 2.
Ya la variable numero valdrá 2, como el bucle va a volver al inicio, se va a evaluar nuevamente la condición, la cual será cierta ya que 2 es menor que 100, se va a imprimir el valor de 2 y nuevamente la variable numero va a aumentar 1, es decir, 3, otra vez se evalúa la condición, (3 <= 100) esto es verdad, se imprime 3 en pantalla y numero aumenta a 4, se vuelve a evaluar la condición y así consecutivamente.
¿Qué va a ocurrir cuando la variable numero sea igual a 100? Se evaluará la condición (100 <= 100) esto sabemos que es verdad porque 100 = 100 así que se va a imprimir en pantalla el numero 100 y numero aumentará en 1.
¿Qué va a ocurrir cuando la variable numero sea igual a 101? Otra vez se evaluará la condición (101 <= 100) y esto NO es verdad, por lo tanto se saldrá del bucle y no se ejecutarán las acciones que están encerradas en llaves. Un grave error sería el siguiente:
int numero = 1; while (numero <= 100) { cout<<numero<<endl; numero--; }
Noten que es el mismo ejemplo anterior con la diferencia de que ahora a la variable numero se le va a restar uno, esto trae como consecuencia que la condición siempre va a ser verdadera ya que numero va ir decreciendo continuamente.
1
0
-1
-2
-3
.
.
.
-n
Y por obvias razones siempre será menor que 100, a esto se le llama bucle infinito.
1 comentarios les gane a los bots
ResponderEliminar