1. Taller
Estructuras Repetitivas
Un Ciclo
Un ciclo es una estructura que nos permite representar un conjunto de instrucciones que debe
repetirse una cantidad limitada de veces, normalmente dependiente de una condición o de una
cantidad determinada de repeticiones o iteraciones. Los ciclos permiten iterar todo un proceso
tantas veces como el programador (ó el usuario) lo determine.
Es común,que en lasoluciónde muchosproblemasalgorítmicos,se requierarealizar la repetición
de ciertobloque de instrucciones,conel finde obtenerel objetivo buscado por el algoritmo. Para
implementarrepeticiónde bloquesde instruccionesse utilizanlosestructurasde control llamadas
ciclos o estructuras repetitivas.
Concepto
Un ciclo puede definirse como una estructura que nos permite repetir o iterar un conjunto de
instrucciones y que tiene las siguientes características:
El conjunto de instrucciones a repetir dentro del ciclo debe ser finito
La cantidad de veces que se repita dicho conjunto de instrucciones también debe ser finita. En
algunoscasosesta cantidadde vecesvaa dependerde una condición explícita y en otros casos va
a dependerde unacondiciónimplícita.Unacondiciónes explícita cuando depende solamente de
la misma ejecución del programa sin que sea importante la participación del usuario. Asimismo
una condiciónesimplícitacuandodepende solamente de la voluntad del usuario y por lo tanto la
cantidad de iteraciones o repeticiones del ciclo podría llegar a ser diferente cada vez pues sería
posible que cambiara con cada usuario.
Debenestarclaramente demarcadosel inicioyel findel ciclo.Enloscasos enloscualessoloexista
una instrucción a iterar, no serán necesarias dichas marcas.
Dentro de un ciclo podrá ir cualquiera de las otras estructuras, incluyendo otros ciclos.
2. Tiposde Ciclos
Ciclo while (Mientras)
El ciclo while representa el esquema general de trabajo para todos los ciclos, esto quiere
decir que si se entiende claramente la lógica de funcionamiento de este ciclo se facilita
entender no solo los otros ciclos. Es útil saber que este ciclo también es llamado en
algunos libros el Ciclo Mientras Que.
La estructura general de este ciclo en lenguaje C es la siguiente:
While (expresion_condicional)
{
...
instrucciones_del_cuerpo_del_ciclo
...
instrucciones_que_modifican_el_resultado_de_la_condicion
}
Su forma de ejecución es muy sencilla: Mientras se cumpla que la condición sea Verdadera
entonces se ejecutará el Cuerpo del Ciclo. De igual forma también se podría decir que el
Cuerpo del Ciclo se repetirá tantas veces como lo permita la condición o mientras dicha
condición sea Verdadera. En condiciones normales la cantidad de veces que se repita el
cuerpo del ciclo será siempre una cantidad finita y deberá existir, dentro del mismo
cuerpo del ciclo, una o más instrucciones que hagan que en algún momento la condición
sea Falsa.
El ciclo while se puede describir de la siguiente forma: cuando el computador encuentra la
estructura while verifica la condición del ciclo, si la condición es verdadera se ejecutan las
instrucciones al interior del ciclo, luego de ejecutar la última condición del ciclo se vuelve a
evaluar la condición, sí continúa siendo cierta se vuelve a ejecutar el bloque de
instrucciones del ciclo. Cuando la condición se hace falsa el computador se salta el bloque
de instrucciones del ciclo y continúa con la ejecución del resto de instrucciones del
programa.
3. Ciclo for (Para o Desde)
La estructura general de este ciclo en lenguaje C es la siguiente:
for (control=valor_inicial;control<=valor_tope;incremento_control)
{
...
instrucciones_del_cuerpo_del_ciclo
...
}
La forma de ejecución del ciclo es la siguiente: control representa una variable que va a
tomar valores iniciando en valor inicial y terminando en valor tope avanzando con un
incremento. En los casos en los que no se especifica el valor del paso la mayoría de los
lenguajes de programación asume el incremento de 1, sin embargo el lenguaje C requiere
que la variable de control sea incrementada, Ejemplo: Si la variable de control se llama vi y
el paso es de 1 el incremento de la variable de control se define así, vi=vi+1. El Cuerpo del
Ciclo se ejecutará una vez por cada valor que tome la variable control. Veamos con un
ejemplo cuál sería la aplicación de este ciclo.
En el siguiente ejemplo se muestra una aplicación de esta estructura.
Ejemplo 1. Escribir los números impares comprendidos entre 1 y 100.
#include <stdio.h>
int main()
{
int numero,vc;
for(vc=1; vc<=100; vc=vc+2)
{
printf("nImpar %d: %d",vc/2+1,vc);
}
return(0);
}
El programa del ejemplo produce una salida por pantalla similar a: "Impar 3: 5". Y serán 50
salidas, una por cada impar entre 1 y 100.
El siguiente ejemplo resuelve el mismo problema pero usando la estructura while
mencionada en el apartado anterior.
4. Ejemplo 2. Escribir los números impares comprendidos entre 1 y 100.
#include <stdio.h>
int main()
{
int vc;
vc=1;
do{
printf("nImpar %d: %d",vc/2+1,vc);
vc=vc+2;
}while(vc<=100);
return(0);
}