Secuencias de repetición: for,while, do-while
Introducción
¡Bienvenido o Bienvenida a una nueva clase de Programación Básica!
En esta clase conocerás la estructura de programación por la cual se considera tan potentes a las computadoras, las estructuras de repetición. Esta potencia radica en su capacidad para realizar millones de operaciones en segundos.
Muchos problemas de ingeniería pueden resolverse con estas operaciones repetitivas. Por ejemplo, existen métodos iterativos (que requieren estructuras de repetición para iterar) mediante los cuales se pueden encontrar raíces de polinomios, derivadas, integrales y soluciones a ecuaciones diferenciales. Aplicaciones comunes son para el tratamiento de miles o millones de registros en una base de datos, búsquedas y filtros; al poner en marcha un sensor (temperatura, distancia, humedad, etc.) que cada cierto tiempo envíe la información que mide al usuario, entre otras.
Sin más preámbulo, comencemos a conocer estas importantes estructuras.
Desarrollo del tema
En programación existen 3 ciclos principales: el ciclo FOR, el ciclo WHILE y el ciclo DO-WHILE. Se llaman ciclos por la forma en la que repiten un conjunto de instrucciones durante un tiempo determinado. Este tiempo suele depender de una condición establecida por el programador. Ejemplo de estas condiciones son un número finito de repeticiones o mientras un valor sea mayor, menor o diferente a otro. La forma de esta condición es lo que determina el tipo de ciclo a emplear. El ciclo FOR lo usamos cuando sabemos de antemano el número de repeticiones que se ocuparemos, el ciclo WHILE cuando NO sabemos de antemano cuántas repeticiones se necesitarán, sino que se harán tantas como se requieran para resolver el problema, así sean 1, 2, 10,000 o de forma indeterminada hasta que se detenga el programa. El ciclo DO-WHILE es muy similar al WHILE, pero tiene la distinción de que DO-WHILE realizará al menos una repetición del grupo de instrucciones.
Para implementar el ciclo FOR se requiere saber el número exacto de veces que repetirá una instrucción o grupo de instrucciones. La estructura tiene 3 elementos: (1) inicialización, (2) condición de paro e (3) incremento. Un ejemplo de este ciclo en C sería el siguiente:
En la figura anterior, la línea 8 contiene a la estructura for y sus 3 elementos. La inicialización se realiza con int i = 1. Esto significa que durante el funcionamiento del for, estará disponible una variable entera llamada i cuyo valor inicial es 1. La condición de paro es i<= 10. Lo cual significa que el ciclo repetirá la instrucción printf(…) hasta que la variable i tenga un valor mayor a 10. El incremento i++ significa que cada vez que el ciclo ejecute la instrucción printf(…) el valor de i se incrementará en una unidad. En la parte inferior de la figura se muestra la salida del programa que escribirá en consola cuando se ejecute.
Para implementar el ciclo WHILE basta con colocar una condición de paro, similar al segundo elemento del ciclo FOR. La siguiente figura muestra un ejemplo usando el ciclo WHILE para calcular las potencias de 2 menores a 100.
Como se observa en la figura, el ciclo WHILE sólo ocupa un elemento en su estructura, la condición de paro potencia <= 100 señala que el ciclo estará funcionando mientras que la variable potencia almacene un número más pequeño o igual a 100. En las potencias de 2, 2^8 = 64 sería la última en cumplir esta condición, ya que 2^9=128 es mayor a 100 y en este caso el ciclo termina.
Finalmente, el ciclo DO-WHILE se emplea en casos muy similares a WHILE, pero el primero realizará un conjunto de instrucciones al menos una vez, sin importar si la condición de paro se cumple o no. La siguiente figura muestra un ejemplo de ciclo DO-WHILE.
En esta figura se observa que las líneas 11 a 16 describen la estructura DO-WHILE. La parte del DO, acotadas por las llaves do{…} contienen las instrucciones que se realizarán independientemente de si la condición contador <=10 es cierta o falsa.
Conclusión
Para recapitular lo aprendido en esta clase se enfatiza lo siguiente:
- Existen 3 estructuras de repetición en programación (FOR, WHILE y DO-WHILE)
- Las 3 estructuras tiene el mismo objetivo (repetir un bloque de instrucciones, pero funcionan distinto dependiendo de si se conoce o no el número exacto de iteraciones que deseamos.
- El ciclo FOR es recomendado cuando se conoce exactamente cuántas repeticiones necesitamos
- El ciclo WHILE es útil cuando el número de repeticiones varía dependiendo de los datos de entrada del usuario
- El ciclo DO-WHILE es muy similar al WHILE, pero el primero repetirá al menos una vez el grupo de instrucciones.
Fuentes de información
- Cháves A. 2017 Aprenda a Diseñar Algoritmos. Editorial UNAD. Capítulo 4 sección 3. https://repository.unad.edu.co/bitstream/handle/10596/11970/Chave;jsessionid=D20A6649E17352AA307F10E15817DF59.jvm1?sequence=3