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:
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.