Está en la página 1de 7

2.

3 Estructuras de repeticin
Zyania Rincon opina que en la solucin de algunos problemas es necesario
ejecutar repetidas veces una instruccin o un conjunto de instrucciones. En
algunos casos, el nmero de repeticiones se conoce con anterioridad, mientras
que en otras depende de clculos o estados de variables que se dan dentro de la
solucin del problema.
Para solucionar este tipo de problemas se utiliza un tipo de estructuras a las que
se conocen como estructuras de repeticin, bucles o ciclos.
Un ciclo consiste en un grupo de acciones que se ejecutan repetidas veces
dependiendo del cumplimiento de una condicin.
Segn la Unican Una estructura de repeticin, tambin llamada lazo o bucle, hace
posible la ejecucin repetida de secciones especficas de cdigo.
De otro modo e programa Nacional de Formacin en Informtica nos dice que la
estructura de repeticin o bucle hace posible la ejecucin repetida de una o ms
instrucciones.
Las estructuras de repeticin nos permiten ejecutar varias veces unas mismas
lneas de cdigo
Estas estructuras describen procesos que se repiten varias veces en la solucin
del problema.
El conjunto de acciones que se repiten conforman el cuerpo del bucle y cada
ejecucin del cuerpo del bucle se denomina iteracin.
Fuentes:
Unican (2015)
http://www.ifca.unican.es/users/gserrano/Docencia/PEC/Fortran4-loops.pdf
Programa Nacional de Formacin en Informtica (2015):
https://sites.google.com/site/algoritmicai/estructuras-de-repeticion
Zyania Rincon (2011):
http://www.buenastareas.com/ensayos/Repetir-Mientras/55524.html

2.3.1 Repetir mientras


Segn el Tecnolgico de Tuxtla Gutirrez La estructura repetir mientras (WHILE)
Permite que se repita cierta accin en cuanto la condicin evaluada sea verdadera
y en el momento en que la condicin sea falsa saldr del ciclo y continuara con la
siguiente instruccin
En este ciclo el cuerpo de instrucciones se ejecuta mientras una condicin
permanezca como verdadera en el momento en que la condicin se convierte en
falsa el ciclo termina.
La forma general de la sentencia while es:
while ( condicin )
sentencia;
Este ciclo consiste en un conjunto de instrucciones que se repiten mientras se
cumpla una condicin. De igual manera que en los condicionales, la condicin es
evaluada y retorna un valor lgico, que puede ser verdadero o falso. En el caso del
ciclo mientras las instrucciones contenidas en la estructura de repeticin se
ejecutarn solamente si al evaluar la condicin se genera un valor verdadero; es
decir, si la condicin se cumple; en caso contrario, se ejecutar la instruccin que
aparece despus de Fin mientras.
A diferencia de otros ciclos, el ciclo mientras
comienza evaluando la expresin condicional,
si el resultado es verdadero seejecutarn las
instrucciones que estn entre el mientras y el
fin mientras, al encontrarse la lnea fin mientras
se volver a evaluar la condicin, si se cumple
se ejecutarn nuevamente las instrucciones y
as sucesivamente hasta que la condicin deje
de cumplirse, en cuyo caso, el control del
programa pasa a la lnea que aparece despus
de fin mientras.
Si en la primera pasada por el ciclo mientras la condicin no se cumple las
instrucciones que estn dentro del ciclo no se ejecutarn ni una sola vez.
Fuentes:
Tecnolgico de de Tuxtla Gutirrez (2015)
https://sites.google.com/site/tecnologicodetuxtlagutierrez/4-3-estructuras-iterativasrepetir-mientras-hasta-desde
Zyania Rincon (2011):
http://www.buenastareas.com/ensayos/Repetir-Mientras/55524.html

2.1.2 Repetir Hasta


Segn el Tecnolgico de Tuxtla Gutirrez su diferencia bsica con
el ciclo while es que la prueba de condicin es hecha al finalizar el
ciclo, es decir las instrucciones se ejecutan cuando menos una
vez porque primero ejecuta las instrucciones y al final evala la
condicin;
Tambin se le conoce por esta razn como ciclo de condicin de
salida.
Su formato general es:
cargar o inicializar variable de condicin;
do {
grupo cierto de instruccin(es);
instruccin(es) de rompimiento de ciclo;
} while (condicin);
Cmo funcionan estas estructuras?
Primero se procede a la inicializacin de las variables que involucran el test de
salida; luego se entra al bucle ejecutndose primeramente las instrucciones de
actualizacin del bucle que involucran variables del test de salida, seguidamente
de las instrucciones de proceso. Ambas partes se ejecutan hasta que la condicin
que involucra la evaluacin del test de salida sea verdadera, continuando la
ejecucin del programa con la ejecucin de las instrucciones que siguen a la
estructura repetitiva.
Las instrucciones de actualizacin y las instrucciones de proceso pueden
permutarse, es decir, si la lgica del programa lo requiere, primero puede
ejecutase las instrucciones de proceso y a continuacin las instrucciones de
actualizacin. En algunos casos, es posible que en una sola instruccin se realice
la actualizacin y el proceso.
Esta estructura repetitiva exige que las instrucciones de proceso se realicen por lo
menos una vez, pues primero se ejecutan las instrucciones de proceso y luego
recin se verifica la validez de la condicin en el test de salida.
Segn Wikipedia: El bucle repetir comprueba la condicin de finalizacin al final
del cuerpo del bucle, y si sta es cierta continua con el resto del programa, a
veces esto resulta ms adecuado.
La sintaxis en pseudocdigo es la siguiente:

El cuerpo del bucle es el fragmento de programa que ser repetido en cada


iteracin.

La condicin es una variable o una funcin reducible a valor booleano.


En la mayora de los lenguajes de programacin seria:
REPEAT

UNTIL (condicin)
Esta estructura de control siempre permite la ejecucin del cuerpo del bucle
cuando menos una vez, y lo finaliza cuando la condicin es cierta.
Dentro de la programacin estructurada, el bucle repetir puede ser sustituido por
un bucle mientras, del siguiente modo:
Repetir
(Cuerpo del bucle)
Hasta que (condicin)
Puede escribirse:
(Cuerpo del bucle)
Mientras NO(condicin)
(Cuerpo del bucle)
fmientras
Estos dos fragmentos de cdigo son equivalentes, porque ambos presentan el
mismo resultado en la mayora de los casos. De todos modos, el bucle repetir es
til cuando se desean realizar las acciones que estn dentro al menos en una
ocasin.
Fuentes:
Tecnolgico de de Tuxtla Gutirrez(2015)
https://sites.google.com/site/tecnologicodetuxtlagutierrez/4-3-estructuras-iterativasrepetir-mientras-hasta-desde
Escodigo (2015)
http://escodigo.com/algoritmica/procesos-repetitivos/estructura-repetir-hasta.html
Wikipedia (2015)
http://es.wikipedia.org/wiki/Bucle_repetir

2.3.3 Repetir Desde

La instruccin Desde (Valor Inicial, Valor Final, Paso) ... Siguiente explota la
capacidad del ordenador para repetir procesos y para contar. Muchas veces esta
instruccin se puede reemplazar por otras instrucciones o estructuras de tipo
repeticin. Se podr optar por la que se estime ms oportuna, que muchas veces
ser la instruccin Desde Siguiente pues rene una cualidades interesantes.
Escribiremos esta instruccin de la siguiente manera:
Desde VAR = Vi hasta Vf Hacer
Instruccin 1
Instruccin 2

Instruccin n
Siguiente VAR
El bloque de instrucciones siempre va sangrado respecto a los lmites definidos
por Desde y Siguiente. VAR es una variable de referencia para la instruccin, que
toma inicialmente el valor Vi (valor inicial). Con la variable de referencia en el valor
inicial se procesa el grupo de instrucciones internas hasta llegar a la instruccin
Siguiente. En este momento el flujo del programa no sigue secuencialmente sino
que se vuelve circular, pues se retorna a la instruccin Desde, donde VAR toma el
valor VAR + 1. A continuacin se vuelve a procesar el conjunto de instrucciones
internas y se contina repitiendo el proceso hasta que, tras n repeticiones, el valor
VAR resulta mayor que Vf (valor final). Cuando esto se produce, ya no vuelve a
haber una repeticin del conjunto de instrucciones internas, sino que se contina
la ejecucin del programa por la instruccin posterior a Siguiente.
Grficamente utilizaremos la siguiente representacin:}

Fuentes: Aprenderaporgramar.com (2015)


http://www.aprenderaprogramar.com/index.php?
option=com_content&view=article&id=359:estructuras-de-repeticion-bucles-ociclos-desde-siguiente-for-next-anidamientos-cu00150a&catid=28:curso-basesprogramacion-nivel-i&Itemid=59

2.3.4 Repetir desde hasta

Segn Tecnolgico de Tuxtla Gutirrez:


Este ciclo es uno de los ms usados para repetir una secuencia de instrucciones,
sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se
ejecute una instruccin simple o compuesta.
Su formato general es:
for (inicializacin; condicin; incremento)
{ instruccin(es); };
Funciona de la siguiente manera:
1. El valor inicial de la variable solo se ejecuta una vez al inicio del ciclo.
2. Se ejecuta la condicin.
3. Si es verdadera pasar a ejecutar el cuerpo del for.
4. Se ejecuta el incremento o decremento de la variable.
5. Pasa a preguntar por la condicin, resultando as un proceso recursivo.
6. Si la condicin fuera falsa la ejecucin pasar a la siguiente instruccin.
En su forma simple la inicializacin es una instruccin de asignacin que carga la
variable de control de ciclo con un valor inicial.
La condicin es una expresin relacional que evala la variable de control de ciclo
contra un valor final o de parada que determina cuando debe acabar el ciclo.
El incremento define la manera en que la variable de control de ciclo debe cambiar
cada vez que el computador repite un ciclo.
Se deben separar esos 3 argumentos con punto y coma (;)
Ejemplo:
Int x
for ( x = 0; x <= 100; x++){
cout<<x+1;
}
Segn Auroraceron:
La sentencia for repite un conjunto de sentencias un nmero predeterminado de
veces. La sentencia for de MATLAB. La siguiente construccin ejecuta sentencias
con valores de i de 1 a n, variando de uno en uno.
for i=1:n
sentencias
end
o bien,
for i=vectorValores
sentencias
end

donde vectorValores es un vector con los distintos valores que tomar la variable i.
En el siguiente ejemplo se presenta el caso ms general para la variable del bucle
(valor_inicial: incremento: valor_final); el bucle se ejecuta por primera vez con i=n,
y luego i se va reduciendo de 0.2 en 0.2 hasta que llega a ser menor que 1, en
cuyo caso el bucle se termina:
for i=n:-0.2:1
Sentencias
end
En el siguiente ejemplo se presenta una estructura correspondiente a dos bucles
anidados. La variable j es la que vara ms rpidamente (por cada valor de i, j
toma todos sus posibles valores):
for i=1:m
for j=1:n
Sentencias
end
end
Una ltima forma de inters del bucle for es la siguiente (A es una matriz):
for i=A
sentencias
end
En la que la variable i es un vector que va tomando en cada iteracin el valor de
una de las columnas de A.
Cuando se introducen interactivamente en la lnea de comandos, los bucles for se
ejecutan slo despus de introducir la sentencia end que los completa.

Fuentes:
Tecnolgico de de Tuxtla Gutirrez(2015)
https://sites.google.com/site/tecnologicodetuxtlagutierrez/4-3-estructuras-iterativasrepetir-mientras-hasta-desde
Auroraceron:
http://auroraceron.mex.tl/661530_3Estructuras-de-repeticion.html