56. Evaluación de expresiones condicionales

Evaluar una expresión condicional consiste en calcular paso a paso si una condición completa resulta verdadera o falsa.

56.1 Introducción

En programación, una expresión condicional decide si se ejecuta una instrucción, si se permite una acción o si se toma un camino dentro del algoritmo.

Para comprender su resultado debemos evaluar comparaciones, operadores lógicos, paréntesis y reglas de precedencia.

56.2 Qué es evaluar una condición

Evaluar una condición significa reemplazar sus partes por valores concretos y calcular el resultado final.

edad >= 18 && tieneDocumento

Si edad vale 20 y tieneDocumento vale true, la expresión completa resulta verdadera.

56.3 Evaluar comparaciones primero

Las comparaciones producen valores booleanos que luego pueden combinarse con operadores lógicos.

edad >= 18 && saldo > 0

Si edad = 21 y saldo = 50, primero obtenemos:

true && true

Por lo tanto, el resultado final es true.

56.4 Evaluación de AND

Una expresión con AND es verdadera solo si todas sus partes son verdaderas.

A B A && B
false false false
false true false
true false false
true true true

56.5 Evaluación de OR

Una expresión con OR es verdadera si al menos una de sus partes es verdadera.

A B A || B
false false false
false true true
true false true
true true true

56.6 Evaluación de NOT

NOT invierte el valor lógico de una condición.

!usuarioBloqueado

Si usuarioBloqueado es false, entonces !usuarioBloqueado es true.

56.7 Uso de paréntesis

Los paréntesis indican qué parte de la expresión debe evaluarse como grupo.

(esAdmin || esEditor) && usuarioActivo

Primero se evalúa si el usuario tiene alguno de los roles permitidos. Luego se verifica si está activo.

56.8 Precedencia de operadores

Si no hay paréntesis, el lenguaje aplica reglas de precedencia. En muchos lenguajes, NOT se evalúa antes que AND, y AND antes que OR.

!a || b && c

Esta expresión suele interpretarse como:

(!a) || (b && c)

Aun así, en condiciones importantes conviene usar paréntesis para comunicar la intención.

56.9 Evaluación paso a paso

Supongamos los siguientes valores:

  • a = false
  • b = true
  • c = false
!a || b && c

Evaluamos:

!false || true && false
true || (true && false)
true || false
true

56.10 Cortocircuito con AND

En muchos lenguajes, AND deja de evaluar cuando encuentra una parte falsa, porque el resultado completo ya no puede ser verdadero.

if (usuario !== null && usuario.activo) {
  mostrarPerfil();
}

Si usuario !== null es false, no se evalúa usuario.activo.

56.11 Cortocircuito con OR

OR deja de evaluar cuando encuentra una parte verdadera, porque el resultado completo ya será verdadero.

if (esAdmin || tienePermisoEspecial) {
  permitirAcceso();
}

Si esAdmin es true, no hace falta evaluar la segunda condición.

56.12 Evaluación con funciones

Cuando una condición llama funciones, el cortocircuito puede determinar qué funciones se ejecutan.

if (usuarioValido() && permisoDisponible()) {
  ejecutarAccion();
}

Si usuarioValido() devuelve false, permisoDisponible() no se ejecuta en lenguajes con cortocircuito.

56.13 Condiciones equivalentes

Dos condiciones pueden evaluarse igual para todos los casos aunque estén escritas de forma distinta.

!(edad < 18)

es equivalente a:

edad >= 18

La segunda forma suele ser más legible.

56.14 Evaluar con una tabla

Cuando una condición tiene varias variables, una tabla ayuda a revisar todas las combinaciones.

A B C (A || B) && C
false false false false
false false true false
false true false false
false true true true
true false false false
true false true true
true true false false
true true true true

56.15 Errores comunes

  • Olvidar que las comparaciones se evalúan antes de combinarse lógicamente.
  • Depender de la precedencia sin usar paréntesis en expresiones largas.
  • No considerar que el cortocircuito puede evitar que una función se ejecute.
  • Confundir el resultado de una comparación con el valor original de una variable.
  • Evaluar mentalmente una condición compleja sin separar pasos.

56.16 Qué debes recordar de este tema

  • Evaluar una condición es calcular su valor final: verdadero o falso.
  • Las comparaciones producen valores booleanos.
  • Los paréntesis ayudan a controlar y leer el orden de evaluación.
  • El cortocircuito puede detener la evaluación antes de llegar al final.
  • Las tablas de verdad ayudan a verificar condiciones con varias variables.

56.17 Conclusión

La evaluación de expresiones condicionales permite entender exactamente por qué un programa toma una decisión. Separar comparaciones, operadores y paréntesis reduce errores y hace que el razonamiento sea más claro.

En el próximo tema estudiaremos la toma de decisiones mediante lógica.