INSTITUTO TECNOLÓGICO SUPERIOR DE
POZA RICA
FECHA: 17 DE NOVIEMBRE DEL 2020
REPORTE: ESTRUCTURAS REPETITIVAS.
UNIDAD: 2
MATERIA: INTRODUCCIÓN A LA PROGRAMACIÓN
NOMBRE DEL DOCENTE: ING. RICARDO ANDRÉS PÉREZ
NOMBRE DEL ALUMNO(A): OROZCO PORTILLA LEZLY MONSERRATH
NUMERO DE CONTROL: 186P0389
CARRERA: ING. ELECTROMECÁNICA
GRADO: 1º.
GRUPO: “C”.
OBJETIVOS.
Objetivos generales:
• Definir e implementar la información necesaria para desarrollar
estructuras repetitivas correctamente.
Objetivos específicos:
• Definir qué es una estructura repetitiva.
• Conocer la sintaxis de cada estructura repetitiva.
• Diferenciar las estructuras repetitivas según su comportamiento.
• Realizar estructuras repetitivas.
INTRODUCCIÓN
A menudo es necesario ejecutar una instrucción o un bloque de instrucciones más de una vez.
Las estructuras de control repetitivas o iterativas también conocidas como “bucles”, nos permiten
resolver de forma elegante este tipo de problemas. Algunas podemos usarlas cuando conocemos
el numero de veces que deben repetirse las operaciones. Otras nos permiten repetir un conjunto de
operaciones mientras se cumpla una condición.
Un bucle es cualquier construcción de programa que repite una sentencia o secuencia de
sentencias un número de veces. La sentencia (o grupo de sentencias) que se repiten en un bloque
se denomina cuerpo del bucle y cada repetición del cuerpo del bucle se llama iteración del bucle.
El conjunto de instrucciones que se ejecuta repetidamente se llama ciclo. Todo ciclo debe
terminar de ejecutarse luego de un numero finito de veces, por lo que es necesario en cada iteración
del mismo, evaluar las condiciones necesarias para decidir si se debe seguir ejecutando o si debe
detenerse. En todo ciclo, siempre debe existir una condición de parada o fin de ciclo.
Este tipo de estructuras son parte integral de cualquier lenguaje de programación, ya que se
utiliza cuando se quiere que un mismo conjunto de instrucciones se ejecuten un cierto número de
veces. Lo interesante de las estructuras repetitivas es que son eficientes, ya que al reducir tareas
complejas a algo tan sencillo como esto, no solo se ahorra código, sino también facilita la solución
al problema.
En esta investigación se presentarán los tipos de estructuras repetitivas, definiéndolas de manera
sencilla, mostrando su sintaxis y diagrama de flujo, así como ejemplos de estas.
ESTRUCTURAS REPETITIVAS.
Las estructuras repetitivas se utilizan cuando se quiere que un conjunto de instrucciones se
ejecuten un cierto número finito de veces, por ejemplo, escribir algo en pantalla cierta cantidad de
veces, mover un objeto de un punto a otra cierta cantidad de pasos, o hacer una operación
matemática cierta cantidad de veces. Se les llama bucle o ciclo a todo proceso que se repite cierto
número de veces dentro de un pseudocódigo o un programa y las estructuras repetitivas nos
permiten hacerlo de forma sencilla.
Las estructuras repetitivas permiten ejecutar acciones que pueden descomponerse en otras
acciones primitivas, esta estructura debe tener una entrada y una salida en la cual se ejecute
la acción un determinado o indeterminado número de veces. Las estructuras repetitivas pueden ser:
• WHILE (mientras),
• FOR (para),
• DO WHILE (hacer mientras).
ESTRUCTURA REPETITIVA WHILE (MIENTRAS).
La estructura algorítmica mientras, comúnmente conocida como while, es la estructura
adecuada para utilizar en un ciclo cuando no sabemos el número de veces que este se ha de repetir.
Dicho numero depende de las proporciones dentro del ciclo.
En la estructura mientras se distinguen dos partes:
• Ciclo: Conjunto de instrucciones que se ejecutarán repetidamente.
• Condición de terminación: La evaluación de esta condición permite decidir cuándo
finalizara la ejecución del ciclo. La condición se evalúa al inicio del mismo.
Un bucle while tiene una condición del bucle (una expresión lógica) que controla la secuencia
de repetición. La posición de esta condición del bucle es delante del cuerpo del bucle y significa
que un bucle while es un bucle pretest de modo que cuando se ejecuta el mismo, se evalúa la
condición antes de que se ejecute el cuerpo del bucle.
La estructura algorítmica repetitiva while permite repetir un conjunto de instrucciones. Sin
embargo, el número de veces que se debe repetir depende de las proposiciones que contenga el
ciclo. Cada vez que corresponde iniciar el ciclo se evalúa una condición, si ésta es verdadera
(diferente de cero) se continúa con la ejecución, de otra forma se detiene. Hay una gran cantidad
de casos en los que podemos aplicar la estructura repetitiva while.
El diagrama de flujo de la estructura repetitiva while es el siguiente:
Figura 1. Diagrama de flujo de la estructura repetitiva While.
Donde:
PI: Representa la proposición inicial. Debe tener un valor verdadero (diferente de cero)
inicialmente para que el ciclo se ejecute. Si el valor de PI es falso, entonces el ciclo no se ejecuta.
Además, dentro del ciclo siempre debe existir un enunciado que afecte la condición, de tal forma
que aquél no se repita de manera infinita.
En el lenguaje algorítmico la estructura mientras la expresamos de esta forma:
Figura 2. Sintaxis de la estructura repetitiva While.
El comportamiento o funcionamiento de una sentencia (bucle) while es:
1. Se evalúa la condición bucle.
2. Si condición bucle es verdadera:
a) La sentencia especificada, denominada cuerpo del bucle, se ejecuta.
b) Vuelve el control al paso 1.
3. En caso contrario:
El control se transfiere a la sentencia siguiente al bucle o sentencia while.
“El cuerpo del bucle se repite mientras que la expresión lógica (condición del bucle) sea
verdadera. Cuando se evalúa la expresión lógica y resulta falsa, se termina y se sale del bucle y se
ejecuta la siguiente sentencia del programa después del cuerpo de la sentencia while”.
En la siguiente figura se muestra un ejemplo de un código en lenguaje C++, utilizando la
estructura repetitiva While.
Repite el cuerpo del bucle mientras la condición determinada sea verdadera.
Figura 3. Ejemplo de Código con estructura repetitiva While.
ESTRUCTURA REPETITIVA FOR (PARA).
La estructura “para” conocida comúnmente como For, es la estructura algorítmica adecuada
para utilizar en un ciclo que se ejecutara un numero definido de veces.
Se suele emplear en sustitución del bucle while cuando se conoce el numero de iteraciones que
hay que realizar.
La sentencia for (bucle for) es un método para ejecutar un bloque de sentencias un número fijo
de veces. El bucle for se diferencia del bucle while en que las operaciones de control del bucle se
sitúan en un solo sitio: la cabecera de la sentencia.
Este tipo de estructuras esta presente en todos los lenguajes de programación, ya sean
estructurados u orientados a objetos. El número de repeticiones no depende de las proposiciones
dentro del ciclo. El numero de veces se obtiene del planteamiento del problema o de una lectura
que indica que el numero de iteraciones se debe realizar para N ocurrencias.
El diagrama de flujo de la estructura algorítmica repetir es el siguiente:
Figura 4. Diagrama de flujo para una estructura repetitiva For.
Donde:
V: Es la variable de control del ciclo.
VI: Es el valor inicial.
VF: Es el valor final.
ID: Es el incremento o decremento, según sea la estructura repetir ascendente o descendente.
V (contador del ciclo, generalmente representando por las letras I, J, K, V) toma un valor inicial
y se compara con VF (valor final). El ciclo se ejecuta mientras V es menor, menor igual, mayor o
mayor igual al valor de V. El valor de V se incrementa o decrementa en cada iteración. Cuando V
supere el valor de V, entonces el ciclo se detiene.
En lenguaje algorítmico, al diagrama de flujo, lo expresamos de esta forma:
Figura 5. Sintaxis de la estructura repetitiva For.
Diferentes usos de bucles for.
ANSI C++ Estándar requiere que las variables sean declaradas en la expresión de inicialización
de un bucle for sean locales al bloque del bucle for.
De igual modo permite que:
• El valor de la variable de control se puede modificar en valores diferentes de 1.
• Se pueden utilizar más de una variable de control.
Precauciones en el uso de for.
Un bucle for se debe construir con gran precaución, asegurándose de que la expresión de
inicialización, la condición del bucle y la expresión de incremento harán que la condición del
bucle se convierta en falsa en algún momento. En particular:
«si el cuerpo de un bucle de conteo modifica los valores de cualquier variable implicada en
la condición del bucle, entonces el número de repeticiones se puede modificar».
Esta regla anterior es importante, ya que su aplicación se considera una mala práctica de
programación. Es decir, no es recomendable modificar el valor de cualquier variable de la
condición del bucle dentro del cuerpo de un bucle for, ya que se pueden producir resultados
imprevistos.
A continuación, se presenta un ejemplo de programación en C++ con estructura repetitiva
For:
Figura 6. Ejemplo de Código con estructura repetitiva For.
ESTRUCTURA REPETITIVA DO-WHILE (HACER MIENTRAS).
La sentencia do-while se utiliza para especificar un bucle condicional que se ejecuta al menos
una vez. Esta situación se suele dar en algunas circunstancias en las que se ha de tener la seguridad
de que una determinada acción se ejecutará una o varias veces, pero al menos una vez.
Este es el otro formato que puede tener la orden “while”: la condición se comprueba al final. El
punto en que comienza a repetirse se indica con la orden “do”, así:
do
sentencia;
while (condición);
Al igual que en el caso anterior, si queremos que se repitan varias órdenes (es lo habitual),
deberemos encerrarlas entre llaves. Nuevamente, puede ser recomendable incluir siempre las
llaves, como costumbre.
Figura 7. Sintaxis de la estructura repetitiva Do While.
La construcción do comienza ejecutando sentencia. Se evalúa a continuación expresión. Si
expresión es verdadera, entonces se repite la ejecución de sentencia. Este proceso continúa hasta
que expresión es falsa. La semántica del bucle do se representa gráficamente en la Figura 8.
Figura 8. Diagrama de flujo de una estructura Do-While.
Después de cada ejecución de sentencia se evalúa expresión. Si es falsa, se termina el bucle y
se ejecuta la siguiente sentencia; si es verdadera, se repite el cuerpo del bucle (la sentencia)
Diferencia entre while y do while.
La estructura do while cumple la misma función que la estructura while. La diferencia está en
que la estructura mientras comprueba la condición al inicio y repetir lo hace al final. Es por ello la
estructura repetir se ejecuta por lo menos una vez.
A continuación, se presenta un ejemplo de programación en C++ con la estructura repetitiva do
while:
Figura 9. Ejemplo de Código con la estructura repetitiva Do-While.
COMPARACIÓN DE BUCLES WHILE, FOR Y DO-WHILE
C++ proporciona tres sentencias para el control de bucles: while, for y do-while. El bucle while
se repite mientras su condición de repetición del bucle es verdadera; el bucle for se utiliza
normalmente cuando el conteo esté implicado, o bien el control del bucle for, en donde el número
de iteraciones requeridas se puede determinar al principio de la ejecución del bucle, o simplemente
cuando existe una necesidad de seguir el número de veces que un suceso particular tiene lugar. El
bucle do-while se ejecuta de un modo similar a while excepto que las sentencias del cuerpo del
bucle se ejecutan siempre al menos una vez.
En C++, el bucle for es el más frecuentemente utilizado de los tres. Es relativamente fácil
reescribir un bucle do-while como un bucle while, insertando una asignación inicial de la variable
condicional. Sin embargo, no todos los bucles while se pueden expresar de modo adecuado como
bucles do-while, ya que un bucle do-while se ejecutará siempre al menos una vez y el bucle while
puede no ejecutarse. Por esta razón, un bucle while suele preferirse a un bucle do-while, a menos
que esté claro que se debe ejecutar una iteración como mínimo.
BREAK Y CONTINUE
Hay dos palabras reservadas que pueden ayudar a mejorar las estructuras
repetitivas: break y continue.
• Break: Obliga a que el ciclo se rompa, aunque la condición lógica no se haya cumplido.
• Continue: Obliga a que un ciclo vuelva a iterarse.
Es preferible que se trate de evitar el uso de break a menos que sea absolutamente necesario,
ya que puede causar conflictos y es difícil de debuggear.
CONCLUSIÓN
Se cumplió con los objetivos deseados, se implementaron y comprendieron las estructuras
repetitivas y, por lo tanto, se es capaz de realizarlas de una manera correcta. Este tema es de gran
importancia, ya que este tipo de estructuras comúnmente son muy utilizadas dentro de la
programación debido a su gran eficiencia.
Una estructura de repetición, también llamada lazo o bucle, hace posible la ejecución repetida
de secciones específicas de código. Este tipo de estructuras son parte integral de cualquier lenguaje
de programación, ya que se utiliza cuando se quiere que un mismo conjunto de instrucciones se
ejecuten un cierto número de veces. Son eficientes, ya que al reducir tareas complejas a algo tan
sencillo, no solo se ahorra código, sino también facilita la solución al problema.
Hay tres tipos básicos de estructuras de repetición, cuya diferencia principal radica en cómo se
controlan las mismas: WHILE (mientras), FOR (para), DO WHILE (hacer mientras).
En el bucle WHILE, un bloque de sentencias se ejecuta un número indefinido de veces, hasta
que se satisface alguna condición establecida por el usuario, lo cual desde el punto de vista de la
programación, equivale a que una cierta expresión lógica tome el valor, “verdadero”.
El bucle FOR es la estructura algorítmica adecuada para utilizar en un ciclo que se ejecutará un
numero definido de veces.
El bucle DO-WHILE cumple la misma función que la estructura while. La diferencia está en
que la estructura mientras comprueba la condición al inicio y repetir lo hace al final. Es por ello
que la estructura repetir se ejecuta por lo menos una vez.
Existen dos palabras que se utilizan para mejorar las estructuras repetitivas, estas son: Break; que
obliga a que un ciclo se rompa, aun cuando la condición no se haya cumplido, y Continue; que
obliga a que un ciclo vuelva a iterarse.
Con todo lo visto anteriormente dentro de este tema se puede comprobar que las estructuras
repetitivas tienen una gran influencia para los programadores, debido a precisión y eficiencia en
los códigos.
REFERENCIAS.
Joyanes, A. L. (2006). Programación en C++ Algoritmos, estructuras de datos y objetos.
México, Editorial: Mc Graw Hill.
Cairó, O. (2005). Estructuras de control. En: Metodología de la programación. México,
Editorial: Alfaomega.
Rodríguez, A. M. (2012). Estructuras de control. En: Metodología de la programación a través
de pseudocódigo. México, Editorial: McGraw Hill.
Brian W. Kernighan, Dennis M. Ritchie, (1991). Estructuras de control. En: El lenguaje de
programación C. segunda edición, USA, Pearson Educación.