Saltar al contenido
schedule 12 min Lógica de Programación

Condicionales

Cada día tomas decenas de decisiones sin pensarlo: si llueve, coges paraguas; si hace frío, te pones chaqueta; si el semáforo está en rojo, te paras. Tu cerebro evalúa una condición y actúa en consecuencia. Eso, exactamente eso, es lo que hacen los condicionales en programación. Son el mecanismo que permite a un programa "pensar" y tomar caminos diferentes según las circunstancias.

En esta lección vas a aprender a escribir decisiones en pseudocódigo. No necesitas ordenador, solo papel y bolígrafo. Vamos a pensar antes de programar.

La estructura SI / ENTONCES / SINO

Piensa en algo tan simple como salir de casa por la mañana. Tu cerebro hace esto:

SI esta lloviendo ENTONCES
    coger paraguas
SINO
    ponerse gafas de sol
FIN SI

Esa es la estructura básica de un condicional. Tiene tres partes:

  • SI (la condición): algo que puede ser verdadero o falso.
  • ENTONCES: lo que haces si la condición es verdadera.
  • SINO: lo que haces si la condición es falsa (opcional).

Otro ejemplo cotidiano. Vas a cruzar la calle:

SI el semáforo está en verde ENTONCES
    cruzar la calle
SINO
    esperar
FIN SI

Fácil, ¿verdad? El truco está en que la condición siempre se reduce a verdadero o falso. No hay "quizá". O llueve o no llueve. O el semáforo está verde o no lo está.

Condicionales anidados: el árbol de decisiones

Las decisiones de la vida real no son siempre binarias. A veces, dentro de una decisión hay otra decisión. Piensa en cómo decides qué ropa ponerte por la mañana:

SI hace frío ENTONCES
    SI está lloviendo ENTONCES
        ponerse abrigo impermeable
    SINO
        ponerse jersey gordo
    FIN SI
SINO
    SI está lloviendo ENTONCES
        ponerse chubasquero ligero
    SINO
        ponerse camiseta
    FIN SI
FIN SI

Esto es un árbol de decisiones. Cada rama lleva a una nueva pregunta o a una acción final. Es como esos libros de "elige tu propia aventura": cada elección te lleva por un camino distinto.

Consejo: si tus condicionales anidados tienen más de 3 niveles de profundidad, probablemente necesitas reorganizar tu lógica. Un árbol demasiado profundo es difícil de seguir, tanto para humanos como para programas.

Condiciones compuestas: Y / O

Muchas veces una sola condición no basta. Necesitas combinar varias. Para eso usamos los operadores lógicos Y y O.

Y (ambas deben ser verdaderas)

Piensa en entrar a una discoteca: necesitas tener 18 años Y llevar el DNI. Si falta una de las dos, no entras.

SI edad >= 18 Y lleva DNI ENTONCES
    mostrar "Puedes entrar"
SINO
    mostrar "No puedes entrar"
FIN SI

O (al menos una debe ser verdadera)

Para pagar en una tienda: puedes usar tarjeta O efectivo. Con que tengas uno de los dos, puedes pagar.

SI tiene tarjeta O tiene efectivo ENTONCES
    mostrar "Puede pagar"
SINO
    mostrar "No puede pagar"
FIN SI

Combinando Y con O

Las condiciones se pueden combinar tanto como necesites. Imagina una promoción especial en un parque de atracciones:

SI (edad < 12 O edad >= 65) Y es día laborable ENTONCES
    mostrar "Entrada con descuento: 10 euros"
SINO
    mostrar "Entrada normal: 20 euros"
FIN SI

Los paréntesis son importantes. Igual que en matemáticas, los paréntesis indican qué se evalúa primero. Aquí, primero comprobamos si la persona es menor de 12 O mayor de 65, y luego comprobamos si además es día laborable.

Ejemplo: precio de entrada al cine

Vamos con un caso más completo. Un cine tiene estas reglas de precios:

  • Niños (menores de 12): 5 euros.
  • Jubilados (65 o más): 6 euros.
  • Estudiantes (con carnet): 7 euros.
  • Adultos: 10 euros.
  • Los miércoles, todo el mundo tiene un 50% de descuento.
INICIO
    LEER edad
    LEER tiene_carnet_estudiante
    LEER dia_semana

    SI edad < 12 ENTONCES
        precio = 5
    SINO SI edad >= 65 ENTONCES
        precio = 6
    SINO SI tiene_carnet_estudiante = verdadero ENTONCES
        precio = 7
    SINO
        precio = 10
    FIN SI

    SI dia_semana = "miércoles" ENTONCES
        precio = precio / 2
    FIN SI

    mostrar "El precio de tu entrada es: " + precio + " euros"
FIN

Fíjate en dos cosas importantes:

  • Los SINO SI se evalúan en orden. Si alguien tiene 10 años y carnet de estudiante, paga 5 euros (precio de niño), porque esa condición se cumple primero.
  • El descuento de los miércoles se aplica después, independientemente de la categoría. Esto es un segundo bloque condicional separado, no anidado dentro del primero.

Ejemplo: ¿qué me pongo hoy?

Un ejemplo más divertido. Imagina que estás creando un "asistente de armario" que te dice qué ponerte según el tiempo y la ocasión:

INICIO
    LEER temperatura
    LEER esta_lloviendo
    LEER ocasión   // "trabajo", "cita", "deporte", "casa"

    // Primero decidimos la capa base según temperatura
    SI temperatura < 10 ENTONCES
        capa_base = "jersey de lana"
    SINO SI temperatura < 20 ENTONCES
        capa_base = "camisa manga larga"
    SINO
        capa_base = "camiseta"
    FIN SI

    // Luego ajustamos según la ocasión
    SI ocasión = "trabajo" ENTONCES
        SI temperatura < 15 ENTONCES
            atuendo = capa_base + " con blazer y pantalón formal"
        SINO
            atuendo = "camisa + pantalón formal"
        FIN SI
    SINO SI ocasión = "cita" ENTONCES
        atuendo = capa_base + " con tu mejor pantalón y zapatos buenos"
    SINO SI ocasión = "deporte" ENTONCES
        atuendo = "ropa deportiva (da igual la temperatura, vas a sudar)"
    SINO
        atuendo = capa_base + " con pantalón cómodo"
    FIN SI

    // Complementos según el clima
    SI esta_lloviendo ENTONCES
        atuendo = atuendo + " + paraguas"
        SI temperatura < 15 ENTONCES
            atuendo = atuendo + " + botas de agua"
        FIN SI
    FIN SI

    mostrar "Hoy ponte: " + atuendo
FIN

Este ejemplo muestra cómo los condicionales se pueden organizar en bloques independientes que se complementan: primero la ropa base, luego el ajuste por ocasión, y finalmente los complementos por clima. Cada bloque toma su propia decisión, y el resultado final es la suma de todas.

Errores comunes con condicionales

  • Olvidar el SINO final: si no cubres todos los casos posibles, tu programa puede no hacer nada. Siempre pregúntate: "¿qué pasa si ninguna condición se cumple?"
  • Orden incorrecto de las condiciones: si pones SI edad >= 12 antes de SI edad >= 65, un jubilado de 70 entraría por la primera condición y pagaría precio de adulto.
  • Confundir Y con O: "llueve Y hace sol" es muy raro. "llueve O hace sol" cubre casi todas las situaciones. Piensa bien cuál necesitas.

Resumen

  • SI / ENTONCES / SINO: la estructura básica para tomar decisiones.
  • SINO SI: para encadenar múltiples condiciones excluyentes.
  • Condicionales anidados: decisiones dentro de decisiones (árboles de decisión).
  • Y: ambas condiciones deben ser verdaderas.
  • O: al menos una condición debe ser verdadera.
  • El orden de las condiciones importa: la primera que se cumpla es la que se ejecuta.

En la siguiente lección aprenderemos a repetir acciones con bucles: cómo hacer que tu programa haga algo una y otra vez sin tener que escribirlo cada vez.

code

Árbol de decisión: recomendador de restaurantes

Intermedio schedule 15 min

Con papel y bolígrafo, diseña un árbol de decisiones para recomendar un restaurante. Usa pseudocódigo con SI / SINO SI / SINO. Tu programa debe preguntar estas tres cosas:

  • Presupuesto: "bajo" (menos de 15 euros), "medio" (15-30 euros) o "alto" (más de 30 euros).
  • Tipo de cocina: "italiana", "japonesa", "mexicana" o "española".
  • Tamaño del grupo: 1-2 personas, 3-5 personas, o más de 5 personas.

Para cada combinación, recomienda un tipo de restaurante concreto. Por ejemplo:

  • Presupuesto bajo + italiana + grupo pequeño = "Pizzería del barrio"
  • Presupuesto alto + japonesa + grupo grande = "Restaurante omakase con reserva privada"

No necesitas cubrir TODAS las combinaciones (serían 36). Elige al menos 8 combinaciones interesantes y usa un SINO final como recomendación genérica para los casos no cubiertos.

lightbulb Pistas

Organiza tu pseudocódigo en niveles: primero decide por presupuesto (3 ramas principales), dentro de cada presupuesto decide por tipo de cocina, y dentro de cada cocina ajusta por tamaño del grupo si es necesario. Recuerda usar condiciones compuestas con Y cuando quieras simplificar: SI presupuesto = "bajo" Y tipo = "italiana". Termina siempre con un SINO que diga algo como "Te recomendamos buscar en Google Maps cerca de ti".

Newsletter

Recibe nuevos cursos, actualizaciones, artículos del blog y promociones en tu correo.