Lección 79 — Condicionales en Programación: Decisiones con If y Else

Condicionales en Programación

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:

  1. Evaluar una condición.

  2. Determinar si es verdadera o falsa.

  3. Seleccionar las instrucciones correspondientes.

  4. Continuar con el resto del algoritmo.

Por ejemplo:

SI temperatura > 30 ENTONCES
    ESCRIBIR "Hace calor"
FIN SI

El 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

EdadCondiciónMensaje
20VERDADEROEres mayor de edad
18VERDADEROEres mayor de edad
15FALSONo 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ónCondiciónResultado
9VERDADEROAprobado
6VERDADEROAprobado
5FALSONo aprobado

🔍 Diferencia entre IF e IF–ELSE

CaracterísticaIFIF–ELSE
Evalúa una condiciónSíSí
Ejecuta instrucciones si es verdaderaSíSí
Incluye una alternativa si es falsaNoSí
Número de caminos posiblesUno opcionalDos 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 SI

Las 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ónResultado
9.5Excelente
8Bueno
6.5Suficiente
4No aprobado
12Calificació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 SI

Si 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

OperadorSignificadoEjemplo
=Igual aedad = 18
<>Diferente deedad <> 18
>Mayor queedad > 18
<Menor queedad < 18
>=Mayor o igual queedad >= 18
<=Menor o igual queedad <= 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

OperadorFunció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

FIN

Los 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"
         \             /
          \           /
               FIN

Esta 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

FIN

Si 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

FIN

La 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

FIN

Este 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

EdadResultado
4Entrada gratuita
12$40
25$80
65$30
-3Edad 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 SI

Explica por qué ocurre.


 

📝 Autoevaluación

Comprueba tus conocimientos respondiendo estas preguntas:

  1. ¿Qué son los condicionales en programación?

  2. ¿Qué diferencia existe entre una condición verdadera y una falsa?

  3. ¿Para qué sirve la estructura IF?

  4. ¿Qué función cumple ELSE?

  5. ¿Cuándo conviene utilizar ELSE IF?

  6. ¿Qué es un condicional anidado?

  7. ¿Qué operadores se utilizan para construir condiciones?

  8. ¿Por qué importa el orden de evaluación en un condicional múltiple?

  9. ¿Qué símbolo representa una decisión en un diagrama de flujo?

  10. ¿Cuál es la diferencia entre varios IF independientes y una cadena IF–ELSE IF?

✅ Respuestas orientativas

  1. Son estructuras que permiten seleccionar instrucciones según una condición.

  2. Una condición verdadera se cumple; una falsa no se cumple.

  3. Ejecutar instrucciones cuando una condición es verdadera.

  4. Establecer una alternativa cuando la condición es falsa.

  5. Cuando necesitamos evaluar varias posibilidades.

  6. Es una estructura condicional colocada dentro de otra.

  7. Principalmente operadores relacionales y lógicos.

  8. Porque se ejecuta la primera alternativa cuya condición es verdadera.

  9. Un rombo.

  10. 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
FIN

Ejercicio de condicional doble:

INICIO
    LEER numero

    SI numero MOD 2 = 0 ENTONCES
        ESCRIBIR "Par"
    SINO
        ESCRIBIR "Impar"
    FIN SI
FIN

Ejercicio 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
FIN

Ejercicio 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
FIN

Ejercicio 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.


 

⬅️ Lección anterior  📑 Índice del programa  ➡️ Siguiente lección

Scroll to Top