¿Lógica boole… qué?
![]() |
A los robots no les gusta la ambigüedad. Necesitan saber qué hacer, cuándo y cómo. Por lo tanto, para facilitar sus decisiones, normalmente se utiliza la llamada lógica booleana, que se basa en preguntas que solo tienen dos respuestas posibles: sí/no o verdadero/falso. Si contamos con varios datos de tipo booleano, estos se pueden combinar en expresiones lógicas mediante los operadores: and, or y not. La lógica booleana es la base de cualquier aparato digital, desde circuitos electrónicos básicos, hasta tu móvil u ordenador, y se denomina así en honor a George Boole, matemático inglés del siglo XIX, que fue el primero en definirla. |
Para entenderlo mejor…
En mi restaurante vegetariano favorito el cocinero es un simpático robot. Parece muy simplón, pero lo cierto es que este robot Chef es capaz de preparar platos complejos utilizando los ingredientes que elige cada cliente. Gracias a los operadores booleanos, es capaz de combinar varias condiciones a la vez y cocinar el plato perfecto a gusto del cliente.
Veamos cómo este robot cocinero utiliza los operadores booleanos para preparar una ensalada.
-
Operador AND
-
Operador OR
-
Operador NOT
Practica con un ejemplo en Bitbloq
Vamos a construir el siguiente programa para observar qué sucede en cada una de las siguientes situaciones:
-
¿Qué LED se enciende si hay poca luz ambiente?
-
¿Qué LED se enciende si pulso el botón y hay mucha luz?
-
¿Qué LED se enciende si pulso el botón y además hay poca luz?
SOLUCIÓN:
Observa que el led_1 se encenderá al pulsar el botón O cuando haya poca luz, mientras que el led_2 se encenderá al pulsar el botón Y cuando haya poca luz, por lo tanto:
-
Si solo pulso el botón, se encenderá el led_1 porque con solo cumplir una de las dos condiciones es suficiente.
-
Si pulso el botón y además hay mucha luz, solo se encenderá el led_1, porque se sigue cumpliendo una de las dos condiciones.
-
Si pulso el botón y además hay poca luz, se encenderán los dos, el led_1 y el led_2 porque al led_1 le es suficiente con cualquiera de las dos condiciones y el led_2 requiere que se cumplan las dos.
Como veis, la lógica booleana nos va a permitir crear programas capaces de realizar acciones en base a varias condiciones. Ahora podremos elaborar condiciones complejas que permitirán a nuestros robots realizar un comportamiento mucho más autónomo.