Estructuras repetitivas

Las estructuras de iteración o repetitivas dieron origen a la programación estructurada, la idea básica es permitir la repetición o iteración de un conjunto de instrucciones basándose en el cumplimiento de una condición. Las más usadas son while, for y do..while.

La sentencia for

Es un mecanismo de iteración general que consiste de 4 partes:

  1. la inicialización de variables, que consiste de 0 ó más sentencias separadas por coma.
  2. la condición de prueba que determina si la ejecución del ciclo continuara.
  3. el incremento de variables, que consiste de 0 ó más sentencias separadas por coma.
  4. y finalmente la lista de sentencias que consiste de 0 ó más sentencias que serán ejecutadas en cada ciclo.

Sintaxis:

Ejemplos:

Ejemplos completos que emplean la sentencia de repetición for:

1.Supongamos que se desea imprimir los valores pares comprendidos entre 0 y 20, para ello necesitaremos una variable que irá cambiando de valor de manera incremental; además necesitamos hacer una comparación del residuo para determinar si es par:

Se debe tomar en cuenta que como solo hay una instrucción que depende del ciclo for, no es necesario utilizar las llaves de inicio y fin de bloque { }

NOTA: La sentencia for actúa de manera similar que la sentencia if, es decir, cuando tienen mas de una instrucción que realizar, dichas instrucciones deben estar encerradas entre llaves, de lo contrario solo se realizará la primer instrucción que se encuentre enseguida del for.

2. Realicemos ahora un programa que permita capturar la suma de 1/2 + 2/22 + 3/23 + ... + n/2n hasta un valor n, introducido por el usuario. Para ello necesitaremos de una variable entera que nos indica el límite de datos a generar y una variable flotante que nos permita realizar las operaciones.

Además necesitaremos incluir una librería llamada math.h, que es la responsable de implementar varias funciones matemáticas, como por ejemplo la potencia (pow). Te recomiendo que estudies las funciones que se encuentran en la librería math para que tus programas sean mas eficientes.

Otro ejemplo muy común para mostrar el funcionamiento del ciclo for es el calculo del factorial de un número. Para ello necesitamos el número a obtener el factorial, así como una variable que nos permita realizar de manera incremental las multiplicaciones:

La sentencia while

Es una construcción de repetición que ejecuta una lista de sentencias siempre y cuando la condición de evaluación sea verdadera. De manera que si la condición inicia como falsa, la lista de sentencias nunca serán ejecutadas.

Sintaxis:

Los ciclos pueden ser usados indistintamente, su lógica en realidad es muy similar o solo muestra las distintas formas en las que una persona puede conceptualizar un problema.

Por ejemplo suponga nuevamente el problema donde deseamos imprimir los valores pares comprendidos entre 0 y 20, su implementación sería como sigue:

Ahora veamos la versión while para la serie 1/2 + 2/22 + 3/23 + ... + n/2n, de manera que se obtenga el mismo resultado:

Supongamos ahora un problema en el que deseamos sumar una serie de números hasta que el usuario lo desee, para ello necesitamos capturar el número, sumarlo y preguntarle al usuario si desea continuar capturando números, al final imprimiremos el resultado:

La sentencia do-while

Es un mecanismo de repetición que evalúa repetidamente una lista de sentencias dadas, hasta que la condición llega a ser falsa. Note que cada ciclo do-while ejecutara al menos una vez la lista de sentencias ya que la condición de terminación se encuentra al final.

Sintaxis:

La sentencia do-while también puede ser usada para realizar procesos como los de for y while, solo variara la lógica que le apliquemos, por ejemplo suponga nuevamente el problema de encontrar el factorial de un número n:

Por ejemplo, el problema donde deseamos sumar una serie de números hasta que el usuario lo desee puede ser replanteado con una sentencia do-while.