Curso de programación

Bucles sin fin

Capítulo 28: Los bucles infinitos en programación

Los bucles infinitos en programación suelen ser provocados por error, al hacer algún tipo de fallo lógico, como poner mal la expresión de salida o por incrementar o decrementar mal el iterador.

¿Qué es un bucle infinito?

Un bucle infinito, es aquel que no tiene fin. Que se sigue ejecutando de forma ilimitada hasta que cerramos el programa o la consola.

"Bucle infinito" en inglés se dice "infinite loop".

A veces, esto será a propósito y otras por error. Hacerlo por error, puede tener consecuencias:

  • Los programas pueden consumir grandes cantidades de recursos, como memoria y CPU, lo que provoca ralentizaciones y bloqueos del sistema.
  • Si alguien malintencionado se percata de este fallo en el programa puede que lo aproveche para algún mal propósito.
  • El programa se congelará o irá muy lento.
  • El programa puede generar datos no válidos.

¿Cómo se producen los bucles infinitos?

Los bucles infinitos son fáciles de producir. Mira un ejemplo:

Algoritmo bucle_repetir
	
	// Se declara y solicita el valor del iterador
	Definir i Como Entero
	Escribir "Introduzca un número del 0 al 5."
	Leer i
	
	// Bucle Repetir
	Repetir
		Escribir "El valor del bucle es: ", i
		//i <- i + 1 A este bucle le falta el paso (incremento o decremento)
	Hasta Que i > 5

FinAlgoritmo

He anulado la parte que incrementa el iterador. Es como si me lo hubiera olvidado de poner. En ese caso, el bucle nunca finaliza. Si le pongo un 4 en la consola, esto es lo que sale:

Bucle infinito

El bucle se ejecuta muchas veces, haciendo que el consumo de CPU suba por encima de lo normal. Si esto manejase muchos datos, también se consumiría mucha memoria RAM.

Bucles infinitos a propósito

Habrá muchas ocasiones en las que tendrás que crear bucles infinitos a propósito. Por ejemplo, para mantener abierta la ventana de un programa con interfaz gráfica. Lo importante, es que esta ejecución esté controlada y haya alguna forma de salir del bucle cuando el usuario quiera. Por ejemplo, un botón para salir.

Una interfaz gráfica es la forma en que se llaman los programas que tienen botones, menús y diferentes elementos interactivos. Por ejemplo, PSeInt es un programa que tiene interfaz gráfica. En cambio, nuestros programas hasta el momento, son solo de consola, no tienen elementos gráficos, son solo texto. A los programas de interfaz gráfica se les denomina también como GUI.
GUI son las siglas de Graphical User Interface, que en español significa "Interfaz Gráfica de Usuario".

Anterior Siguiente

Comentarios

Si te quedan dudas sobre el temario, sobre Programación, PseInt, Python o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.