
La estructura Si-entonces de PSeInt
Apartado 19: el condicional if en programación
Dificultad del apartado:
Para practicar con los condicionales, vamos a utilizar la estructura condicional Si-entonces
de PSeInt.
En la mayoría de lenguajes de programación, esta estructura se llama if
.
En Python hay dos estructuras condicionales, if y match que equivale a switch. Esta última, la veremos en otro capítulo.
Empecemos preparando lo más básico, la variable que guardará la edad y la entrada para que el usuario la introduzca.
Algoritmo mayorEdad
// Variable del algoritmo
Definir edad Como Entero
// Se le solicita la edad al usuario
Escribir "¿Cuántos años tienes?"
Leer edad
FinAlgoritmo
Utiliza este comando para escribir esta estructura en tu código:

Esta estructura consta de tres partes.
Si expresion_logica Entonces
acciones_por_verdadero
SiNo
acciones_por_falso
Fin Si
Parte Si
Esta primera parte, espera que le pongamos una expresión lógica, como las que utilizamos con los operadores de comparación. Por ejemplo, 10 > 20
es una expresión lógica que puede ofrecer un resultado lógico o booleano de verdadero o falso.
Si esta expresión es verdadera, se va a ejecutar el código que hay después del Entonces
, pero solo la línea que ves indentada. Fíjate que pone "acciones_por_verdadero".
Parte SiNo
Si la expresión del Si
es falsa, se ignora el código que haya en la parte de Si
y se ejecuta el código que tiene este SiNo
.
Parte Fin Si
La parte final, Fin Si
, sirve para indicar al intérprete de PSeInt que termina ahí la estructura.
En Python y en casi todos los lenguajes de programación, el Si de PSeInt equivale a "if" y el SiNo a "else". El Entonces no existe en Python, pero si en otros lenguajes. Este suele denominarse "then"
if se puede traducir al español como "si", y else como "si no" o en caso contrario. De ahí los nombres de PSeInt.
Entonces se traduce al inglés como "then".
Esto te quedará mucho más claro con el ejemplo práctico.
Algoritmo mayorEdad
// Variable del algoritmo
Definir edad Como Entero
// Se le solicita la edad al usuario
Escribir "¿Cuántos años tienes?"
Leer edad
// Estructura condicional para evaluar si es mayor de edad
Si edad >= 18 Entonces
Escribir "Ok. Puedes acceder."
SiNo
Escribir "No puedes acceder, eres menor de edad."
Fin Si
FinAlgoritmo
En la expresión booleana, he puesto que si edad es mayor o igual que (>=) 18, que le diga al usuario, que puede acceder (se supone que esto serviría para dejar acceder a un usuario o no, a un programa completo). En cambio, si la edad introducida es menor que 18 o no es igual a 18, esta expresión del Si
, se evalúa como FALSO
por el intérprete. Por lo que ignora la parte del Si
y ejecuta la parte del SiNo
.
Lo que dice el condicional, se podría traducir en lenguaje humano como "Si edad es mayor o igual a 18, dile al usuario que puede acceder. Si no es así, dile que no puede acceder".
Probando el algoritmo
Primero, vamos a probar con un valor de 20:

Ahora, con un valor de 16:

Diagrama de flujo de un condicional SiNo
El diagrama de flujo indica los dos posibles caminos que tiene nuestro algoritmo. Ha dejado de ser un algoritmo lineal, para convertirse en un algoritmo con más de una posibilidad.
En el futuro, utilizarás en tus algoritmos más de un condicional y podrás hacer más caminos posibles.

Si la expresión edad >= 18
devuelve VERDADERO
(V), se ejecuta el camino de la derecha. De ahí, pasa al fin del algoritmo, pero si hubiese más código después del condicional, este se ejecutaría. Siempre se va a saltar uno de los dos caminos.
En cambio, si la expresión es FALSA
va por el camino de la izquierda.
Eso es todo, pero ya puedes ver, que puedes dotar a tus algoritmos de cierta "inteligencia". Esto es muy básico, pero pronto harás verdaderas maravillas.
Anterior SiguienteEjercicios resueltos de programación
- En el siguiente código, si pongo en la consola una respuesta que no sea ni feliz, ni triste, ¿qué ocurrirá?
- Se ejecuta el código del
Si
. - Se ejecuta el código del
SiNo
. - Da error por valor no contemplado.
Algoritmo felicidad
// Variable del algoritmo
Definir respuesta Como Cadena
// Se le pregunta al usuario sobre su estado de ánimo
Escribir "¿Cómo te sientes hoy? (feliz/triste)"
Leer respuesta
// Estructura condicional para evaluar la respuesta
Si respuesta = "feliz" Entonces
Escribir "¡Qué bueno! Disfruta tu día."
SiNo
Escribir "Oh, espero que tu día mejore pronto."
Fin Si
FinAlgoritmo
Las soluciones de los ejercicios las tienes aquí: Ejercicios resueltos de programación.
Comentarios
Si te quedan dudas sobre el temario, sobre Programación, PseInt, Python o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.