Condiciones repetitivas (Repetir-hasta)
Es también muy frecuente que un bloque de programa que quizá se repita, deba ejecutarse al menos una vez. Por ejemplo, si queremos pedir un dato al usuario, quizá exista algún error y haya que insistir, pero al menos deberemos pedírselo una primera vez.
En estos casos, la estructura "mientras" no es la más adecuada: no podemos comprobar la condición al principio, sino después de haber pedir el valor. En estos casos (que son muy frecuentes), sería más razonable usar otra estructura de programación en la que la condición se compruebe después de dar ciertos pasos. Esa estructura es "repetir... hasta":
Su representación en un diagrama de flujo sería:

Y en el caso de PSeInt, ese icono generaría un esqueleto de programa como éste:
Por ejemplo, un programa que pida al usuario una clave de acceso, y que no le permita seguir hasta que la introduzca correctamente, se podría hacer así:
Algoritmo Repetir01 Repetir Escribir "Dime tu clave de acceso"; Leer clave; Si clave <> 1234 Entonces Escribir "Clave incorrecta"; FinSi Hasta Que clave=1234 Escribir "Bienvenido!"; FinAlgoritmo
Cuyo resultado sería:
ACTIVIDAD:
1. Realizar las siguientes practicas:
Ejercicio de repaso propuesto 1: Crea un programa que pida al usuario un código de usuario y una contraseña. Deberá repetirse hasta que el código sea "1" y la contraseña sea "1234".
Ejercicio de repaso propuesto 2: Haz un programa que permita calcular la suma de pares de números. Pedirá dos números al usuario y mostrará su suma, volviendo a repetir hasta que ambos números introducidos sean 0. Esta vez deberás usar "Repetir", por lo que tu solución no será igual que la del ejercicio que hiciste en las anteriores clases, que empleaba "Mientras".
Ejercicio de repaso propuesto 3: Prepara un programa que divida dos números que introduzca el usuario. Si el segundo número es cero, se le deberá avisar y volver a pedir tantas veces como sea necesario, hasta que introduzca un número distinto de cero, momento en que se calculará y mostrará el resultado de la división.
2. Hasta el momento en el proyecto global deberás tener desarrollado:
Módulo II: Modulo de Consignación.
3. Seguir con la realizacíon de los módulos el software de un cajero automático así:
- Módulo III: Modulo de Cambio de Clave.
Esta semana trabajaremos el módulo III.
CIBERGRAFÍA: http://www.aprendeaprogramar.com










