Computadoras y Programación · ENES Juriquilla · UNAM
Sesión 5 · Computadoras y Programación
No todo camino
es derecho.
Una sola pregunta puede partir el camino de un algoritmo en dos — o en muchos.
Hoy el programa aprende a preguntarse algo antes de actuar.
La sesión pasada
Todo caminaba en línea recta.
Hoy: el camino se parte en dos.
La sesión pasada su algoritmo bajaba paso a paso, sin desviarse — la estructura
secuencial. Quedó una pregunta pendiente: ¿qué pasa cuando el programa necesita
decidir? Hoy la respondemos.
El problema real
Avisar si un número es negativo
INICIO
LEER n
ESCRIBIR "n es negativo"
FIN
Esto se ejecuta siempre. n sea negativo o no. Sin decidir, no hay forma
de que a veces sí y a veces no.
¿Y si el programa pudiera
preguntarse algo antes de actuar?
Primera forma — SI
Una pregunta. Tal vez un paso.
SI hace una sola cosa: si la condición es verdadera, ejecuta un bloque de
instrucciones. Si es falsa, lo salta por completo y el programa sigue de largo.
Sintaxis
SI condición ENTONCES
instrucción 1
instrucción 2
FIN SI
Diagrama de flujo
El "No" no dibuja nada — el camino simplemente sigue derecho, como si
la pregunta no hubiera existido.
Regla práctica
Una sola posibilidad
El resto sigue igual
Nada si es falso
Úsalo cuando solo un camino necesita una acción extra — el otro
simplemente continúa sin cambios.
Ejemplo trabajado 1
Si la temperatura pasa de 38°,
que el programa avise "fiebre".
Respuesta · SI
Pseudocódigo
INICIO
LEER temperatura
SI temperatura > 38 ENTONCES
ESCRIBIR "fiebre"
FIN SI
FIN
Diagrama
Inicio
Leer temperatura
¿temp > 38?
Segunda forma
¿Y si ambos caminos hacen algo?
A veces no basta con actuar solo cuando es verdad — el caso falso también
necesita su propia respuesta.
SI-SINO — dos caminos
Dos caminos. Siempre uno de los dos.
SI-SINO nunca deja el camino vacío: si la condición es verdadera, corre un
bloque; si es falsa, corre el otro. Uno de los dos siempre se ejecuta.
Sintaxis
SI condición ENTONCES
instrucción A
SINO
instrucción B
FIN SI
Diagrama de flujo
Ahora ambos brazos del rombo llegan a algo. No hay camino vacío.
Comparación
SI
Falso: no pasa nada.
Un solo bloque.
El resto sigue igual.
SI-SINO
Falso: corre el otro bloque.
Dos bloques, uno de los dos.
Nunca queda vacío.
Ejemplo trabajado 2
Decir si un número
es par o impar.
Respuesta · SI-SINO
Pseudocódigo
INICIO
LEER n
SI n MOD 2 = 0 ENTONCES
ESCRIBIR "par"
SINO
ESCRIBIR "impar"
FIN SI
FIN
Diagrama
Inicio
Leer n
¿n MOD 2 = 0?
Tercera forma
¿Y si una pregunta no alcanza?
Cuando hay más de dos posibilidades, una decisión puede vivir dentro de otra.
Selección anidada
Un SI dentro de otro SI.
La selección anidada mete un SI (o un SI-SINO) completo dentro del bloque
de otro. Cada nivel resuelve una pregunta más fina que la anterior.
Sintaxis
SI condición1 ENTONCES
SI condición2 ENTONCES
instrucción A
SINO
instrucción B
FIN SI
SINO
instrucción C
FIN SI
Diagrama de flujo
El segundo rombo solo existe dentro de la rama "Sí" del primero — nunca
se dibuja si condición1 ya fue falsa.
Cuando hay muchas opciones
Selección múltiple — SEGÚN-SEA
Anidar SI dentro de SI funciona, pero con seis o siete opciones se vuelve
difícil de leer. SEGÚN-SEA compara una sola variable contra varios valores,
uno por uno.
Sintaxis
SEGÚN-SEA variable HACER
CASO valor1: instrucción 1
CASO valor2: instrucción 2
CASO valor3: instrucción 3
EN OTRO CASO: instrucción por defecto
FIN SEGÚN
Por dentro, SEGÚN-SEA es exactamente una cadena de SI anidados — solo
más corta de escribir y más clara de leer.
Resumen
SI
Posibilidades: una.
Si es falsa: no pasa nada.
Ejemplo: avisar solo si hay fiebre.
SI-SINO
Posibilidades: dos.
Siempre corre una de las dos.
Ejemplo: decir par o impar.
Anidada / SEGÚN-SEA
Posibilidades: tres o más.
Preguntas dentro de preguntas.
Ejemplo: calificación en letra.
Ejemplo integrador
Convertir una calificación (0–100)
en una letra: A, B, C, D o F.
Algoritmo · calificación en letra
- Leer la calificación.
- Si es 90 o más, la letra es A.
- Si no, y es 80 o más, la letra es B.
- Si no, y es 70 o más, la letra es C.
- Si no, y es 60 o más, la letra es D.
- Si no, la letra es F.
- Escribir la letra.
Respuesta · pseudocódigo
INICIO
LEER calif
SI calif >= 90 ENTONCES
letra ← "A"
SINO SI calif >= 80 ENTONCES
letra ← "B"
SINO SI calif >= 70 ENTONCES
letra ← "C"
SINO SI calif >= 60 ENTONCES
letra ← "D"
SINO
letra ← "F"
FIN SI
ESCRIBIR letra
FIN
Respuesta · diagrama de flujo
Cuatro rombos en cascada, cada "No" abre la siguiente pregunta —
exactamente lo que escribe SINO SI por dentro.
Ahora, en equipos
Encuentren el rombo.
Cacen el error.
Tres dinámicas cortas para sentir una decisión por dentro, antes de escribir una.
Dinámica 1
Completa el diagrama.
1 · Se proyecta un diagrama con un rombo vacíoLas dos ramas de salida ya tienen sus instrucciones dibujadas.
2 · En equipos, escriben la condiciónSolo con lo que dicen las dos cajas de salida, deducen qué pregunta va dentro del rombo.
3 · La dicen en voz altaEl primer equipo listo la comparte; el resto revisa si coincide.
4 · Comparan contra el pseudocódigoSe revela la línea original y confirman si la condición era exactamente esa.
En vivo · ¿qué pregunta falta?
Un cajero automático: retira el dinero si el saldo alcanza; si no, avisa "saldo insuficiente".
¿ ??? ?
No
Avisar "saldo insuficiente"
Respuesta · la condición que faltaba
- La condición: ¿saldo >= monto?
- Si es verdadera (el saldo alcanza), se retira el dinero.
- Si es falsa (no alcanza), se avisa "saldo insuficiente".
- Ambas ramas dibujan algo — por eso es un SI-SINO, no un SI simple.
Dinámica 2
Cacen el error de lógica.
1 · Se proyecta un SI-SINO con un bugEl pseudocódigo corre sin errores de sintaxis — el error es de lógica.
2 · 60 segundos, en equiposEncuentran la línea exacta que está mal.
3 · Levantan la manoEl primer equipo en señalar la línea correcta explica qué pasaría con un dato real.
4 · Proponen la correcciónDicen exactamente qué cambiar para que el algoritmo diga la verdad.
⏱ 60 segundos · ¿dónde está el error?
INICIO
LEER calif
SI calif >= 60 ENTONCES
ESCRIBIR "reprobado"
SINO
ESCRIBIR "aprobado"
FIN SI
FIN
Respuesta · las ramas invertidas
- El bug: los mensajes están cambiados — dice "reprobado" precisamente cuando la calificación SÍ alcanza el mínimo para aprobar.
- La corrección: intercambiar los dos ESCRIBIR — "aprobado" en la rama que cumple, "reprobado" en la que no.
- La regla general: lean la condición en voz alta antes de decidir qué va en cada rama — un SI-SINO sintácticamente perfecto puede seguir mintiendo.
Dinámica 3 · relámpago, en voz alta
A
Avisar solo si la batería está baja.
B
Decir si aprobaste o reprobaste.
C
Convertir una calificación en letra (A a F).
Respuesta · Dinámica 3
A → SI (una posibilidad)
B → SI-SINO (dos posibilidades)
C → Anidada / SEGÚN-SEA (varias posibilidades)
El mensaje de hoy
Secuencia y ahora decisión.
El programa ya puede elegir.
SI, SI-SINO y anidamiento son la misma idea repetida: una pregunta, y
caminos distintos según la respuesta. Con esto el algoritmo deja de ser
una línea recta.
Lo que sigue
¿Y si un camino hay que recorrerlo varias veces?
La siguiente sesión resuelve el tercer problema: repetir un bloque de
instrucciones sin copiar y pegar la misma línea cien veces.
Gracias
Walter Rosales
CEO & Co-Founder, iGalenus
walter.rosales@igalenus.com
@walterr_rosales
walter-rosales.com