Y, O y NO: tres formas de pensar que también entienden los programas

Tiempo de lectura: 2 minutos

En la vida tomamos decisiones todo el tiempo.

A veces necesitamos que dos cosas se den al mismo tiempo para hacer algo:
“Voy al parque si es sábado y no tengo pendientes”.

Otras veces, con que se cumpla una sola, ya es suficiente:
“Pido comida si tengo hambre o si no hay nada hecho”.

Y muchas veces decidimos con base en lo que no está pasando:
“Si no está lloviendo, salgo”.

Estas formas de pensar también existen cuando escribimos código.
Cuando le decimos a una computadora que haga algo, muchas veces tenemos que indicarle cuándo hacerlo y cuándo no.
Algo como:

“Haz esto si pasa esto y esto”,
“Haz esto si pasa esto o esto otro”,
“Haz esto solo si no pasa aquello”.

Para lograrlo usamos tres herramientas clave: Y, O y NO.
En programación se conocen como operadores lógicos, y sirven para escribir decisiones claras.

Y — Cuando todo tiene que estar bien

“Y” conecta dos situaciones que deben cumplirse al mismo tiempo.
Si una sola no se cumple, no se ejecuta nada.

Ejemplo:

“Si ya terminé de trabajar y hay sol, salgo a caminar.”

En código, se escribe usando &&:

// Si terminé de trabajar y hay sol, entonces salgo a caminar
if (termineDeTrabajar && haySol) {
  salirACaminar();
}

Esta estructura sirve para asegurarte de que dos condiciones necesarias se cumplen antes de ejecutar una acción.

O — Cuando una opción es suficiente

“O” se usa cuando una sola cosa que se cumpla ya es suficiente.
No necesitas que ambas condiciones sean verdaderas.

Ejemplo:

“Si hay café o hay té, desayuno feliz.”

En código, se escribe usando ||:

// Si hay café o hay té, entonces desayuno feliz
if (hayCafe || hayTe) {
  desayunoFeliz();
}

Es útil cuando una u otra opción es válida para seguir adelante.

NO — Cuando lo importante es que no esté pasando

“NO” sirve para negar una situación.
Si algo está pasando, lo vuelve falso.
Si no está pasando, lo vuelve verdadero.

Ejemplo:

“Si no estoy cansado, me pongo a leer.”

En código se escribe usando !:

// Si NO estoy cansado, entonces leo un rato
if (!estoyCansado) {
  leerUnRato();
}

Con esto podés controlar cuándo no hacer algo o actuar solo si algo no ocurre.

Combinarlos: decisiones más reales

La verdadera potencia de estos operadores aparece cuando los combinas.
Así podés reflejar decisiones como las que tomás todos los días.

Ejemplo:

“Si es fin de semana o tengo día libre, y además no está lloviendo, salgo.”

Eso en código se ve así:

// Si es fin de semana o tengo día libre, y además NO está lloviendo, salgo de paseo
if ((esFinDeSemana || tengoDiaLibre) && !estaLloviendo) {
  salirDePaseo();
}

Primero se revisa si hay tiempo libre.
Después, si el clima lo permite.
Solo si ambas partes están bien, se ejecuta la acción.

Pensar con Y, O y NO

Y, O y NO no son solo operadores lógicos; son formas de poner en orden lo que pensamos y decidimos. Cuando aprendes a usarlos bien, también aprendes a pensar con estructura. Porque programar no es nada más decirle a una computadora qué hacer, sino saber cómo decirlo, con lógica, con intención… y con sentido.