¡Bienvenido/a de nuevo al blog! En el capítulo anterior le enseñamos a tu programa a decidir con los condicionales: si algo es verdad, haz esto; si no, haz aquello. Pero en la vida real las decisiones casi nunca dependen de una sola cosa. ¿Sales a correr? Depende de si no llueve y de si tienes tiempo. ¿Entras al cine? Si tienes boleta o te invitaron. Para eso existen los operadores lógicos.

1. Concepto: ¿Qué es un Operador Lógico?

Un operador lógico es una herramienta que combina o transforma condiciones para obtener un único resultado: verdadero o falso. Ya conoces los operadores de comparación (>, <, ==…), que producen un valor verdadero o falso. Los operadores lógicos toman esos valores y los unen como piezas de lego.

Son tres, y los vas a usar toda tu vida como programador:

  • Y (AND): verdadero solo si todas las condiciones son verdaderas.
  • O (OR): verdadero si al menos una condición es verdadera.
  • NO (NOT): invierte el valor; lo verdadero se vuelve falso y viceversa.

2. El Operador Y: Todas Deben Cumplirse

Piensa en una montaña rusa: para subir debes medir más de 1,40 m y tener más de 12 años. Si falla cualquiera de las dos, no subes.

Si estatura > 1.40 Y edad > 12 Entonces
    Escribir "¡Puedes subir!"
Sino
    Escribir "Lo siento, aún no"
Fin Si

3. El Operador O: Basta con Una

Para entrar gratis a un museo debes ser estudiante o mayor de 60 años. Con que se cumpla una, la puerta se abre.

Si esEstudiante O edad >= 60 Entonces
    Escribir "Entrada gratis"
Fin Si

4. El Operador NO: Dar la Vuelta

A veces es más natural preguntar por lo contrario. “Si no está lloviendo, salgo a jugar.”

Si NO estaLloviendo Entonces
    Escribir "¡A jugar afuera!"
Fin Si

5. Las Tablas de Verdad

Una tabla de verdad muestra todas las combinaciones posibles. Son pequeñas, pero vale la pena memorizarlas:

A B A Y B A O B NO A
V V V V F
V F F V F
F V F V V
F F F F V

Un truco para recordarlo: Y es exigente (lo quiere todo), O es generoso (se conforma con poco) y NO es llevado de la contraria.

6. Combinando Operadores y el Orden de Evaluación

Puedes mezclar los tres en una misma condición, pero cuidado: igual que en matemáticas la multiplicación va antes que la suma, aquí NO se evalúa primero, luego Y, y al final O. Cuando tengas dudas, usa paréntesis: hacen tu intención clara para la computadora y para quien lea tu código.

Si (esFinDeSemana O esFestivo) Y NO estaLloviendo Entonces
    Escribir "Vamos a la playa"
Fin Si

Sin los paréntesis, el programa entendería otra cosa muy distinta. Haz la prueba mental con un festivo lluvioso.

7. Ejemplo en Distintos Lenguajes

Cada lenguaje escribe los operadores a su manera, pero la idea es la misma:

// JavaScript
let edad = 15;
let tienePermiso = true;
if (edad >= 18 || tienePermiso) {
    console.log("Puedes ir a la excursión");
} else {
    console.log("Necesitas el permiso de tus padres");
}
# Python
edad = 15
tiene_permiso = True
if edad >= 18 or tiene_permiso:
    print("Puedes ir a la excursión")
else:
    print("Necesitas el permiso de tus padres")
// C#
int edad = 15;
bool tienePermiso = true;
if (edad >= 18 || tienePermiso)
{
    Console.WriteLine("Puedes ir a la excursión");
}
else
{
    Console.WriteLine("Necesitas el permiso de tus padres");
}
Pseudocódigo JavaScript / C# Python
Y && and
O || or
NO ! not

Un detalle curioso: la mayoría de los lenguajes son “perezosos”. En A Y B, si A ya es falso, ni siquiera miran B, porque el resultado no puede cambiar. A esto se le llama evaluación en cortocircuito, y más adelante verás lo útil que es.

8. Conclusión

Con los operadores lógicos tus programas ya no deciden mirando una sola cosa: pueden sopesar varias condiciones a la vez, igual que tú cuando decides si sales o te quedas en casa. Recuerda: Y lo exige todo, O se conforma con una y NO le da la vuelta a todo.

En el próximo capítulo veremos qué hacer cuando no hay solo dos caminos, sino muchos: la selección múltiple. ¡Nos vemos allí!

By: RobARC