Lección 79 — Condicionales en Programación: Decisiones con If y Else
Los condicionales en programación son estructuras que permiten a un programa tomar decisiones y ejecutar diferentes instrucciones dependiendo de si una condición se cumple o no. Gracias a ellas, los programas pueden responder a situaciones distintas sin realizar siempre las mismas acciones.
Por ejemplo, un cajero automático comprueba si existe saldo suficiente antes de autorizar un retiro; una tienda en línea determina si corresponde aplicar un descuento; y una plataforma educativa evalúa si un estudiante ha alcanzado la calificación necesaria para aprobar.
En todos estos casos intervienen estructuras condicionales, que permiten elegir qué camino seguirá un algoritmo.
En esta lección aprenderás qué son los condicionales en programación, cómo funcionan If, Else y Else If, cuáles son sus principales tipos y cómo utilizarlos en pseudocódigo. También resolverás ejemplos y ejercicios para comprender cómo se construyen las decisiones dentro de un programa.
¿Qué son los condicionales en programación?
Los condicionales en programación son estructuras de control que permiten ejecutar determinadas instrucciones únicamente cuando se cumple una condición.
Una condición es una expresión que puede evaluarse como:
VERDADERO: la condición se cumple.
FALSO: la condición no se cumple.
Por ejemplo, imagina que un programa debe comprobar si una persona tiene al menos 18 años.
La condición sería:
edad >= 18
Si la edad es 20, el resultado es VERDADERO.
Si la edad es 15, el resultado es FALSO.
A partir de ese resultado, el programa puede decidir qué instrucciones ejecutar.
Ejemplo cotidiano
Piensa en un semáforo:
Si la luz está verde, los vehículos pueden avanzar cuando sea seguro.
Si la luz está roja, deben detenerse.
Este ejemplo representa una decisión basada en una condición.
En programación, las decisiones se construyen utilizando estructuras como IF, ELSE y ELSE IF.
¿Para qué sirven las estructuras condicionales?
Las estructuras condicionales permiten que los programas respondan a diferentes situaciones.
Entre sus principales aplicaciones encontramos:
Validar datos: comprobar si una edad, contraseña o cantidad cumple determinados requisitos.
Autorizar operaciones: permitir o rechazar acciones según ciertas condiciones.
Aplicar descuentos: modificar precios cuando se cumplen reglas comerciales.
Evaluar resultados: determinar si un estudiante aprobó o reprobó.
Controlar procesos: seleccionar instrucciones según los datos recibidos.
Personalizar respuestas: mostrar mensajes diferentes dependiendo del usuario.
Gestionar videojuegos: modificar acciones según la puntuación, la energía o las decisiones del jugador.
Sin estructuras condicionales, muchos programas ejecutarían siempre la misma secuencia de instrucciones, sin poder elegir entre alternativas.
¿Cómo funciona una estructura condicional?
Una estructura condicional sigue un proceso sencillo:
Evaluar una condición.
Determinar si es verdadera o falsa.
Seleccionar las instrucciones correspondientes.
Continuar con el resto del algoritmo.
Por ejemplo:
SI temperatura > 30 ENTONCES
ESCRIBIR "Hace calor"
FIN SIEl programa comprueba si la temperatura es mayor que 30.
Si la condición es verdadera, muestra el mensaje.
Si es falsa, no ejecuta la instrucción que se encuentra dentro del bloque condicional.
Elementos de una condición
En la expresión:
temperatura > 30
Encontramos:
temperatura: variable que contiene un valor.
>: operador relacional.
30: valor utilizado para la comparación.
VERDADERO o FALSO: resultado de evaluar la expresión.
Estos elementos se relacionan directamente con los operadores estudiados en la lección anterior.
Condicional simple: IF (SI)
La estructura condicional simple permite ejecutar un bloque de instrucciones solamente cuando una condición es verdadera.
Se representa mediante la palabra IF, que significa SI.
Sintaxis en pseudocódigo
SI condición ENTONCES
instrucciones
FIN SI
Ejemplo: comprobar la mayoría de edad
INICIO
ESCRIBIR "Introduce tu edad"
LEER edad
SI edad >= 18 ENTONCES
ESCRIBIR "Eres mayor de edad"
FIN SI
FIN¿Cómo funciona?
El programa solicita una edad.
Comprueba si es igual o superior a 18.
Si la condición es verdadera, muestra el mensaje.
Si es falsa, continúa sin mostrar ese mensaje.
Resultados posibles
| Edad | Condición | Mensaje |
|---|---|---|
| 20 | VERDADERO | Eres mayor de edad |
| 18 | VERDADERO | Eres mayor de edad |
| 15 | FALSO | No muestra el mensaje |
Importante: el condicional simple no necesita una alternativa obligatoria cuando la condición es falsa.
Condicional doble: IF–ELSE (SI–SINO)
La estructura condicional doble permite elegir entre dos caminos.
Si la condición es verdadera, se ejecuta un bloque de instrucciones.
Si es falsa, se ejecuta otro bloque.
Sintaxis en pseudocódigo
SI condición ENTONCES
instrucciones_si_verdadero
SINO
instrucciones_si_falso
FIN SI
Ejemplo: comprobar si un estudiante aprobó
Supongamos que la calificación mínima aprobatoria es 6.
INICIO
ESCRIBIR "Introduce tu calificación"
LEER calificacion
SI calificacion >= 6 ENTONCES
ESCRIBIR "Aprobado"
SINO
ESCRIBIR "No aprobado"
FIN SI
FIN
Resultados posibles
| Calificación | Condición | Resultado |
|---|---|---|
| 9 | VERDADERO | Aprobado |
| 6 | VERDADERO | Aprobado |
| 5 | FALSO | No aprobado |
Diferencia entre IF e IF–ELSE
| Característica | IF | IF–ELSE |
|---|---|---|
| Evalúa una condición | Sí | Sí |
| Ejecuta instrucciones si es verdadera | Sí | Sí |
| Incluye una alternativa si es falsa | No | Sí |
| Número de caminos posibles | Uno opcional | Dos alternativos |
Recuerda: en una estructura IF–ELSE se ejecuta solamente uno de los dos bloques.
Condicional múltiple: IF–ELSE IF–ELSE
La estructura condicional múltiple permite evaluar varias condiciones y seleccionar una alternativa entre diferentes posibilidades.
Es útil cuando un problema no puede resolverse mediante una simple elección entre verdadero y falso.
Sintaxis en pseudocódigo
SI condición1 ENTONCES
instrucciones1
SINO SI condición2 ENTONCES
instrucciones2
SINO SI condición3 ENTONCES
instrucciones3
SINO
instrucciones_alternativas
FIN SILas condiciones se evalúan en orden.
Cuando se encuentra la primera condición verdadera, se ejecuta su bloque y se omiten las alternativas restantes.
Ejemplo: clasificar una calificación
Consideremos esta escala educativa de ejemplo:
De 9 a 10: Excelente.
De 7 a menos de 9: Bueno.
De 6 a menos de 7: Suficiente.
Menos de 6: No aprobado.
INICIO
ESCRIBIR "Introduce tu calificación"
LEER calificacion
SI calificacion < 0 O calificacion > 10 ENTONCES
ESCRIBIR "Calificación no válida"
SINO SI calificacion >= 9 ENTONCES
ESCRIBIR "Excelente"
SINO SI calificacion >= 7 ENTONCES
ESCRIBIR "Bueno"
SINO SI calificacion >= 6 ENTONCES
ESCRIBIR "Suficiente"
SINO
ESCRIBIR "No aprobado"
FIN SI
FIN
Ejemplos de resultados
| Calificación | Resultado |
|---|---|
| 9.5 | Excelente |
| 8 | Bueno |
| 6.5 | Suficiente |
| 4 | No aprobado |
| 12 | Calificación no válida |
¿Por qué importa el orden de las condiciones?
Observa este fragmento:
SI calificacion >= 6 ENTONCES
ESCRIBIR "Suficiente"
SINO SI calificacion >= 9 ENTONCES
ESCRIBIR "Excelente"
FIN SISi la calificación es 10, el programa mostrará Suficiente, porque la primera condición ya es verdadera.
La segunda condición nunca llegará a evaluarse.
Por eso, el orden de las condiciones es fundamental en las estructuras condicionales múltiples.
Condicionales anidados
Los condicionales anidados son estructuras condicionales colocadas dentro de otras estructuras condicionales.
Permiten tomar decisiones en diferentes niveles.
Ejemplo: acceso a una actividad
Supongamos que una actividad requiere que la persona tenga al menos 18 años y cuente con una inscripción válida.
INICIO
LEER edad
LEER inscripcionValida
SI edad >= 18 ENTONCES
SI inscripcionValida ENTONCES
ESCRIBIR "Acceso permitido"
SINO
ESCRIBIR "Inscripción requerida"
FIN SI
SINO
ESCRIBIR "Edad insuficiente"
FIN SI
FIN¿Qué ocurre?
Primero se comprueba la edad.
Si la persona tiene al menos 18 años, se evalúa la inscripción.
Si no cumple el requisito de edad, el programa muestra el mensaje correspondiente sin evaluar el segundo condicional.
¿Cuándo conviene utilizarlos?
Los condicionales anidados son útiles cuando una decisión depende de otra.
Sin embargo, demasiados niveles de anidamiento pueden dificultar la lectura del algoritmo.
Cuando las condiciones son sencillas, a veces es preferible combinarlas mediante operadores lógicos.
Operadores relacionales y lógicos en los condicionales
Las condiciones suelen construirse utilizando operadores relacionales y lógicos.
Operadores relacionales
| Operador | Significado | Ejemplo |
|---|---|---|
| = | Igual a | edad = 18 |
| <> | Diferente de | edad <> 18 |
| > | Mayor que | edad > 18 |
| < | Menor que | edad < 18 |
| >= | Mayor o igual que | edad >= 18 |
| <= | Menor o igual que | edad <= 18 |
En nuestro pseudocódigo, ← representa asignación, mientras que = representa comparación de igualdad.
En lenguajes como Python, JavaScript y C, la igualdad suele escribirse == y la desigualdad !=.
Operadores lógicos
| Operador | Función |
|---|---|
| Y (AND) | Exige que ambas condiciones sean verdaderas |
| O (OR) | Exige que al menos una condición sea verdadera |
| NO (NOT) | Invierte el resultado lógico |
Ejemplo: descuento para estudiantes
Una tienda ofrece descuento cuando la persona es estudiante y su compra alcanza al menos $300.
INICIO
LEER compra
LEER esEstudiante
SI compra >= 300 Y esEstudiante ENTONCES
ESCRIBIR "Descuento disponible"
SINO
ESCRIBIR "Descuento no disponible"
FIN SI
FIN
Ejemplo: acceso por dos alternativas
Una actividad permite el acceso cuando la persona tiene invitación o está registrada.
INICIO
LEER tieneInvitacion
LEER estaRegistrado
SI tieneInvitacion O estaRegistrado ENTONCES
ESCRIBIR "Acceso permitido"
SINO
ESCRIBIR "Acceso denegado"
FIN SI
FINLos operadores lógicos permiten construir decisiones más completas sin necesidad de utilizar numerosos condicionales anidados.
Condicionales y diagramas de flujo
Las estructuras condicionales también pueden representarse mediante diagramas de flujo.
En estos diagramas, las decisiones suelen representarse mediante un rombo.
El rombo contiene una pregunta o condición, y de él salen caminos identificados normalmente como Sí y No.
Por ejemplo, para comprobar una calificación:
INICIO
|
Leer calificación
|
¿Calificación >= 6?
/ \
Sí No
| |
"Aprobado" "No aprobado"
\ /
\ /
FINEsta representación ayuda a visualizar cómo un algoritmo selecciona diferentes caminos.
Los diagramas de flujo son especialmente útiles antes de escribir un programa, porque permiten organizar las decisiones y detectar errores de lógica.
Ejemplos prácticos de condicionales en programación
Veamos cómo aplicar estas estructuras en situaciones cotidianas.
Ejemplo: aplicar un descuento por compra
Problema: una tienda ofrece un descuento del 10 % cuando la compra es igual o superior a $1,000.
INICIO
ESCRIBIR "Introduce el importe"
LEER compra
SI compra < 0 ENTONCES
ESCRIBIR "Importe no válido"
SINO
SI compra >= 1000 ENTONCES
descuento ← compra * 0.10
SINO
descuento ← 0
FIN SI
total ← compra - descuento
ESCRIBIR "Descuento: ", descuento
ESCRIBIR "Total: ", total
FIN SI
FINSi la compra es de $1,500:
Descuento: $150.
Total: $1,350.
Si la compra es de $800:
Descuento: $0.
Total: $800.
Ejemplo: clasificar una temperatura
Problema: mostrar una descripción sencilla de la temperatura.
INICIO
LEER temperatura
SI temperatura < 15 ENTONCES
ESCRIBIR "Temperatura baja"
SINO SI temperatura <= 30 ENTONCES
ESCRIBIR "Temperatura moderada"
SINO
ESCRIBIR "Temperatura alta"
FIN SI
FINLa clasificación utilizada es únicamente ilustrativa.
Ejemplo: comprobar saldo suficiente
Problema: determinar si existe saldo suficiente para realizar una compra.
INICIO
LEER saldo
LEER importe
SI saldo < 0 O importe <= 0 ENTONCES
ESCRIBIR "Datos no válidos"
SINO SI saldo >= importe ENTONCES
saldo ← saldo - importe
ESCRIBIR "Operación autorizada"
ESCRIBIR "Saldo restante: ", saldo
SINO
ESCRIBIR "Saldo insuficiente"
FIN SI
FINEste ejemplo muestra una validación básica de saldo. Un sistema bancario real requiere numerosas comprobaciones y medidas de seguridad adicionales.
Errores comunes al utilizar condicionales
Confundir asignación con comparación
En nuestro pseudocódigo:
edad ← 18 asigna un valor.
edad = 18 compara dos valores.
Confundir ambos conceptos puede producir errores.
Colocar las condiciones en un orden incorrecto
En una estructura IF–ELSE IF, la primera condición verdadera determina qué bloque se ejecutará.
Las condiciones generales no deben colocarse antes de condiciones más específicas cuando eso impida alcanzar las alternativas posteriores.
Utilizar AND cuando corresponde OR
Si una persona puede recibir un descuento por ser estudiante o adulto mayor, utilizar AND exigiría que cumpliera ambas condiciones.
Olvidar cerrar una estructura
En nuestro pseudocódigo, cada estructura condicional debe cerrarse correctamente mediante FIN SI.
Crear demasiados condicionales anidados
Un exceso de anidamiento dificulta la lectura y el mantenimiento del programa.
No validar los datos
Un programa que solicita una edad debe considerar entradas negativas o valores fuera del rango esperado.
Confundir varios IF independientes con IF–ELSE IF
En varios bloques IF independientes pueden cumplirse varias condiciones y ejecutarse varios bloques.
En una cadena IF–ELSE IF se selecciona solamente la primera alternativa cuya condición resulte verdadera.
Consejo: antes de escribir un condicional, identifica claramente la condición, los resultados posibles y las acciones correspondientes.
Actividad práctica integradora
Vamos a diseñar un algoritmo que determine el costo de entrada a un museo.
Reglas del ejercicio:
Menores de 6 años: entrada gratuita.
De 6 a 17 años: $40.
De 18 a 59 años: $80.
A partir de 60 años: $30.
Las edades negativas no son válidas.
Solución en pseudocódigo
INICIO
ESCRIBIR "Introduce tu edad"
LEER edad
SI edad < 0 ENTONCES
ESCRIBIR "Edad no válida"
SINO SI edad < 6 ENTONCES
precio ← 0
ESCRIBIR "Entrada gratuita"
SINO SI edad < 18 ENTONCES
precio ← 40
ESCRIBIR "Entrada infantil: $", precio
SINO SI edad < 60 ENTONCES
precio ← 80
ESCRIBIR "Entrada general: $", precio
SINO
precio ← 30
ESCRIBIR "Entrada para adulto mayor: $", precio
FIN SI
FIN
Pruebas del algoritmo
| Edad | Resultado |
|---|---|
| 4 | Entrada gratuita |
| 12 | $40 |
| 25 | $80 |
| 65 | $30 |
| -3 | Edad no válida |
¿Qué hemos aplicado?
Condicional múltiple para elegir entre varias alternativas.
Operadores relacionales para comparar edades.
Asignación para almacenar el precio.
Validación de datos para evitar edades negativas.
Orden lógico de condiciones para clasificar correctamente cada caso.
Este ejemplo demuestra cómo una estructura condicional permite resolver un problema completo mediante decisiones organizadas.
Ejercicios de condicionales en programación
Resuelve los siguientes ejercicios antes de consultar las respuestas.
Ejercicio: condicional simple
Escribe un algoritmo que solicite un número y muestre Número positivo únicamente cuando sea mayor que cero.
Ejercicio: condicional doble
Diseña un algoritmo que solicite un número entero y determine si es par o impar.
Pista: utiliza el operador MOD.
Ejercicio: condicional múltiple
Construye un algoritmo que clasifique una calificación:
De 9 a 10: Excelente.
De 7 a menos de 9: Bueno.
De 6 a menos de 7: Suficiente.
Menos de 6: No aprobado.
Considera que las calificaciones válidas están entre 0 y 10.
Ejercicio: condiciones combinadas
Una tienda ofrece un descuento cuando:
El cliente está registrado.
La compra es igual o superior a $500.
Escribe la condición utilizando el operador Y.
Ejercicio: condicionales anidados
Diseña un algoritmo que permita el acceso a una actividad cuando:
La persona tiene al menos 18 años.
Cuenta con una inscripción válida.
Utiliza un condicional dentro de otro.
Ejercicio de razonamiento
¿Qué mostrará este algoritmo si la calificación es 9?
SI calificacion >= 6 ENTONCES
ESCRIBIR "Aprobado"
SINO SI calificacion >= 9 ENTONCES
ESCRIBIR "Excelente"
FIN SIExplica por qué ocurre.
Autoevaluación
Comprueba tus conocimientos respondiendo estas preguntas:
¿Qué son los condicionales en programación?
¿Qué diferencia existe entre una condición verdadera y una falsa?
¿Para qué sirve la estructura IF?
¿Qué función cumple ELSE?
¿Cuándo conviene utilizar ELSE IF?
¿Qué es un condicional anidado?
¿Qué operadores se utilizan para construir condiciones?
¿Por qué importa el orden de evaluación en un condicional múltiple?
¿Qué símbolo representa una decisión en un diagrama de flujo?
¿Cuál es la diferencia entre varios IF independientes y una cadena IF–ELSE IF?
Respuestas orientativas
Son estructuras que permiten seleccionar instrucciones según una condición.
Una condición verdadera se cumple; una falsa no se cumple.
Ejecutar instrucciones cuando una condición es verdadera.
Establecer una alternativa cuando la condición es falsa.
Cuando necesitamos evaluar varias posibilidades.
Es una estructura condicional colocada dentro de otra.
Principalmente operadores relacionales y lógicos.
Porque se ejecuta la primera alternativa cuya condición es verdadera.
Un rombo.
Varios IF independientes pueden ejecutar varios bloques; IF–ELSE IF selecciona una sola alternativa.
Respuestas de los ejercicios
Ejercicio de condicional simple:
INICIO
LEER numero
SI numero > 0 ENTONCES
ESCRIBIR "Número positivo"
FIN SI
FINEjercicio de condicional doble:
INICIO
LEER numero
SI numero MOD 2 = 0 ENTONCES
ESCRIBIR "Par"
SINO
ESCRIBIR "Impar"
FIN SI
FINEjercicio de condicional múltiple:
INICIO
LEER calificacion
SI calificacion < 0 O calificacion > 10 ENTONCES
ESCRIBIR "Calificación no válida"
SINO SI calificacion >= 9 ENTONCES
ESCRIBIR "Excelente"
SINO SI calificacion >= 7 ENTONCES
ESCRIBIR "Bueno"
SINO SI calificacion >= 6 ENTONCES
ESCRIBIR "Suficiente"
SINO
ESCRIBIR "No aprobado"
FIN SI
FINEjercicio de condiciones combinadas:
estaRegistrado Y compra >= 500
Ejercicio de condicionales anidados:
INICIO
LEER edad
LEER inscripcionValida
SI edad >= 18 ENTONCES
SI inscripcionValida ENTONCES
ESCRIBIR "Acceso permitido"
SINO
ESCRIBIR "Inscripción requerida"
FIN SI
SINO
ESCRIBIR "Edad insuficiente"
FIN SI
FINEjercicio de razonamiento:
El programa mostrará Aprobado.
La primera condición (calificacion >= 6) ya es verdadera cuando la calificación es 9, por lo que la alternativa SINO SI no se evalúa.
Lo que has aprendido
Al completar esta lección, ya puedes:
Explicar qué son los condicionales en programación y para qué sirven.
Distinguir condiciones verdaderas y falsas.
Utilizar IF para ejecutar instrucciones condicionalmente.
Aplicar IF–ELSE para elegir entre dos alternativas.
Construir condicionales múltiples mediante ELSE IF.
Comprender los condicionales anidados.
Combinar operadores relacionales y lógicos para crear decisiones.
Representar condiciones en diagramas de flujo.
Identificar errores frecuentes en estructuras condicionales.
Resolver problemas sencillos mediante pseudocódigo.
Estos conocimientos constituyen una base fundamental para comprender las estructuras de repetición y desarrollar algoritmos más completos.
Conclusión
Los condicionales en programación permiten que los algoritmos tomen decisiones y respondan a diferentes situaciones.
La estructura IF ejecuta instrucciones cuando se cumple una condición; ELSE establece una alternativa cuando no se cumple; y ELSE IF permite evaluar varias posibilidades de forma organizada.
Los condicionales anidados y los operadores lógicos amplían estas capacidades, haciendo posible construir decisiones más complejas.
Comprender estas estructuras es esencial para aprender programación, porque prácticamente cualquier aplicación necesita evaluar condiciones y seleccionar acciones.
Recuerda: programar no consiste únicamente en indicar qué debe hacer una computadora, sino también en establecer qué debe hacer ante cada situación.
