9. Ciclo Repetir (4.3.2)
Ciclo Repetir
Section titled “Ciclo Repetir”Repetir <instrucciones>Hasta Que <condición>- Se ejecuta el cuerpo.
- Se evalúa la condición.
- Si es falsa, se vuelve al paso 1. Si es verdadera, el ciclo termina.
Como la condición se revisa después, el cuerpo se ejecuta al menos una vez.
Mientras continúa cuando la condición es verdadera. Repetir termina cuando la condición es verdadera. Confundirlo es el error más frecuente con este ciclo.
Ejemplo: validar una entrada
Section titled “Ejemplo: validar una entrada”En el bloque 4.2 el algoritmo solo podía avisar que el semestre era inválido. Ahora lo pide de nuevo:
Repetir Mostrar "Semestre (1 a 10): " Entrada: semestreHasta Que semestre >= 1 Y semestre <= 10Mostrar "Semestre registrado: ", semestreValidación: prueba
Section titled “Validación: prueba”| El usuario escribe | ¿Condición de salida? | Qué pasa |
|---|---|---|
| 15 | Falsa | Pide otra vez |
| 0 | Falsa | Pide otra vez |
| 3 | Verdadera | Muestra Semestre registrado: 3 |
Repetir es natural aquí porque siempre hay que pedir el dato al menos una vez.
Con Mientras habría que leer el dato antes del ciclo y repetir la misma entrada dentro, como en el centinela.
Limitación: la validación revisa el rango, no el tipo. Si el usuario escribe “tres” en un ENTERO, PSeInt detiene la ejecución con un error de tipos.
Ejemplo: cajero con menú repetido
Section titled “Ejemplo: cajero con menú repetido”saldo = SALDO_INICIALRepetir Mostrar "1. Consultar saldo 2. Depositar 3. Retirar 4. Salir" Mostrar "Opción: " Entrada: opcion Segun opcion Hacer 1: Mostrar "Saldo disponible: $", saldo 2: // depósito, igual que en el bloque 4.2 3: // retiro con las decisiones anidadas del bloque 4.2 4: Mostrar "Gracias por usar el cajero" De Otro Modo: Mostrar "Opción no válida" FinSegunHasta Que opcion = 4Cajero: el estado se conserva entre iteraciones
Section titled “Cajero: el estado se conserva entre iteraciones”saldo se inicializa fuera del ciclo: así cada operación parte del saldo que dejó la anterior.
| Secuencia de opciones | Saldo final |
|---|---|
| 2 (500), 3 (700), 1, 4 | 2300 |
Qué sigue
Section titled “Qué sigue”Continúa con 10. Ciclo Desde.

