Operadores lógicos

¿Qué es un operador lógico?

Un operador lógico es símbolo o palabra que conecta dos expresiones evaluando su estado booleano (verdadero o falso) y devuelvan un valor booleano basado su la tabla de la verdad. Los operadores lógicos son AND, OR y NOT.


Operador lógico AND

Premisa: El resultado solo es verdadero cuando ambas expresiones son verdaderas.

Tabla de la verdad del operador lógico AND

Expresión 1Expresión 2Devuelve
truetruetrue
truefalsefalse
falsetruefalse
falsefalsefalse

Ejemplo:

'''
Operadores lógicos
'''

a=10
b=20

#Operador AND (solo devuelve TRUE si ambas condiciones son TRUE)

print(f"Operador lógico AND\n")
print(f"{a} Es menor que 15 y {b} es mayor que 19. Resultado booleano: {a<15 and b>19}\n")

El código anterior da como resultado:

10 Es menor que 15 y 20 es mayor que 19. Resultado booleano: True

Si forzamos a que una de las expresione booleanas sea falsa el resultado es falso ya que no se cumpliría la premisa funzamental del operador lógico AND que es como ya se mencionó anteriormente, que ambas expresiones sean TRUE.

Ejemplo;

'''
Ejemplo en el caso que una de las expresiones booleanas no sea cierta
'''

print(f"Operador lógico AND con una expresion que no es cierta\n")
print(f"{a} Es mayor que 15 y {b} es mayor que 19. Resultado booleano: {a>15 and b>19}\n")

Este código da como resultado:

Operador lógico AND con una expresion que no es cierta

10 Es mayor que 15 y 20 es mayor que 19. Resultado booleano: False

Esto se debe a que la expresión a>15 es falsa ya que el valor en este momento de la variable a es 10 y obviamente 10 no es mayor que 15.

Operador lógico OR

Premisa: El resultado es verdadero siempre y cuando al menos una de las expresiones sean verdaderas. Solo arroja un resultado booleano falso cuando ambas expresiones evaluadas son falsas.

Tabla de la verdad del operador lógico OR

Expresión1Expresión2Devuelve
truetruetrue
truefalsetrue
falsetruetrue
falsefalsefalse


Ejemplo:

'''
Operadores lógicos
'''

a=10
b=20

#Operador OR (devuelve TRUE si al menos una de las condiciones es TRUE)

print(f"\nOperador lógico OR\n")

print(f"{a} Es mayor que 15 o {b} es mayor que 15. Resultado booleano: {a>15 or b>15} ")


El código anterior da como resultado:

10 Es mayor que 15 o 20 es mayor que 15. Resultado booleano: True 

Como al menos una de las expresiones booleanas evaluadas es cierta entonces el resultado booleano es TRUE. La única manera de que el resultado booleano sea FALSE es que ambas condiciones evaluadas sean falsas.

Operador lógico NOT

Premisa: El resultado siempre es contraria al estado booleano de la expresión a la que se le aplica

Tabla de la verdad del operador lógico NOT


ExpresiónDevuelve
truefalse
falsetrue

Ejemplo:

'''
Operadores lógicos
'''

a=10
b=20
#Operador NOT (devuelve el estado booleano contrario de la expresión)

print(f"\nOperador lógico NOT\n")
print(f"{a} es mayor que {b}. Resultado booleano: {a>b}")

'''
Como era de esperarse el resultado de tal expresión es false pero
con el operador booleano not podemos invertir el resultado al estado
contrario, es decir a true.
'''

print(f"{a} es mayor que {b}. Resultado booleano: {not a>b}")

El código anterior al ejecutarse da como resultado:


Operador lógico NOT

10 es mayor que 20. Resultado booleano: False
10 es mayor que 20. Resultado booleano: True

Aunque en principio la última afirmación (10 es mayor que 20. Resultado booleano: True) es técnicamente errónea, en informática es muy común el uso del operador booleano NOT para evaluar posibles errores y hacer toda clase de toma de decisiones en el flujo del programa, y su aplicación en la práctica se verá mas adelante.

Comentarios

Entradas populares