sábado, 6 de abril de 2013

Error común en los Ciclos


Error Común en los Ciclos



Como ya se ha visto un bucle se usa para realizar un proceso n veces.

Lo que se pone entre llaves {} se le conoce como lazo o loop y este se ejecutara las veces que el usuario lo requiera.



Existe un fallo o un error muy común entre los programadores principiantes y hasta en veces en los mas experimentados que es el ciclo infinito (booleanExprecion) este error lo que hace es que nunca saldrá del ciclo hasta en ocasiones obtener toda la memoria para hacer cálculos infinitos los cuales no se podrán parar a menos de cerrar el programa. 

Veamos el error así:

x =0;
do{
JOptionPane.showMessageDialog(null,"Ciclo infinito");
}while(x = = 0 );

Como se ve el ciclo nunca terminara, ya que a x no se le da un valor diferente entonces como se dijo no cambiara nunca.


Otro Ejemplo


x =0;
do{
JOptionPane.showMessageDialog(null,"Ciclo infinito");
if(x>0){
x++;
}
}while(x = = 0 );



En este ejemplo la variable condicional cambiara si x>0 es decir al ser x=0 todo el siempre nunca saldrá del ciclo el cual como se dijo antes trabara el equipo.

Pero la pregunta es como solucionarlo... Fácil ! solo que dentro del ciclo se modifique la variable condicional veamos con el ejemplo anterior.


x =0;
do{
JOptionPane.showMessageDialog(null,"Ciclo infinito");
x++
}while(x = = 0 );

Como vemos x cambiara su valor a la primera vuelta y con esto x sera igual a 1 y saldrá del ciclo




No hay comentarios:

Publicar un comentario