Operadores lógicos y relacionales
En una pupusería de Soyapango, la caja registradora decide sola si aplica un descuento. No "piensa": solo evalúa condiciones que dan verdadero o falso. ¿Cómo se escribe una condición así, y cómo la combina con otras? Eso es lo que aprenderás en esta página.
Valores de verdad y expresiones
Una expresión de verdad es una afirmación que solo puede tener dos resultados: VERDADERO o FALSO (en Python, True y False). No hay término medio.
Ejemplos: «8 es mayor que 5» es VERDADERO. «El pasaje cuesta $\$5.00$» puede ser falso si cuesta $\$0.25$.
Los programas toman decisiones con estas expresiones: si la condición da VERDADERO, hacen una cosa; si da FALSO, hacen otra (lo verás en condicionales y bucles).
Operadores relacionales
Los operadores relacionales comparan dos valores y dan VERDADERO o FALSO.
| Operador | Significa | Ejemplo con $x = 8$ | Resultado |
|---|---|---|---|
< |
menor que | x < 5 |
FALSO |
> |
mayor que | x > 5 |
VERDADERO |
== |
igual a | x == 10 |
FALSO |
!= |
distinto de | x != 8 |
FALSO |
<= |
menor o igual | x <= 8 |
VERDADERO |
>= |
mayor o igual | x >= 8 |
VERDADERO |
Sea $x = 8$. Indicá si cada una de estas expresiones relacionales es verdadera o falsa: $x > 5$, $x == 10$ y $x != 8$. Escribí el resultado de cada una.
Sea $x = 8$. Indicá si cada una de estas expresiones relacionales es verdadera o falsa: $x > 5$, $x == 10$ y $x != 8$. Escribí el resultado de cada una.
Fátima escribió en su programa la condición edad >= 15. Indicá qué valor (verdadero o falso) toma la condición si edad vale 15, si vale 14 y si vale 17. Explicá por qué…
Fátima escribió en su programa la condición edad >= 15. Indicá qué valor (verdadero o falso) toma la condición si edad vale 15, si vale 14 y si vale 17. Explicá por qué el valor 15 cumple la condición.
El operador NOT
NOT invierte un valor de verdad: lo verdadero pasa a falso y lo falso a verdadero. Se aplica a una sola expresión.
| p | NOT p |
|---|---|
| VERDADERO | FALSO |
| FALSO | VERDADERO |
Ejemplo: NOT (x > 5) con x = 8. Primero x > 5 es VERDADERO; NOT lo invierte y da FALSO.
Explicá con tus palabras qué hace el operador NOT cuando se aplica a una expresión. Después indicá cuál es el resultado de NOT(VERDADERO) y de NOT(FALSO).
Explicá con tus palabras qué hace el operador NOT cuando se aplica a una expresión. Después indicá cuál es el resultado de NOT(VERDADERO) y de NOT(FALSO).
AND y OR: combinar condiciones
Muchas decisiones dependen de más de una condición.
-
AND (y): da VERDADERO solo si las dos condiciones son verdaderas.
-
OR (o): da VERDADERO si al menos una es verdadera.
| p | q | p AND q | p OR q |
|---|---|---|---|
| V | V | V | V |
| V | F | F | V |
| F | V | F | V |
| F | F | F | F |
Pensalo así: para entrar a una fiesta con AND necesitás boleto y DUI; con OR basta uno de los dos.
Sean $a = 6$, $b = 3$ y $c = 10$. Evaluá paso a paso la expresión (a > b) AND (c < 8) y la expresión (a > b) OR (c < 8). Indicá el resultado final de cada una y explicá…
Sean $a = 6$, $b = 3$ y $c = 10$. Evaluá paso a paso la expresión (a > b) AND (c < 8) y la expresión (a > b) OR (c < 8). Indicá el resultado final de cada una y explicá por qué difieren.
En una pupusería de Soyapango, el sistema aplica un descuento cuando cantidad >= 6 y el pago es en efectivo. Escribí la condición con operadores relacionales y lógicos.…
En una pupusería de Soyapango, el sistema aplica un descuento cuando cantidad >= 6 y el pago es en efectivo. Escribí la condición con operadores relacionales y lógicos. Luego indicá si se aplica el descuento en un pedido de 8 pupusas pagado con tarjeta, y en uno de 6 pupusas pagado en efectivo.
Tablas de verdad y paréntesis
Una tabla de verdad muestra el resultado de una expresión para todas las combinaciones posibles de sus variables. Con 2 variables hay $2 \cdot 2 = 4$ filas; con 3, hay 8.
Orden de evaluación: primero los paréntesis, luego NOT, después AND y por último OR. Ante la duda, usá paréntesis.
Dos expresiones son equivalentes si sus tablas de verdad dan lo mismo en todas las filas. Un ejemplo conocido (ley de De Morgan): NOT(a AND b) es equivalente a (NOT a) OR (NOT b).
| a | b | NOT(a AND b) | (NOT a) OR (NOT b) | (NOT a) AND (NOT b) |
|---|---|---|---|---|
| V | V | F | F | F |
| V | F | V | V | F |
| F | V | V | V | F |
| F | F | V | V | V |
La tercera columna y la cuarta coinciden; la quinta no. Por eso cambiar OR por AND no da una expresión equivalente.
Completá una tabla de verdad para la expresión p OR (NOT q), con todas las combinaciones posibles de valores de p y q. Escribí las cuatro filas con su resultado.
Completá una tabla de verdad para la expresión p OR (NOT q), con todas las combinaciones posibles de valores de p y q. Escribí las cuatro filas con su resultado.
Kevin afirma que las expresiones NOT(a AND b) y (NOT a) AND (NOT b) son equivalentes. Construí la tabla de verdad de ambas con todas las combinaciones de a y b, y decidí…
Kevin afirma que las expresiones NOT(a AND b) y (NOT a) AND (NOT b) son equivalentes. Construí la tabla de verdad de ambas con todas las combinaciones de a y b, y decidí si Kevin tiene razón. Si no la tiene, escribí una expresión con OR que sí sea equivalente a NOT(a AND b) y explicá cómo lo comprobaste.
Condiciones de la vida real
Para traducir una regla a una condición: 1) identificá las variables, 2) escribí cada comparación y 3) uní con AND/OR usando paréntesis.
Un centro escolar de Santa Tecla aprueba a un estudiante en Tecnología si su nota es mayor o igual que 6.0 y su asistencia es de al menos 80, o si aprobó la prueba de…
Un centro escolar de Santa Tecla aprueba a un estudiante en Tecnología si su nota es mayor o igual que 6.0 y su asistencia es de al menos 80, o si aprobó la prueba de recuperación. Definí las variables necesarias y escribí la condición completa con paréntesis. Después evaluá el caso de Josué: nota 5.5, asistencia 90 y recuperación aprobada; y el caso de Daniela: nota 7.0, asistencia 75 y recuperación no aprobada. Justificá cada resultado.
Volvé al principio: la caja de la pupusería decide con una condición que combina una comparación (cantidad >= 6) y otra (pago == efectivo) con AND; solo si ambas son verdaderas aplica el descuento.
Resumen
-
Una expresión de verdad da VERDADERO o FALSO.
-
Relacionales:
<,>,==,!=,<=,>=. No confundas=(asignar) con==(comparar). -
NOT invierte; AND exige las dos; OR exige al menos una.
-
Evaluá primero paréntesis, luego NOT, AND y OR.
-
Las tablas de verdad prueban si dos expresiones son equivalentes:
NOT(a AND b)es equivalente a(NOT a) OR (NOT b).