En esta lección aprenderás a codificar y evaluar expresiones utilizando los operadores lógicos para realizar condiciones complejas que se requieran al hacer en tus programas de Arduino.
Operadores lógicos
Los operadores lógicos nos sirven para comparar expresiones cuyo valor es TRUE o FALSE. Los operadores lógicos de Arduino que utilizaremos se presentan en la Tabla 1
Operador lógico | Descripción | Expresión lógica | Significado |
! | NOT (no) | ! p | negación de p |
&& | AND (y) | p && q | p y q |
|| | OR (o) | p || q | p o q |
Expresiones lógicas
Las expresiones lógicas son aquellas que sólo pueden tomar dos valores: Falso y verdadero. Se forman combinando constantes lógicas, variables, expresiones relacionales y los operadores lógicos. Algunos ejemplos de expresiones lógicas se muestran en la Tabla 2:
Expresión | Descripción | Expresión | Descripción |
! ( 6>10) | NOT (6>10) | (1>0) && (3==3) | (1>0) AND (3==3) |
(número ==5) || (9>=6) | (número ==5) OR (9>=6) | ! (5>4 || 3<6) | NOT ( 5>4 ) OR ( 3<6 ) |
Evaluación de expresiones lógicas
El resultado de evaluar una expresión lógica es un falso o un verdadero. Para realizar la evaluación se hace uso de las tablas de verdad, que nos muestran las combinaciones de valores de verdad que pueden asumir los operadores lógicos. El valor TRUE está representado por un (1) y el FALSE por el número (0)
Valor | Valor | Tabla del AND | Tabla del OR | Tabla del NOT | |
A | B | A && B | A || B | ! A | ! B |
0 | 0 | 0 | 0 | 1 | 1 |
0 | 1 | 0 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 0 | 0 |
Solo que lo dos valores sean verdaderos, el resultado del && es verdadero | Sólo que los dos valores sean falsos, el resultado es falso | La negación de un verdadero es falso | La negación de un falso es un verdadero |
El resultado de evaluar una expresión lógica es un falso o un verdadero. Para comprender cómo utilizan las tablas de verdad para evaluar una expresión lógica, vamos a ver el siguiente video:
Reglas de prioridad
La combinación de operaciones aritméticas, relacionales y lógicas forman expresiones complejas. Para resolverlas se siguen ciertas reglas que determinan el orden en el que se resuelven las expresiones.
- Primero se resuelven las expresiones entre paréntesis.
- Se procede aplicando la jerarquía de operadores (Tabla 3).
Prioridad | Operador | Operación |
1 | ( ) | Paréntesis |
2 | * , /, % | Multiplicación, división y residuo |
3 | +, – | Suma ,resta |
4 | <, <=, >, >= | menor qué, menor qué o igual, mayor qué, menor qué o igual |
5 | ==, != | igual a , no igual a |
6 | ! | Not |
7 | && | AND |
8 | || | OR |
- Al evaluar una expresión, si hay dos operadores con la misma jerarquía, se procede a evaluar de izquierda a derecha.
- El orden correcto a seguir, es primero resolver operadores aritméticos, luego los relacionales y por último los lógicos.
Revisa el siguiente ejemplo donde se desglosan los pasos que se realizan para calcular las expresiones complejas (Tabla 4):
Paso | Operación | ! ( 7*3 != 12/2) && (15 >= 7 || 8+3 > 16) |
1 | Paréntesis | ! ( 7*3 != 12/2) && (15 >= 7 || 8+3 > 16) |
2 | Operadores matemáticos con mayor jerarquía * / | ! (21 != 12/2) && (15 >= 7 || 8+3 > 16) |
3 | Operadores matemáticos con menor jerarquía + – | ! ( 21 != 6) && (15 >= 7 || 8+3 > 16) |
4 | Operadores relacionales con mayor jerarquía <, <=, >, >= | ! ( 7*3 != 12/2) && (15 >= 7 || 8+3 > 16) |
5 | Operadores relacionales con menor jerarquía ! = | ! ( 21 != 6) && (Verdadero || Falso) |
7 | Terminamos resolver paréntesis | ! (Verdadero ) && (Verdadero || Falso) |
8 | Operado lógico ! | ! (Verdadero) && Verdadero |
9 | Operado lógico && | Falso && Verdadero |
10 | Resultado | Falso |
Cómo puedes observar, cuando se evalúan expresiones complejas solo hay operadores aritméticos, el resultado es un número. Si hay operadores aritméticos y relacionales, el resultado es un valor booleano (TRUE, FALSE).

Autoevaluación
Resuelve las siguientes expresiones lógicas

Para aprender más
Fernández B. (2015) ¡Elemental, querido Watson! La lógica booleana España. DIWO. http://diwo.bq.com/bitbloq2-logica-booleana/
Itca Virtual. ( s/f). Tipos de datos y jerarquía de operadores. https://virtual.itca.edu.sv/Mediadores/dlp/13_tipos_de_datos_y_jerarqua_de_operadores.html.