¿Alguna vez te has preguntado...
Todas estas acciones, desde las más simples hasta las más complejas, se reducen a una sola cosa: una serie de preguntas cuya respuesta es "sí" o "no". Decisiones binarias. Esto, querido lector, es la esencia de la programación moderna, y su nombre es Álgebra de Boole.
Dominar la lógica booleana te dará las herramientas para resolver problemas de programación de cualquier tipo. En este artículo trataré de explicar los conceptos básicos hasta ejemplos prácticos para que domines el verdadero lenguaje de las computadoras: la base sobre la que se construye todo el software que usas a diario.
1. ¿Qué es la Lógica Booleana? El ABC Binario
Esta fue bautizada con ese nombre por George Boole en el siglo XIX. Su sistema establece que todas las expresiones solo pueden tener dos resultados posibles: verdadero o falso. ¡Sin puntos intermedios!
- Es binario: Sí o no | 1 o 0 | Encendido o apagado.
- Ejemplo cotidiano: Un bombillo no puede estar "casi encendido". ¡O está encendido (1) o apagado (0)!
¿Por qué es tan poderosa?
Con solo dos opciones, podemos representar condiciones de cualquier complejidad. Las computadoras trabajan con circuitos que manejan ceros y unos (baja/alta tensión), traduciendo todo a lógica booleana.
- ¿El usuario está logueado? →
isUserLogged = true - ¿El producto tiene stock? →
hasStock = false
2. Variables Booleanas: Tus "Cajitas Mágicas" de Decisión
En programación, usamos variables booleanas (tipo bool o boolean). Son como cajitas que solo guardan dos valores: true o false.
Buenas prácticas clave:
is_active = True # ¿Está activo?
has_permission = False # ¿Tiene permiso?
can_edit = True # ¿Puede editar?
3. Operadores de Comparación: Preguntándole a la Máquina
Para crear expresiones booleanas, usamos operadores de comparación. Cada uno devuelve true o false:
| Operador | Ejemplo | Pregunta |
|---|---|---|
== |
5 == 5 |
¿5 es igual a 5? → True |
!= |
5 != "5" |
¿5 NO es igual a "5"? → True (tipos diferentes) |
> |
10 > 5 |
¿10 es mayor que 5? → True |
< |
10 < 5 |
¿10 es menor que 5? → False |
4. Operadores Lógicos: AND, OR, NOT (¡El Trío Dinamita!)
Aquí está la magia: combinar condiciones con tres operadores clave:
a) AND (&& o and) → "Y"
Regla: True solo si todas las condiciones son verdaderas.
| A | B | A AND B |
|---|---|---|
| True | True | True |
| True | False | False |
| False | True | False |
| False | False | False |
has_license = True # Tiene licencia
can_drive = is_adult and has_license # ¡Solo si AMBAS son True!
b) OR (|| o or) → "O"
Regla: True si al menos una condición es verdadera.
| A | B | A OR B |
|---|---|---|
| True | True | True |
| True | False | True |
| False | True | True |
| False | False | False |
is_retired = False # No es jubilado
has_discount = is_student or is_retired # ¡True! (solo una es True)
c) NOT (! o not) → "NO"
Regla: Invierte el valor (True → False, False → True).
| A | NOT A |
|---|---|
| True | False |
| False | True |
is_dry = not is_raining # False (¡porque está lloviendo!)
5. Expresiones Complejas: Combinando lo Aprendido
Cuando mezclamos operadores, usa paréntesis para controlar el orden (¡como en matemáticas!).
has_key = True
health = 80
can_enter_boss = (level >= 5) and (has_key or health > 90)
# True: nivel suficiente Y (tiene llave O mucha salud)