Tecnología

Inicio

¿Por qué ocurre un bucle infinito?

¿Por qué ocurre un bucle infinito?


bucles infinitos causan secciones de código de programación para ejecutar sin fin. A veces se produce un bucle infinito por accidente, por lo general debido a que el programador ha incluido un error de sintaxis en el código del programa. Sin embargo, a veces los programadores utilizar bucles infinitos intencionadamente con el fin de definir una transformación que continuará ejecutando mientras el programa se está ejecutando. Cuando se producen por accidente, bucles infinitos pueden causar que el programa falle.

Loop sintaxis

Los lenguajes de programación utilizan una variedad de estructuras de bucle. El siguiente código de ejemplo muestra un bucle JavaScript para:
var i;
for (i = 0; i <5; i ++) {
document.write (i);
}

. Este código escribe los números cero a cinco en la página Web de la secuencia de comandos aparece en el otro tipo de lazo común es el bucle while, como en el siguiente ejemplo de JavaScript:
var i;
mientras que (i <5) {
document.write (i);
i ++;
}

Este código tiene el mismo efecto que el bucle for, logrado a través de sintaxis alternativa. Los programadores pueden elegir cualquier tipo de bucle se adaptan a las necesidades de sus programas. Algunas tareas son particularmente adecuados para tipos específicos de bucle, pero a menudo más de un tipo pueden lograr el mismo procesamiento.

Proceso

Cuando un bucle itera de programación, un número de procesos se ejecutan. El código siguiente muestra una aplicación Java típico de bucle:
for (int j = 0; j <15; j ++) {
System.out.println (j);
}

Cuando el código entra por primera vez este bucle, el contador variable entera "j" se crea una instancia con un valor de cero. Después de esto, cada vez que el bucle se ejecuta, la prueba condicional "j <15" determina si el contenido del bucle se ejecuta. Si la prueba devuelve un valor verdadero, el contenido se ejecuta, entonces el tercer elemento en el esquema de bucle también ejecuta, incrementando la variable de contador, lo que añade un valor de uno a ella. Si la prueba condicional devuelve un valor falso, el bucle no se ejecuta, por lo que el procesamiento salta al punto inmediatamente después de que termine el bucle. El bucle se ejecuta un número finito de veces porque los incrementos variable de contador con cada iteración. La no aplicación de esta parte del proceso correctamente puede causar bucles infinitos accidentales.

contadores

Ciertas estructuras de bucle son particularmente propensos a exponer a los programas de bucles infinitos accidentales. El siguiente ejemplo de código PHP demuestra una válida bucle while:
$ Count = 0;
while ($ recuento <20) {
echo $ contar;
$ Contar ++;
}

Este bucle se ejecutará sólo 20 veces. Si el programador se olvida de incluir la declaración final dentro del bucle, incrementando la variable de contador, el bucle se ejecutará sin fin. Este es un error fácil de hacer, pero puede evitar que todo un script PHP funcione correctamente.

bucles

A veces los programadores crean bucles infinitos deliberadamente. El siguiente código Java demuestra un bucle while:
while (true) {
System.out.println ( "bucle");
}

Los programadores pueden agregar código para romper manualmente fuera de la estructura de bucle de la siguiente manera:
descanso;

Esta técnica aparece a veces en los casos en que el programador no conoce de antemano cuántas veces se necesita el bucle para ejecutarse. La construcción de bucles que funcionan correctamente y terminan cuando se debe puede ser difícil con programas complejos.