Sesión 7
Sesión 7
Sesión 7
Como se ha podido observar hasta el momento, tanto Estructuras repetitivas o de ciclo (Bucle)
en las soluciones que se plantearon con estructuras Los bucles son un conjunto de instrucciones que se ejecutan
secuenciales como con las decisivas; han sido manera repetidamente hasta que una condición es reunida. Por lo cual
unitaria. Es decir, para una persona, un objeto o cosa. estas estructuras se usan cuando se desea automatizar una
Sin embargo, se debe considerar que cuando se tarea específica de carácter repetitivo o ahorrar la escritura de
plantean problemas como calcular el pago por nomina líneas de código que se repiten varias veces, los nombres con
en una empresa cabe la posibilidad de que el cálculo se los que se conocen estas estructuras de flujo repetitivas son:
tenga que hacer para dos o más empleados, usando el
Mientras que (While)
mismo proceso de cálculo que por lógica debe ser igual
En esta estructura el ciclo se repite hasta que la condición lógica
para cada uno, pero donde existe la posibilidad de que
(booleana) resulta ser falsa. Dicho de otro modo, las líneas de
los parámetros que determinan el sueldo de cada
código internas del proceso del ciclo (cuerpo del ciclo) se van a
empleado sean los que cambien. Así, se pueden
repetir de manera secuencial desde el inicio hasta el fin de
presentar muchos casos donde el proceso se debe
forma indeterminada mientras la condición del ciclo resulte ser
repetir varias veces y sólo cambien los parámetros que
verdadera. Además, como se puede ver en la figura, en esta
se utilizan en el proceso. Por tal motivo se emplean
estructura primero se evalúa la condición y luego se realiza el
estructuras denominadas repetitivas, de ciclo o de
proceso, por lo cual es posible que el ciclo While no se ejecute
bucle, estas permiten que un proceso pueda realizarse
si de entrada no se cumple la condición para la ejecución.
N veces.
Break y Continue
En todas las estructuras se pueden utilizar el comando break para
terminar un bucle prematuramente. Es decir, aun cuando la
comparación del While todavía es verdadera o aun cuando no se
haya llegado al fin del ciclo for. En otras palabras, un enunciado
En Python la sintaxis es como se muestra. break provocará la terminación de un bucle while, do while o for
en el momento en el que se enuncie.
Cabe aclarar que este comando siempre se ejecuta y está
presente sin necesidad de escribirse y se efectúa por defecto
cuando las condiciones para la ejecución del ciclo cambien a falso
o se llega al final del for. En este caso, se dice que es la
finalización normal del ciclo. No obstante, un usuario puede
Donde la variable i es el contador, también llamado
introducir una condición proporcionada desde el exterior (Fuera
índice debido algunos usos específicos en listas, tuplas, del ciclo), o bien, al resultado de un proceso ejecutado dentro del
diccionarios y arreglos que se verá después. Seguido al mismo, para que marque el final aun cuando la condición
índice se encuentra la palabra in que indica en el rango
principal de ejecución del ciclo siga cumpliéndose.
que se mueve el contador, finalmente se escribe el rango
en sí mismo. Santiago Gómez Narváez
Fundamentos de programación: Estructuras repetitivas
Por otro lado, el comando continue es similar a break; Nombre de la Descripción Tipo
sin embargo, en lugar de terminar el bucle, el programa variable
sólo salta al paso siguiente. Es decir, no romperá el ciclo, C Contador Entero
pero no ejecutara las líneas siguientes en el ciclo, VA Valor por sumar Real
después de su aparición, sino que volverá al inicio del
SU Suma de los valores Real
ciclo como si hubiera recorrido todo su cuerpo y lo
tomara como una ejecución completa. La solución de este problema mediante el ciclo Mientras, que
también es conocido como ciclo While en los diferentes lenguajes
En los siguientes ejemplos se mostrará la aplicación de
de programación. El pseudocódigo correspondiente de la solución
los tres tipos de ciclos antes mencionados.
de este problema es:
Ejemplo 1. Se requiere un algoritmo para obtener la
1. Inicio
suma de diez cantidades mediante la utilización de un
2. Hacer SU = 0
ciclo “Mientras”. Realice el diagrama de flujo, el
3. Hacer C = 1
pseudocódigo y el diagrama N/S para representarlo e
4. Mientras C < = 10
impleméntelo en Python.
Leer VA
Solución. Con base en lo que se requiere determinar se Hacer SU = SU + VA
puede establecer que las variables requeridas para la Hacer C = C + 1
solución del problema son las mostradas en la tabla: Fin mientras
5. Escribir SU
6. Fin
Santiago Gómez Narváez
Fundamentos de programación: Estructuras repetitivas
De esta solución planteada se puede ver, primeramente,
que el contador del ciclo “C” se inicializa en uno,
posteriormente se verifica que éste sea menor o igual a
diez, que es lo que debe durar el ciclo (diez veces), ya
dentro del ciclo el contador se incrementa por cada
vuelta que dé y se realice el proceso de leer un valor y
acumularlo en la suma. En general, todo ciclo debe
tener un valor inicial, un incremento y un verificador
que establezca el límite de ejecución (inicializa,
incrementa, “mientras que”). Ahora se presenta la
solución mediante el diagrama de flujo:
El diagrama N/S que representa la solución se ve así: Como se mencionó, este tipo de estructura para el control de
ciclos se utiliza exclusivamente cuando el número de veces
que se realizará el ciclo está bien definido. Además, se debe
observar que el incremento de la variable que controla el
ciclo no se indica en este tipo de estructura, ya que el
incremento o decremento de la variable se realiza de manera
automática; cuando el caso es decremento la forma de
indicarlo dependerá del lenguaje de programación que se
esté utilizando.
Santiago Gómez Narváez
Fundamentos de programación: Estructuras repetitivas
Además, observe que la sintaxis en Python es un poco Nombre de la variable Descripción Tipo
diferente a los demás lenguajes de programación ya que, password Palabra clave String
en vez de usar un contador y su respectivo incremento, en C Contador Integer
Python se usa el contador y un elemento iterable como
puede ser una lista, una tupla, un diccionario o incluso un El pseudocódigo correspondiente de la solución de este
arreglo. Por ahora todo esto se limita a usar la sentencia problema es:
range para simular un poco la sintaxis de los otros 1. Inicio
lenguajes. Más adelante en el curso se precisará mejor 2. Mientras True
todo esto con detalle. Leer password
Ejemplo 4. Elabore un algoritmo que imprima el mensaje Hacer C = C+1
“Autenticación exitosa: tiene acceso a la ejecución del Si password = Python
código”, solo si el usuario ingresa la contraseña: “Python”. Entonces
Asegúrese que si el usuario ingresa más de tres veces la Mostrar Autenticación exitosa:
clave incorrecta le muestre el mensaje “Acceso denegado” tiene acceso a la ejecución del código
y finalice el código. Haga el pseudocódigo e impleméntelo Si de lo contrario password <> Python y C >=3
en Python. Entonces
Solución. Con base a la información del problema se ve que Mostrar Acceso denegado
se necesitan las siguientes variables. Fin mientras.
3. Fin
Santiago Gómez Narváez
Fundamentos de programación: Estructuras repetitivas
El código en Python es el que se muestra.
Nombre de la variable Descripción Tipo
C Contador Entero
ED Edad de cada alumno Entero
SU Suma de las edades Entero
NU Número de alumnos Entero
PR Edad promedio Real