En los programas informáticos , una forma importante de control de flujo es el bucle , que hace que un bloque de código se ejecute más de una vez. Una práctica común es anidar un bucle dentro de otro, y al bucle contenido se le suele llamar bucle interno.
Optimización del programa
Dado que todo el bucle interno se ejecuta en cada iteración del bucle externo, las optimizaciones del bucle interno tendrán un efecto mucho mayor que las optimizaciones del bucle externo.
En muchos lenguajes hay al menos dos tipos de bucles: bucles for y bucles while , y pueden anidarse entre sí. [ 1 ] Tosin P. Adewumi ha demostrado que el rendimiento de un bucle while con un bucle for interno es mejor que el de un bucle while sin el bucle for interno. [ 2 ]
Se observó que se realizan más cálculos por unidad de tiempo cuando se utiliza un bucle `for` interno que cuando no. Esto implica que, para el mismo número de cálculos, el bucle con un bucle `for` interno finalizará más rápido que el bucle sin él. Esta técnica de optimización de bucles se observó en varios lenguajes de programación y compiladores o intérpretes. En algunos casos, un bucle `while` con un bucle `while` interno se ejecutó más lentamente que un bucle `while` sin bucle interno.
Los dos ejemplos que se muestran a continuación, escritos en Python, presentan un bucle while con un bucle for interno y un bucle while sin bucle interno. Aunque ambos tienen la misma condición de terminación para sus bucles while, el primer ejemplo finalizará más rápido debido al bucle for interno. La variable innermax es una fracción de la variable maxticketno en el primer ejemplo. [ 3 ]
mientras ticket_no * innermax < max_ticket_no : para j en range ( 0 , innermax ): si ( ticket_no * innermax + j ) == jackpot_no : devolver ticket_no += 1mientras ticket_no < max_ticket_no : si ticket_no == jackpot_no : devolver ticket_no += 1Referencias
- ↑ Ghezzi, C; Jazayeri, M (1996). Conceptos de lenguajes de programación (3.ª ed.) . John Wiley & Sons.
- ↑ Adewumi, Tosin (agosto de 2018). "Construcción de programa de bucle interno: una forma más rápida de ejecución de programas" . Open Computer Science . 8 : 115–122 . doi : 10.1515/comp-2018-0004 .
- ↑ Vishal (09-06-2021). "Bucles anidados en Python" . PYnative . Consultado el 07-09-2022 .
4. Bucle for anidado en Python (de Techgeekbuz)
- Flujo de control
- Optimización de software
- Esbozos de programación informática