Una caja dentro de otra caja: un control dentro de otro (estructuras anidadas)
Al terminar vas a poder: El estudiante comprenderá y construirá estructuras anidadas en PSeInt —un control dentro de otro— en sus dos formas: ciclo dentro de ciclo (un Para dentro de un Para, para escribir la tabla de multiplicar completa) y decisión dentro de decisión (Si anidados, para una calculadora que elige la operación). Entenderá POR QUÉ anidar multiplica lo que un programa hace sin multiplicar el esfuerzo, por qué en los Si anidados el orden de las preguntas importa, y por qué la sangría (indentación) es lo que evita que el código se vuelva un nudo. Al cierre habrá construido la tabla completa y la calculadora paso a paso, y entregará un programa anidado PROPIO (su tabla a la medida de su número de lista, o una calculadora con su firma) con su diagrama de flujo, usando la IA como revisor de su lógica —que prueba o traza— y nunca como autor del programa.
Una caja dentro de otra caja: así nacen las tablas completas y las calculadoras que eligen
La idea de hoy en una frase
Anidar = poner un control dentro de otro. Una caja dentro de otra caja. Ya lo hiciste con carpetas (una subcarpeta es una carpeta dentro de otra); hoy lo haces con el ciclo Para y la decisión Si.
Las dos formas de anidar
| Forma | Qué es | Ejemplo de hoy |
|---|---|---|
| Ciclo dentro de ciclo | un Para dentro de otro Para | la tabla de multiplicar COMPLETA (del 1 al 10) |
| Decisión dentro de decisión | un Si dentro del Sino de otro Si | una calculadora que elige la operación |
Por qué anidar es tan poderoso
- El Para de afuera elige la tabla; el Para de adentro la recorre entera. Por cada vuelta del de afuera, el de adentro da TODAS sus vueltas: 10 × 10 = 100 líneas con 7 renglones de código.
- En los Si anidados, cada decisión vive dentro del Sino de la anterior. Se leen en orden: la primera condición que se cumple gana y las demás ni se revisan.
La regla que evita el nudo: la sangría (indentación)
Cada control que metes adentro recorre su contenido un escalón a la derecha. Esos escalones te dicen dónde empieza y dónde termina cada “caja”. Código sin sangría = caja sin tapa.
PSeInt te ordena la sangría solo, con un botón . Úsalo SIEMPRE antes de entregar.
✅ Antes de seguir: ¿puedes decir las dos formas de anidar? ¿Qué pasa con las demás ramas cuando una condición ya se cumplió? ¿Para qué sirve la sangría?
📬 Correo de entrega de mi grupo: ________________________
Usa el correo asignado a tu grupo. Tu profesor te lo da en clase — anótalo aquí.
Construyamos juntos la tabla de multiplicar COMPLETA: un Para dentro de un Para
Misión (juntos): la tabla de multiplicar completa con dos Para anidados
Ten PSeInt abierto y ve haciendo cada paso al mismo tiempo. Al final debe quedar HECHO y corriendo, no solo leído.
Paso a paso
- Nuevo proceso. Crea un proceso nuevo y nómbralo
TablasDeMultiplicar(sin acentos ni espacios en el nombre del proceso). - El Para de afuera (elige qué tabla):
Para tabla <- 1 Hasta 10. - Dentro del Para de afuera, escribe el título de cada tabla:
Escribir "Tabla del ", tabla;. - El Para de adentro (recorre la tabla):
Para k <- 1 Hasta 10. Fíjate que este Para va MÁS a la derecha que el de afuera: está anidado. - Dentro del Para de adentro, la multiplicación:
Escribir tabla, " x ", k, " = ", tabla*k;. - Ordena la sangría con el botón de PSeInt y observa los escalones: cada caja recorrida a la derecha de la que la contiene.
- Ejecuta y mira la consola: salieron las 10 tablas completas.
- Genera el diagrama de flujo automático y observa cómo el ciclo de adentro queda dibujado DENTRO del ciclo de afuera.
El código que debe quedarte
Proceso TablasDeMultiplicar
Para tabla <- 1 Hasta 10 Con Paso 1 Hacer
Escribir "Tabla del ", tabla;
Para k <- 1 Hasta 10 Con Paso 1 Hacer
Escribir tabla, " x ", k, " = ", tabla*k;
FinPara
Escribir "";
FinPara
FinProcesoLo que acabas de comprobar con tus ojos
- El Para de afuera dio 10 vueltas. En cada una, el de adentro dio 10 vueltas completas → 100 líneas de tabla.
- Cada
Paratiene suFinPara. ElFinParade adentro va ANTES que el de afuera: se cierra primero la caja que se abrió al último.
✅ Checklist parcial (antes del bloque 3):
- El proceso corre y muestra las 10 tablas
- El Para de adentro está más a la derecha que el de afuera (sangría)
- Cada
Paratiene suFinPara, y el de adentro cierra primero - Generé el diagrama de flujo automático
La calculadora que elige: Si dentro de Si, y por qué el orden te puede traicionar
Trabajo individual: una calculadora con decisiones anidadas
Ahora tú solo. Construye una calculadora que pregunte qué operación hacer y la resuelva — usando un Si dentro del Sino de otro Si.
El código base (tecléalo, no lo copies a ciegas: entiéndelo)
Proceso Calculadora
Escribir "¿Qué quieres hacer? 1:Sumar 2:Restar 3:Multiplicar 4:Dividir";
Leer opcion;
Escribir "Dame el primer número:";
Leer b;
Escribir "Dame el segundo número:";
Leer c;
Si opcion = 1 Entonces
Escribir b, " + ", c, " = ", b+c;
Sino
Si opcion = 2 Entonces
Escribir b, " - ", c, " = ", b-c;
Sino
Si opcion = 3 Entonces
Escribir b, " * ", c, " = ", b*c;
Sino
Si opcion = 4 Entonces
Escribir b, " / ", c, " = ", b/c;
Sino
Escribir "Opción no válida";
FinSi
FinSi
FinSi
FinSi
FinProcesoFíjate: cada
Sinuevo vive DENTRO delSinodel anterior, y se recorre un escalón más a la derecha. Por eso al final hay cuatroFinSi, uno por cada caja. Ordena la sangría con el botón de PSeInt y cuéntalos.
Analiza tu propio programa (responde en tu cuaderno o en un comentario del .psc)
- Traza opción 3. Si el usuario escribe 3, ¿por cuántos
Sinopasa antes de llegar a la multiplicación? ¿Por qué no entró en suma ni en resta? - El caso que nadie escribió bien la primera vez: ¿qué pasa si el usuario teclea 9? ¿Cuál de los mensajes aparece y por qué?
- ¿Importa el orden aquí? Si pusieras la pregunta
opcion = 4ARRIBA deopcion = 1, ¿cambiaría el resultado para alguien que elige sumar? Explica con tus palabras. - La trampa de la división: si el usuario elige dividir y el segundo número es 0, el programa se rompe. Agrega un
SiMÁS, anidado dentro de la rama del 4, que avise “No se puede dividir entre cero” cuandoc = 0. (Una caja más dentro de la caja de dividir.)
Errores típicos de esta práctica (revísate)
FinSide más o de menos: si anidas cuatroSi, necesitas cuatroFinSi. PSeInt te marca el error; léelo, no lo ignores.- Sangría plana: sin escalones no ves qué
Sinopertenece a quéSi. Ordena la sangría siempre. - Dividir entre cero: si no lo proteges, el programa se cae. Por eso el punto 4.
✅ Checklist parcial:
- La calculadora resuelve las 4 operaciones
- Conté los
FinSiy coinciden con losSi - Respondí las 4 preguntas de análisis
- Agregué el
Sianidado que protege la división entre cero
Tu programa anidado, con tu firma: control de calidad, IA como revisor y entrega
Tu entregable: un programa ANIDADO propio, con tus datos
Elige UNA de las dos opciones. Las dos tienen que estar anidadas (un control dentro de otro):
- Opción A — Tabla a tu medida: la tabla de multiplicar del 1 hasta TU número de lista (un
Paradentro de otroPara, donde el límite delParade afuera es tu número de lista). Si tu número de lista es 17, tu programa imprime las tablas del 1 al 17. - Opción B — Calculadora con tu firma: la calculadora de
Sianidados, pero al inicio saluda con tu nombre y tu número de lista, y agrega una 5ª operación que tú elijas (por ejemplo, residuoMODo potencia^) como unSimás anidado.
La línea que te delata (obligatoria — es tu firma)
Como primer renglón del proceso, pon un comentario con tus datos reales:
// Autor: <Tu nombre> | Lista <tu número> | Grupo ____ | Fecha de hoy: __/__/____Y el programa debe usar tu número de lista como dato real: el límite de la tabla (Opción A) o el saludo de la calculadora (Opción B). Quien copie el programa de otro arrastra un número ajeno: su tabla sale de otro tamaño, o su saludo dice otro nombre. Se nota a la primera.
Control de calidad antes de entregar
- El programa corre sin errores en PSeInt
- Hay anidamiento real (un
Paradentro de unPara, o unSidentro de unSino) - Sangría ordenada con el botón de PSeInt : se ven los escalones
- Cada apertura tiene su cierre (
Para/FinPara,Si/FinSi) y cuadran las cantidades - El comentario de autor (nombre + lista + fecha) está en el primer renglón
- El programa usa tu número de lista como dato real
- Generé el diagrama de flujo automático
Entrega
-
Ordena la sangría (botón de PSeInt) .
-
Guarda el pseudocódigo como
Nombre_Grupo_S17.psc. -
Genera y guarda el diagrama de flujo como
Nombre_Grupo_S17.png. -
Sube ambos archivos a la carpeta “Semana 17” usando el correo asignado a tu grupo:
-
Confirma que los dos archivos aparecen en la carpeta antes de cerrar sesión.
Mini-truco IA de la semana — ver la sección de abajo.
Para llevarte de la clase: hoy no aprendiste “un comando nuevo”. Aprendiste a meter un control dentro de otro —una caja dentro de otra caja— y con eso un programa pequeño hace un trabajo enorme. Ese molde mental (anidar) está debajo de casi todo lo que hace una computadora. No era tan difícil, ¿verdad?
📬 Correo de entrega de mi grupo: ________________________
Usa el correo asignado a tu grupo. Tu profesor te lo da en clase — anótalo aquí.