x
1

Bucle infinito



Bucle infinito en programación es un error que consiste en realizar un ciclo que se repite de forma indefinida ya que su condición para finalizar nunca se cumple.[1]

Por definición un bucle debe contener condiciones que establezcan cuándo empieza y cuándo acaba, de manera que, mientras las condiciones se cumplan, ejecute una secuencia de código de manera repetitiva. En el caso de ciclo infinito, como la condición de finalización no se alcanza, el bucle sigue ejecutando el segmento de código indefinidamente.


La programación en automatización y robótica puede basarse en un bucle infinito, como por ejemplo la función void loop() en Arduino, en este caso el bucle infinito deja de ser un error para pasar a ser una virtud, ya que puede reconocerse el estado de un sensor generando una respuesta miles de veces por segundo.

Se observa que la sentencia printf("x¡No acabaré nunca! "); siempre se ejecuta porque la condición del bucle while() siempre es cierta, no existe una condición de salida que obligue al bucle a finalizar. Exactamente, no se alcanza la condición de salida. Si en el ejemplo anterior, dentro del bloque de código del bucle while, se encontrase la instrucción

El bucle hubiera ejecutado 10 veces y hubiera terminado.

También existe esta posibilidad con el while (true). En C:

En la sentencia "printf" se muestra en pantalla 0,1,2,3,0,1,2,3,0,.... Y también podemos crear un ciclo infinito con el for de esta forma:

Como siempre la variable i va a ser igual a ella misma, se incrementa e itera infinitas veces.

En el siguiente caso, por cada vez que se incrementa la variable, como es menor a 5 se decrementa dentro del cuerpo del bucle. Luego se vuelve a incrementar y de esa manera infinitas veces.

Siempre que la suma de a y b sea superior o igual a 10.

La variable "Suma" se sumará infinitamente 1 unidad.

Una forma de hacer un bucle infinito en Pascal es con un ciclo repeat como se muestra a continuación:

Ya que 2 nunca es igual a 3, el código se repite hasta el infinito.

En Pascal se puede realizar un bucle infinito sin necesidad de establecer una condición equivoca.

También se puede crear un bucle infinito genuino.

En este ejemplo olvide incrementar el valor de i.

En este ejemplo se muestra como utilizamos el bucle "contar" para hacer que la variable i alcance el valor 1, pero por X motivo olvidamos establecer la instrucción "dec" para que el bucle decremente valores.

En este código, la variable $variable nunca cambia, siempre vale cero Por lo tanto, se entra en bucle infinito al ser $variable siempre <500.

Aquí la variable "Num" tiene el valor de 2, entonces dentro del while la condición es: Si "Num" no es igual a 3 imprime (print) "Más allá del universo"; como el valor de "Num" es constante (igual a 2), entonces dentro de while la condición será verdadera, y el bucle nunca terminará.



Escribe un comentario o lo que quieras sobre Bucle infinito (directo, no tienes que registrarte)


Comentarios
(de más nuevos a más antiguos)


Aún no hay comentarios, ¡deja el primero!