Si Entonces en PSeInt | Condicionales Explicados
Tu programa debe hacer una cosa si el usuario es mayor de edad y otra si no lo es, y buscas Si Entonces en PSeInt. Encuentras listas con la mitad de la sintaxis, ejemplos que no funcionan, y nadie te dice qué hacer cuando hay tres o cuatro opciones.
Esta página explica el comando Si Entonces de PSeInt desde cero. Verás la sintaxis, las cinco formas de usarlo, ejemplos probados en el programa con su diagrama de flujo, los errores comunes y cómo elegir entre Si y Segun.
Sintaxis Básica de Si Entonces en PSeInt
El comando Si Entonces toma una decisión en PSeInt. El programa revisa una condición, y si es verdadera ejecuta un bloque de instrucciones, y si es falsa puede ejecutar otro bloque. Es la misma idea del if else de otros lenguajes, donde Si es el if y SiNo es el else. Estas son las dos formas del comando.
Si condicion Entonces
instrucciones si la condicion es verdadera
FinSi
Si condicion Entonces
instrucciones si la condicion es verdadera
SiNo
instrucciones si la condicion es falsa
FinSi
| Parte | Qué hace | Obligatorio |
| Si | Inicia la decisión | Sí |
| Condición | Una expresión que da Verdadero o Falso | Sí |
| Entonces | Marca el inicio del bloque | Sí en el perfil estricto, opcional en el perfil flexible |
| SiNo | Inicia el bloque para el caso falso | No |
| FinSi | Cierra la decisión | Sí |
Reglas que Debes Recordar
La condición debe dar Verdadero o Falso, así que usas operadores de comparación y operadores lógicos, como edad >= 18 o a > 0 Y b > 0. Un número solo no es una condición, y Si x Entonces da el error No coinciden los tipos. Puedes ver todos en nuestra página sobre los operadores de PSeInt.
PSeInt no tiene un comando para else if, así que SiNo Si no existe. Cuando necesitas más opciones, escribes un Si nuevo dentro de SiNo, con su propio FinSi. Cada Si necesita su propio FinSi, y una decisión corta puede ir en una sola línea, como Si x > 3 Entonces Escribir “mayor”; FinSi.
Cómo Usar Si Entonces en PSeInt
Estas cinco formas cubren casi todos los ejercicios. Cada programa tiene un nombre de proceso distinto de los nombres de sus variables, y los diagramas de flujo los dibujó el propio PSeInt.
Condicional Simple, Solo Si
El bloque se ejecuta solo cuando la condición es verdadera, y si es falsa el programa continúa después de FinSi.
Proceso MayorDeEdad
Definir edad Como Entero;
Escribir “Escribe tu edad”;
Leer edad;
Si edad >= 18 Entonces
Escribir “Eres mayor de edad”;
FinSi
Escribir “Fin del programa”;
FinProceso

Con 20 el programa muestra Eres mayor de edad y Fin del programa, y con 15 muestra solo Fin del programa.
Condición Doble, Si y SiNo
Aquí el programa siempre ejecuta uno de los dos bloques.
Proceso ParOImpar
Definir n Como Entero;
Escribir “Escribe un numero entero”;
Leer n;
Si n MOD 2 = 0 Entonces
Escribir “Es par”;
SiNo
Escribir “Es impar”;
FinSi
FinProceso

Con 8 el programa muestra Es par, y con 7 muestra Es impar.
Condiciones Compuestas con Y, O y NO
Puedes unir condiciones con Y, con O y con NO, y puedes usar una variable lógica directamente como condición.
Proceso Entrada
Definir edad Como Entero;
Definir tieneBoleto Como Logico;
Escribir “Escribe tu edad”;
Leer edad;
Escribir “Tienes boleto, V o F”;
Leer tieneBoleto;
Si edad >= 18 Y tieneBoleto Entonces
Escribir “Puedes entrar”;
SiNo
Escribir “No puedes entrar”;
FinSi
Si edad < 12 O edad > 65 Entonces
Escribir “Tienes descuento”;
FinSi
Si NO tieneBoleto Entonces
Escribir “Compra un boleto”;
FinSi
FinProceso
Con 20 y V el programa muestra Puedes entrar. Con 10 y F muestra No puedes entrar, Tienes descuento y Compra un boleto.
Si Anidado, el If Anidado en PSeInt
Un Si anidado es un Si dentro del SiNo de otro, y te deja elegir entre más de dos opciones.
Proceso EtapaDeVida
Definir edad Como Entero;
Escribir “Escribe tu edad”;
Leer edad;
Si edad < 12 Entonces
Escribir “Eres un nino”;
SiNo
Si edad < 18 Entonces
Escribir “Eres un adolescente”;
SiNo
Si edad < 60 Entonces
Escribir “Eres un adulto”;
SiNo
Escribir “Eres un adulto mayor”;
FinSi
FinSi
FinSi
FinProceso

Diagrama de flujo en PSeInt de condiciones Si anidadas
Con 5 el programa muestra Eres un nino, con 15 Eres un adolescente, con 30 Eres un adulto y con 70 Eres un adulto mayor. Fíjate que cada Si tiene su propio FinSi.
Condición Múltiple, Si Anidado o Segun
Cuando tienes varias opciones fijas, como un menú, puedes usar Si anidado, pero Segun es más corto y más fácil de leer. Este menú de restaurante usa Si anidado.
Proceso MenuRestaurante
Definir plato Como Entero;
Definir total Como Real;
Escribir “1 Tacos, 2 Pizza, 3 Ensalada”;
Leer plato;
Si plato = 1 Entonces
total <- 60;
SiNo
Si plato = 2 Entonces
total <- 120;
SiNo
Si plato = 3 Entonces
total <- 45;
SiNo
total <- 0;
FinSi
FinSi
FinSi
Si total > 0 Entonces
Escribir “Total a pagar “, total;
SiNo
Escribir “Opcion no valida”;
FinSi
FinProceso

Con 1 el total es 60, con 2 es 120, con 3 es 45, y con 9 el programa muestra Opcion no valida. El mismo menú con Segun reemplaza los tres Si anidados con una sola estructura.
Segun plato Hacer
1:
total <- 60;
2:
total <- 120;
3:
total <- 45;
De Otro Modo:
total <- 0;
FinSegun
Usa Si anidado cuando las condiciones son rangos, como las edades, y usa Segun cuando cada opción es un valor exacto.
Ejemplos de Si Entonces en PSeInt
Practica con estos ejercicios, que combinan Si con otros comandos. Cada uno fue probado en el programa.
Mayor de Tres Números
Proceso MayorDeTres
Definir a, b, c, mayor Como Real;
Escribir “Escribe tres numeros”;
Leer a, b, c;
Si a >= b Y a >= c Entonces
mayor <- a;
SiNo
Si b >= c Entonces
mayor <- b;
SiNo
mayor <- c;
FinSi
FinSi
Escribir “El mayor es “, mayor;
FinProceso

Con 4, 9 y 6 el resultado es 9, y con 1, 2 y 3 el resultado es 3.
Positivo, Negativo o Cero
Proceso Signo
Definir x Como Entero;
Escribir “Escribe un numero entero”;
Leer x;
Si x > 0 Entonces
Escribir “positivo”;
SiNo
Si x < 0 Entonces
Escribir “negativo”;
SiNo
Escribir “cero”;
FinSi
FinSi
FinProceso
Con 5 el programa muestra positivo, con -3 muestra negativo y con 0 muestra cero.
Contar los Números Pares con Para y Si
Este programa une un ciclo y un condicional. Para recorre los números del 1 al 20, y Si cuenta solo los pares.
Proceso ContarPares
Definir i, pares Como Entero;
pares <- 0;
Para i <- 1 Hasta 20 Hacer
Si i MOD 2 = 0 Entonces
pares <- pares + 1;
FinSi
FinPara
Escribir “Hay “, pares, ” numeros pares del 1 al 20″;
FinProceso
El programa dice que hay 10 números pares.
Comparar Texto
El texto se compara con el símbolo =, y PSeInt distingue entre mayúsculas y minúsculas, así que S no es lo mismo que s. Usa Minusculas para evitar el problema.
Proceso RespuestaSN
Definir resp Como Caracter;
Escribir “Quieres continuar, s o n”;
Leer resp;
Si Minusculas(resp) = “s” Entonces
Escribir “Continuamos”;
SiNo
Escribir “Adios”;
FinSi
FinProceso
Con S o con s el programa muestra Continuamos, y con n muestra Adios.
Errores Comunes con Si Entonces
Cada mensaje te dice la causa, y estos son los que más verás con condicionales, probados en el programa.
| Mensaje | Causa | Solución |
| Falta cerrar SI | Un Si sin FinSi, un Si anidado que no está cerrado, o SiNo Si escrito como un solo comando | Cierra cada Si con su propio FinSi, y escribe un Si nuevo dentro de SiNo |
| Falta Entonces | Si sin Entonces en el perfil estricto | Escribe Entonces después de la condición |
| No coinciden los tipos | Una condición que no es lógica, como Si x Entonces, o una comparación entre un texto y un número | Usa una comparación como x > 0, y compara valores del mismo tipo |
| El texto no coincide | S escrita en mayúscula cuando el programa compara con s | Usa Minusculas antes de la comparación |
Ejercicios de Condicionales en PSeInt para Practicar
Practica los condicionales con estas ideas, y mira el diagrama de flujo que PSeInt dibuja para cada una.
Conclusión
Ahora sabes cómo usar Si Entonces en PSeInt, desde la condición simple hasta el Si anidado y el menú con Segun. El siguiente paso es ver las decisiones como un diagrama de flujo, y puedes aprender cómo en nuestra página sobre diagramas de flujo en PSeInt. Si empiezas desde cero, lee primero cómo usar PSeInt.
