Quantcast
Channel: DIWO
Viewing all articles
Browse latest Browse all 151

¡Elemental, querido Watson! La lógica booleana

$
0
0

¿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

    Lechuga Y Tomate Y Cebolla

    Utilizaremos el operador AND cuando tenemos una situación en la que queremos que varias condiciones se cumplan. Por ejemplo, hay personas a las que les gusta que la ensalada lleve lechuga, tomate y cebolla.

    AND

  • Operador OR

    Lechuga O Tomate O Cebolla

    Utilizaremos el operador OR cuando tenemos una situación en la que nos basta con que una sola de nuestras condiciones se cumpla. Por ejemplo, hay personas a las que les da igual. Les gusta la ensalada de tomate, de lechuga o de cebolla. No necesitarán que la ensalada lleve los tres ingredientes, les basta cualquiera de ellos o cualquier combinación.

    OR

  • Operador NOT

    Lechuga Y Tomate NO Cebolla

    Utilizaremos el operador NOT cuando queremos que no se cumpla una condición. Por ejemplo, hay personas a las que les gusta la lechuga y el tomate, pero odian la cebolla. Por lo tanto, tomarán la ensalada de lechuga y tomate, pero sin cebolla.

    NOT

Practica con un ejemplo en Bitbloq

Vamos a construir el siguiente programa para observar qué sucede en cada una de las siguientes situaciones:

Ejemplo

  • ¿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.


Viewing all articles
Browse latest Browse all 151

Trending Articles