(Creado por el analista de sistemas y docente Leonel Iván Saafigueroa)
Estructuras Repetitivas:
Mientras (while)
Los bucles o ciclos son procesos que se repiten un cierto número de veces hasta que se cumple una determinada condición.

UN CIRCULO VICIOSO
La instrucción mientras en PseINT (o while en lenguajes de programación como C++ o Python), ejecuta una secuencia de instrucciones mientras una condición sea verdadera.
¿El CÓDIGO ES CORRECTO?
Volvamos al ejemplo del código secreto: Podemos hacer que nos vuelva a pedir que ingresemos el código una y otra vez hasta que ingresemos el correcto.

Veamos el programa en el siguiente diagrama en donde vemos la estructura mientras (while):

Mientras la variable code sea distinta de secreto, nos volverá a pedir que ingresemos el código otra vez.
Analizamos el código
Algoritmo prog10 secreto <- 123456 Escribir "Ingrese Código: " Leer code Mientras code<>secreto Hacer Escribir "Código Incorrecto. Vuelva a Intentar: " Leer code FinMientras Escribir "Acceso Permitido." FinAlgoritmo
Ejecutamos el programa
Veamos el código en C++:
// ESTRUCTURAS REPETITIVAS WHILE (MIENTRAS).
#include <iostream>
using namespace std;
int secreto = 123456;
int code;
int main()
{
cout << "Ingrese código: ";
cin >> code;
while(secreto != code)
{
cout << "Código Incorrecto. Vuelva a intentar: ";
cin >> code;
}
cout << "Acceso Permitido.";
return 0;
}
Vamos a analizar línea por línea este código en C++:
Línea 1: // ESTRUCTURAS REPETITIVAS WHILE (MIENTRAS).
Este comentario indica que el programa va a utilizar estructuras repetitivas (while) para realizar un bucle.
Línea 2: #include <iostream>
Esta línea incluye la biblioteca estándar de entrada/salida (iostream), lo que permite al programa interactuar con el usuario y mostrar mensajes en pantalla.
Línea 4: using namespace std;
Este statement utiliza el nombre de espacio (namespace) para importar todas las clases, funciones y variables definidas en el espacio std (estándar) del lenguaje C++. Esto permite acceder a funciones como cout y cin sin tener que especificar el espacio std.
Línea 6: int secreto = 123456;
Se declara una variable entera (int) llamada secreto con un valor inicial de 123456.
Línea 7: int code;
Se declara otra variable entera (int) llamada code, pero sin valor inicial.
Línea 9: int main() { ... }
La función principal del programa, que se llama main. La función main es la primera función que se ejecuta cuando el programa inicia. Devuelve un entero que indica el estado de finalización del programa (0 en este caso).
Línea 11: cout << "Ingrese código: ";
Se utiliza la función cout (de entrada/salida) para imprimir el mensaje “Ingrese código:” en pantalla.
Línea 12: cin >> code;
Se utiliza la función cin (de entrada/salida) para leer un entero del usuario y asignarlo a la variable code.
Línea 13-17: while(secreto != code) { ... }
Se inicia un bucle while que se repite mientras la condición secreto != code sea verdadera. En otras palabras, el bucle se repite hasta que el código ingresado por el usuario coincida con el valor de la variable secreto.
Línea 15: cout << "Código Incorrecto. Vuelva a intentar: ";
Si el código ingresado fue incorrecto se ejecuta este bloque que imprime el mensaje “Código Incorrecto. Vuelva a intentar:” en pantalla.
Línea 16: cin >> code;
Se lee un nuevo entero del usuario y se asigna a la variable code.
Línea 18 (fin bucle): } cout << "Acceso Permitido.";
El bucle while termina aquí. Se imprime el mensaje “Acceso Permitido.” en pantalla cuando el bucle finaliza, lo que indica que se ingreso el código correcto. La variable code ya no es distinta a la variable secreto.
Línea 19: return 0;
La función main devuelve un entero cero (0), lo que indica que el programa se ejecutó correctamente y sin errores.
Ahora el código en PYTHON:
secreto = 123456
code = int(input("Ingrese Código: "))
while secreto != code:
code = int(input("Código incorrecto. Vuelva a intentar: "))
print("Acceso Permitido.")
Vamos a analizar línea por línea este código en PYTHON:
Línea 1: secreto = 123456
Se asigna un valor entero a la variable secreto, que es igual a 123456.
Línea 3: code = int(input("Ingrese Código: "))
Se utiliza la función input para pedir al usuario que ingrese un código, y se convierte ese código en un entero utilizando el constructor int. El resultado se asigna a la variable code.
Línea 5:
while secreto != code:
Se inicia un bucle while que se repite mientras la condición secreto != code sea verdadera. En otras palabras, el bucle se repite hasta que el código ingresado por el usuario coincide con el valor de secreto.
Línea 6: code = int(input("Código incorrecto. Vuelva a intentar: "))
Dentro del bucle, se utiliza la función input otra vez para pedir al usuario que ingrese un nuevo código, y se convierte ese código en un entero utilizando el constructor int. El resultado se asigna de nuevo a la variable code.
Línea 8 (fin bucle): print("Acceso Permitido.")
El bucle while termina aquí. Se imprime el mensaje “Acceso Permitido.” en pantalla, lo que indica que el acceso ha sido permitido.
En resumen, el programa pide al usuario que ingrese un código y comprueba si ese código coincide con el secreto (123456). Si no es correcto, se vuelve a pedir un nuevo código hasta que sea correcto. Una vez que el código sea correcto, se imprime el mensaje “Acceso Permitido.“.
Es importante destacar que en Python, el bucle while no necesita una condición de finalización explícita (como en C++), ya que el bucle continúa ejecutándose mientras la condición sea verdadera.
Otro ejemplo para darle un buen uso a la estructura mientras (while) es crear un contador.

Aquí la variable A comienza valiendo 1.
Mientras A sea menor que 11, se mostrará en pantalla su valor y luego se le sumará 1, hasta que deje de cumplir la condición y salga del bucle para mostrar en pantalla “Terminé de contar”.
Los contadores dentro de nuestros programas nos dan la posibilidad de utilizar un valor numérico para cálculos matemáticos. Además pueden ser de gran utilidad para repetir ciertas líneas de código una y otra vez hasta completar un ciclo.
Analizamos el código
Algoritmo prog10b A <- 1 Mientras A < 11 Hacer Escribir A A <- A + 1 FinMientras Escribir "Terminé de contar." FinAlgoritmo
Ejecutamos el programa

Veamos el código en C++:
// ESTRUCTURAS REPETITIVAS - CONTADOR CON WHILE (MIENTRAS).
#include <iostream>
using namespace std;
int A = 1;
int main()
{
while(A<11)
{
cout << A << endl;
A++; // Esto es como hacer A = A + 1.
}
cout << "Terminé de contar.";
return 0;
}
Vamos a analizar línea por línea este código en C++:
Línea 1: // ESTRUCTURAS REPETITIVAS - CONTADOR CON WHILE (MIENTRAS).
Este comentario indica que el programa va a utilizar estructuras repetitivas (while) para realizar un bucle y contar desde el valor 1 hasta 10.
Línea 2: #include <iostream>
Esta línea incluye la biblioteca estándar de entrada/salida (iostream), lo que permite al programa interactuar con el usuario y mostrar mensajes en pantalla.
Línea 4: using namespace std;
Este statement utiliza el nombre de espacio (namespace) para importar todas las clases, funciones y variables definidas en el espacio std (estándar) del lenguaje C++. Esto permite acceder a funciones como cout y cin sin tener que especificar el espacio std.
Línea 6: int A = 1;
Se declara una variable entera (int) llamada A con un valor inicial de 1.
Línea 8: int main() { ... }
La función principal del programa, que se llama main. La función main es la primera función que se ejecuta cuando el programa inicia. Devuelve un entero que indica el estado de finalización del programa (0 en este caso).
Línea 10: while(A<11) { ... }
Se inicia un bucle while que se repite mientras la condición A < 11 sea verdadera.
Línea 12: cout << A << endl;
Se imprime el valor actual de la variable A en pantalla, seguido de un salto de línea (endl).
Línea 13: A++; // Esto es como hacer A = A + 1.
La variable A aumenta en 1 unidad utilizando el operador de incremento (++). Esto es equivalente a asignar el valor actual de A a sí mismo más 1.
Línea 15 (fin bucle): } cout << "Terminé de contar.";\
El bucle while termina aquí. Se imprime el mensaje “Terminé de contar.” en pantalla, lo que indica que se ha completado la cuenta.
Línea 16: return 0;
La función main devuelve un entero cero (0), lo que indica que el programa se ejecutó correctamente y sin errores.
En resumen, el programa utiliza un bucle while para contar desde el valor 1 hasta 10, imprimiendo cada valor en pantalla. Luego, imprime un mensaje final indicando que ha terminado la cuenta.
Ahora el código en PYTHON:
A = 1
while A < 11:
print (A)
A = A + 1
print("Terminé de contar.")
Vamos a analizar línea por línea este código en PYTHON:
Línea 1: A = 1
Se asigna un valor entero a la variable A, que es igual a 1.
Línea 3: while A < 11: ...
Se inicia un bucle while que se repite mientras la condición A < 11 sea verdadera. En otras palabras, el bucle se ejecutará hasta que el valor de A sea mayor o igual a 11.
Línea 4: print (A)
Se imprime el valor actual de la variable A en pantalla utilizando la función print.
Línea 5: A = A + 1
La variable A aumenta en 1 unidad mediante el operador de asignación =. Esto es equivalente a asignar el valor actual de A a sí mismo más 1.
Línea 6 (fin bucle):
El bucle while termina aquí cuando A < 11 deja de ser verdadera. El programa sigue ejecutándose con la línea siguiente.
Línea 7: print("Terminé de contar.")
Se imprime el mensaje “Terminé de contar.” en pantalla utilizando la función print.
En resumen, el programa utiliza un bucle while para contar desde el valor 1 hasta 10, imprimiendo cada valor en pantalla. Luego, imprime un mensaje final indicando que ha terminado la cuenta.
Es importante destacar que en Python, no es necesario declarar explicitamente los tipos de variable, como se hace en algunos lenguajes como C++.
TAREA PARA EL HOGAR
- Crear un programa que pida una clave alfanumérica para poder ingresar, y al hacerlo ejecute un segundo programa que muestre una cuenta regresiva del número 10 al 1.
- Crear un programa que nos pregunte hasta cuanto queremos que cuente, y luego muestre en pantalla el resultado.
