4.4. Estructuras iterativas o bucles
Bucle MIENTRAS-HACER (WHILE-DO)
La acción o subrutina se ejecutará mientras el valor de una condición sea verdadero. Se denomina MIENTRAS-HACER (WHILE-DO)
![]() |
Ejercicio Resuelto
Problema: calcular el factorial de un número entero.
- Leer el número entero y asignarlo a la variable contador.
- Asignar a la variable factorial el valor 1 para comenzar el proceso.
- Mientras la variable contador sea mayor que 0, multiplicar el factorial por el contador.
- Restar 1 a la variable contador.
Bucle REPETIR-HASTA (DO-UNTIL)
Esta estructura forma parte de las estructuras de iteración. La diferencia con DO-WHILE es que el bloque o subrutina se ejecutará hasta que una condición sea verdadera. En esta estructura el bloque se ejecuta por lo menos una vez, en cambio en el DO-WHILE puede que no se llegue a ejecutar nunca.
![]() |
La pregunta se realiza al final de la estructura. |
Bucle PARA (FOR-NEXT)
Otras de las estructuras de iteración es el bucle PARA (FOR-NEXT). En esta estructura el bloque o subrutina se ejecutará mientras la variable recorra los valores comprendidos entre el valor1 y el valor2. Por ello, se denomina estructura de recorrido.
Se puede determinar el incremento que se aplicará a la variable en cada ciclo del bucle con el término STEP (PASO).
![]() |
Comprueba lo aprendido
Completa los espacios en blanco con palabras que aparecen en la parte inferior.
Ejercicio resuelto en PSEINT
Construir un programa que pida por teclado al usuario su nombre y escriba en pantalla 10 veces dicho nombre.
Imagen de elaboración propia
Comprueba lo aprendido
¿Qué estructura utilizarías para realizar las siguientes operaciones?
Para saber más
BucleEn este apartado ha surgido el término bucle, referido a un grupo de instrucciones que se repite un número de veces determinado por el valor de una variable.
Su función primordial es el ahorro de código cuando una subrutina debe repetirse para varios valores.
Una recomendación al usar estructuras repetitivas: todo bucle debe tener su fin para que los programas no se bloqueen en una ejecución eterna.
|
|
Cuando la condición de finalización del bucle no se cumple en ningún caso, se dice que es un bucle infinito porque se repite de forma indefinida y el programa no puede continuar. Un ejemplo sería un bucle en el que la variable sólo tome valores pares y la condición de salida sea variable=5.
Por ello, la definición dice que para todo bucle deben definirse condiciones de inicio y finalización de éste. Un bucle infinito suele considerarse un error en el programa, salvo si ha sido diseñado así por el programador (programas maliciosos).
|
![]() |
Biblioteca Bucle infinito de Job Koelenwinj. |