Estructuras Condicionales
Las estructuras condicionales permiten que un programa tome decisiones. Entiende if, else, else-if, operadores lógicos y evita los errores más comunes con condicionales.
Renato Freitas
Actualizado el 5 de mayo de 2026
Decisiones en la vida cotidiana y en el código
Tomamos decisiones condicionales todo el tiempo sin pensarlo. 'Si está lloviendo, llevaré el paraguas; si no, lo dejaré en casa.' Esta estructura SI-ENTONCES-DE LO CONTRARIO es el corazón de las estructuras condicionales en programación.
En pseudocódigo, esa lógica queda: SI (lloviendo == verdadero) ENTONCES (llevar paraguas) DE LO CONTRARIO (dejar en casa). La computadora evalúa la condición entre paréntesis — siempre es verdadera o falsa — y ejecuta el bloque correspondiente.
Sin estructuras condicionales, un programa sería solo una secuencia lineal de instrucciones, sin capacidad de adaptarse a diferentes situaciones. Toda la inteligencia de los softwares modernos — desde recomendaciones de streaming hasta diagnósticos médicos — está construida sobre este concepto simple.
🧮 Pruébalo tú mismo — CalcSim
¿Quieres más funciones? Descargar app CalcSim IA
La estructura if-then y sus complementos
La estructura más simple es el 'if' aislado: SI la condición es verdadera, ejecuta este bloque; SI es falsa, simplemente no lo ejecutes y continúa el programa. Este patrón se usa cuando hay algo opcional que hacer.
El 'else' añade un camino alternativo: SI verdadero, ejecuta el bloque A; DE LO CONTRARIO, ejecuta el bloque B. Siempre se ejecutará uno de los dos. El 'else-if' (o 'elif') encadena múltiples condiciones: SI condición1... DE LO CONTRARIO SI condición2... DE LO CONTRARIO SI condición3... DE LO CONTRARIO (por defecto).
Por ejemplo, un sistema de calificaciones: SI nota >= 7 ENTONCES 'aprobado'; DE LO CONTRARIO SI nota >= 5 ENTONCES 'recuperación'; DE LO CONTRARIO 'reprobado'. Las condiciones se evalúan en orden — cuando se encuentra la primera verdadera, el bloque correspondiente se ejecuta y las demás no se comprueban.
Condiciones anidadas y operadores lógicos
A veces, una decisión depende de múltiples condiciones simultáneas. Para eso existen los operadores lógicos: AND (Y), OR (O) y NOT (NO). Con AND, ambas condiciones deben ser verdaderas. Con OR, basta con que una sea verdadera. NOT invierte el resultado.
Ejemplo práctico: para liberar acceso premium, la condición puede ser 'el usuario pagó Y la suscripción no ha expirado'. En pseudocódigo: SI (pagó == verdadero Y fechaExpiracion > hoy) ENTONCES liberar acceso.
Las condiciones anidadas son 'if' dentro de 'if'. Son poderosas pero pueden hacer el código difícil de leer si se usan en exceso. Una buena práctica es intentar 'aplanar' la lógica usando operadores lógicos antes de recurrir al anidamiento profundo.
- AND (Y): verdadero solo si AMBAS condiciones son verdaderas
- OR (O): verdadero si AL MENOS UNA condición es verdadera
- NOT (NO): invierte el valor — verdadero se convierte en falso y viceversa
- Los paréntesis definen precedencia: (A Y B) O C es diferente de A Y (B O C)
Operadores de comparación
Las condiciones dentro de un 'if' usan operadores de comparación: igual (==), distinto (!=), mayor que (>), menor que (<), mayor o igual (>=), menor o igual (<=). Cada uno retorna verdadero o falso.
Un error muy común es confundir el operador de asignación '=' con el de comparación '=='. En C, Java y muchos otros lenguajes, 'if (x = 5)' no comprueba si x vale 5 — asigna 5 a x y siempre resulta verdadero. Lo correcto es 'if (x == 5)'. Lenguajes como Python tratan esto como error de sintaxis, pero otros lo aceptan silenciosamente, generando bugs difíciles de encontrar.
Ejemplos en pseudocódigo
Mira un ejemplo completo de validación de inicio de sesión: SI (usuario == 'admin' Y contraseña == 'correcta') ENTONCES mostrar 'Bienvenido' DE LO CONTRARIO SI (intentos >= 3) ENTONCES bloquear cuenta DE LO CONTRARIO incrementar intentos Y mostrar 'Contraseña incorrecta'.
Otro ejemplo — cálculo de descuento: SI (valorCompra > 500) ENTONCES descuento = 15% DE LO CONTRARIO SI (valorCompra > 200) ENTONCES descuento = 10% DE LO CONTRARIO SI (valorCompra > 100) ENTONCES descuento = 5% DE LO CONTRARIO descuento = 0%. Esta cadena de else-if se llama 'escalera de decisión' y es muy común en sistemas comerciales.
Preguntas frecuentes
¿Cuál es la diferencia entre usar else-if y varios if separados?
Con else-if, cuando una condición es verdadera, las demás no se evalúan. Con varios if separados, todas se evalúan independientemente. Usa else-if cuando las condiciones son mutuamente excluyentes (aprobado/recuperación/reprobado). Usa if separados cuando cada condición es independiente y puede ser verdadera al mismo tiempo.
¿Qué es el cortocircuito en operadores lógicos?
En expresiones con AND, si la primera condición es falsa, la computadora no evalúa la segunda (el resultado ya es falso de todos modos). Con OR, si la primera es verdadera, la segunda no se evalúa. Esto importa cuando la segunda condición tiene efectos secundarios o puede causar errores.
¿Cuántos niveles de anidamiento de if son aceptables?
Más de 3 niveles generalmente indica que el código puede refactorizarse. Técnicas como el retorno anticipado (return early), el uso de operadores lógicos y la extracción de funciones ayudan a reducir el anidamiento y hacer el código más legible.
¿Qué es un switch/case y cuándo usarlo?
Switch/case es una estructura alternativa al if-else-if para cuando comparas una variable con múltiples valores fijos posibles. 'SWITCH (diaDeSemana) CASO lunes: ... CASO martes: ...' Es más legible que una larga cadena de else-if cuando los valores son discretos y conocidos.
¿Este artículo te fue útil?
Califica con estrellas para ayudarnos a mejorar el contenido.
Inicia sesión para calificar este artículo.
¿Aún tienes dudas?
El Profesor IA explica paso a paso
Haz una pregunta en lenguaje natural y recibe una explicación personalizada sobre Lógica de Programación — o cualquier otro tema.
¿Prefieres resolverlo en el móvil?
Descargar la app gratis →Sigue aprendiendo