Ciclo infinito
Cuando
 en un ciclo la condición siempre es verdadera se dice que es un ciclo 
infinito, pues nunca saldrá del ciclo y el programa no 
termina. Para evitarlos hay que estar seguros que en el bloque de estatutos haya un estatuto que modifique el valor de la 
condición de tal modo que llegue a ser falsa.
Ejemplos de ciclos infinitosEjemplo I
   En
 este ejemplo supongamos que en el applet de las inversiones, nos 
equivocamos en la condición del while y en lugar de tener (saldo < 
invfinal), tuviéramos (invinicial < invfinal), en este caso, la 
condición siempre hubiera sido verdadera, pues a quien le estamos 
acumulando es a la variable saldo, no a invinicial. Este es un error de 
ejecución difícil de encontrar.
Ejemplo II
En
 este ejemplo supongamos que en el applet de los dígitos, donde usamos 
el do while, en la condición del while no tenemos (x > 0) sino que 
utilizamos por error la variable cant, teniendo while (cant > 0) en 
lugar de while (x > 0), obviamente esto siempre seria verdad, ya que 
cant siempre se está incrementando. A su vez este error es difícil de 
ver.
El
 applet seguirá ejecutándose (por siempre) y no nos daremos cuenta, es 
importante observar que el botón sigue seleccionado, lo cual indica que 
el applet esta procesando las instrucciónes puestas en el 
actionPerformed, como se observa en la siguiente figura:
Nunca pondrá nada en el segundo campo de texto y habrá que cancelarlo.
 
 
No hay comentarios:
Publicar un comentario