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)

do while

Ejercicio Resuelto

Problema: calcular el factorial de un número entero.

  1. Leer el número entero y asignarlo a la variable contador.
  2. Asignar a la variable factorial el valor 1 para comenzar el proceso.
  3. Mientras la variable contador sea mayor que 0, multiplicar el factorial por el contador.
  4. 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.

do until 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).

for next  

Comprueba lo aprendido

Completa los espacios en blanco con palabras que aparecen en la parte inferior.

-  Cualquiera de estas tres estructuras de pueden ser sustituidas por una de las tres estructuras .
-  El bloque de sentencias que contiene la estructura DO-UNTIL se ejecuta que la condición sea verdadera. Esta estructura pertenece a las de .
-  La estructura SELECT-CASE puede ejecutar tantas distintas como valores pueda tomar la variable. Esta estructura pertenece a las de .
-  En la estructura FOR-NEXT la subrutina se repetirá tantas veces como valores tome la , por lo que se denomina o de recorrido.
variable iteración selección básicas bucle subrutinas
control hasta

Habilitar JavaScript

Ejercicio resuelto en PSEINT

Construir un programa que pida por teclado al usuario su nombre y escriba en pantalla 10 veces dicho nombre.

Bucle

Imagen de elaboración propia

Comprueba lo aprendido

¿Qué estructura utilizarías para realizar las siguientes operaciones?

1.- Programar el secundero de un reloj.
a) Secuencia b) Selección c) Iteración
2.- Imprimir un texto introducido mediante el teclado y mostrarlo en pantalla.
a) Secuencia
b) Selección
c) Iteración
3.- Hacer un censo por sexos.
a) Secuencia
b) Selección
c) Iteración

Habilitar JavaScript

Para saber más

Bucle
En 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

Biblioteca Bucle infinito de Job Koelenwinj.
Imagen de Blogodisea