07 — Condicional Si–Entonces


Concepto clave

La instrucción Si–Entonces ejecuta una secuencia de instrucciones solo si una condición lógica es verdadera. Es la estructura de control más fundamental de cualquier lenguaje de programación.


Forma básica — Sin rama Sino

Si <condición> Entonces
    <instrucciones_si_verdadero>
FinSi
Proceso EjemploSimple
    Definir nota Como Real;
    Leer nota;
    Si nota >= 6 Entonces
        Escribir "Aprobado";
    FinSi;
FinProceso

Si la condición es Falso, no se ejecuta nada y el programa continúa con la instrucción siguiente.


Forma completa — Con rama Sino

Si <condición> Entonces
    <instrucciones_si_verdadero>
SiNo
    <instrucciones_si_falso>
FinSi
Proceso ClasificarEdad
    Definir edad Como Entero;
    Leer edad;
    Si edad >= 18 Entonces
        Escribir "Mayor de edad";
    SiNo
        Escribir "Menor de edad";
    FinSi;
FinProceso

Reglas

  • Entonces es obligatorio
  • SiNo es opcional
  • La condición debe ser una expresión lógica que produzca Verdadero o Falso

Si anidado — múltiples condiciones

Los Si pueden anidarse para manejar más de dos casos:

Proceso ClasificarNota
    Definir nota Como Real;
    Leer nota;
    Si nota >= 9 Entonces
        Escribir "Sobresaliente";
    SiNo
        Si nota >= 7 Entonces
            Escribir "Notable";
        SiNo
            Si nota >= 5 Entonces
                Escribir "Aprobado";
            SiNo
                Escribir "Reprobado";
            FinSi;
        FinSi;
    FinSi;
FinProceso

Alternativa para muchos casos

Cuando hay muchos valores numéricos posibles, considera usar 08 - Selección Múltiple Según en lugar de anidar muchos Si.


Condiciones compuestas con operadores lógicos

Usando los operadores lógicos se pueden combinar condiciones:

// Y — ambas condiciones deben ser verdaderas
Si (edad >= 18) & (edad <= 65) Entonces
    Escribir "En edad laboral";
FinSi;

// O — basta con que una sea verdadera
Si (dia = 6) | (dia = 7) Entonces
    Escribir "Es fin de semana";
FinSi;

// NO — invierte la condición
Si ~aprobado Entonces
    Escribir "Debe recuperar el examen";
FinSi;

Condición directa con variable lógica

Si la condición ya es una variable de tipo Lógico, puede usarse directamente:

Definir aprobado Como Logico;
aprobado <- promedio >= 6;

Si aprobado Entonces
    Escribir "Felicitaciones!";
SiNo
    Escribir "Debe mejorar";
FinSi;

Ejemplo completo — Validación y clasificación

Proceso ClasificarIMC
    Definir peso, altura, imc Como Real;

    Escribir "Peso (kg): ";
    Leer peso;
    Escribir "Altura (m): ";
    Leer altura;

    Si altura <= 0 Entonces
        Escribir "Error: altura inválida";
    SiNo
        imc <- peso / (altura ^ 2);
        Escribir "IMC: ", imc;

        Si imc < 18.5 Entonces
            Escribir "Bajo peso";
        SiNo
            Si imc < 25 Entonces
                Escribir "Peso normal";
            SiNo
                Si imc < 30 Entonces
                    Escribir "Sobrepeso";
                SiNo
                    Escribir "Obesidad";
                FinSi;
            FinSi;
        FinSi;
    FinSi;
FinProceso

Relación con otros temas


Creado con Quartz v4.5.2 © 2026 | Contribución: Alexis Carrillo | Círculo Interno • EvoClub