stringtranslate.com

Bucle interior

En los programas de computadora , una forma importante de flujo de control es el bucle que hace que un bloque de código se ejecute más de una vez. Un modismo común es tener un bucle anidado dentro de otro bucle, y el bucle contenido se denomina comúnmente bucle interno.

Fondo

Existen dos tipos principales de bucles y se pueden anidar entre sí hasta, posiblemente, cualquier profundidad según sea necesario. Los dos tipos son bucle for y bucle while. [1] Ambos son ligeramente diferentes pero pueden intercambiarse. Las investigaciones han demostrado que el rendimiento de la estructura completa de un bucle con un bucle interno es diferente en comparación con un bucle sin bucle interno. [2] De hecho, incluso el rendimiento de dos bucles con diferentes tipos de bucle interno, donde uno es un bucle for y el otro un bucle while, es diferente.

Se observó que se realizan más cálculos por unidad de tiempo cuando está involucrado un bucle for interno que de otra manera. Esto implica que, dada la misma cantidad de cálculos a realizar, el que tiene un bucle for interno terminará más rápido que el que no lo tiene. Esta es una técnica de optimización de bucle independiente de la máquina o plataforma y se observó en varios lenguajes de programación y compiladores o intérpretes probados. El caso de un bucle while como bucle interno funcionó mal, funcionando incluso más lento que un bucle sin ningún bucle interno en algunos casos. Dos ejemplos a continuación escritos en Python presentan un bucle while con un bucle for interno y un bucle while sin ningún bucle interno. Aunque ambos tienen la misma condición final para sus bucles while, el primer ejemplo terminará más rápido debido al bucle for interno. La variable insidemax es una fracción de la variable maxticketno en el primer ejemplo. [3]

while  ticket_no  *  Innermax  <  max_ticket_no :  para  j  en el  rango ( 0 ,  Innermax ):  if  ( ticket_no  *  Innermax  +  j )  ==  jackpot_no :  retorno  ticket_no  +=  1
while  ticket_no  <  max_ticket_no :  if  ticket_no  ==  jackpot_no :  devolver  ticket_no  +=  1

Referencias

  1. ^ Ghezzi, C; Jazayeri, M (1996). Conceptos del lenguaje de programación (3.ª ed.) . John Wiley e hijos.
  2. ^ Adewumi, Tosin (agosto de 2018). "Construcción de programa de bucle interno: una forma más rápida de ejecutar el programa". Abierto Informática . 8 : 115-122. doi : 10.1515/comp-2018-0004 .
  3. ^ Vishal (9 de junio de 2021). "Bucles anidados en Python". PYnativo . Consultado el 7 de septiembre de 2022 .

4. Python anidado para bucle de Techgeekbuz