Estructuras Repetitivas

3. Variables dependiendo de su Uso

3.1. Bandera o Centinela

La variable tipo BANDERA (también conocida como CENTINELA), es una variable que nos permite saber si cierta parte del código se ha ejecutado o no, esto lo hace cambiando entre dos posibles valores.

Al solo poder alternar entre dos valores, la BANDERA o CENTINELA es una variable del tipo lógica (VERDADERO o FALSO). Por lo tanto para esta variable se utiliza el tipo de dato BOOLEANO (lógico).

Por lo general la BANDERA tiene como valor inicial False y cambiará al estado True solamente cuando la situación esperada se presenta. Hay que tener en cuenta, que pueden existir casos que en los que es mejor que la BANDERA se inicie en True y cambie a False cuando se presenta la situación esperada.

Las BANDERAS son muy útiles en programación, principalmente en el uso de los bucles "while" como veremos más adelante.

Ejemplo: Validar si dos números son positivos antes de continuar

Supongamos que queremos sumar dos números solo si ambos son positivos. Usamos una bandera booleana para indicar si se cumple esa condición.

# Ingreso de datos
a = int(input("Ingrese el primer número: "))
b = int(input("Ingrese el segundo número: "))
# Uso de bandera
ambos_positivos = False
# Evaluamos la condición y cambiamos la bandera si se cumple
if a > 0 and b > 0:
    ambos_positivos = True
# Acciones según la bandera
if ambos_positivos:
    print("La suma es:", a + b)
else:
    print("No se puede realizar la suma porque al menos uno no es positivo.")

Pregunta para pensar:

¿Por qué creés que podría ser útil usar una bandera acá en lugar de repetir la condición a > 0 and b > 0?