Autor Tema: Dudilla con la instruccion Break  (Leído 1474 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3206
Dudilla con la instruccion Break
« en: 13 de Abril de 2009, 11:41:54 »
Tengo una duda con la instrucción Break. Si pongo esto, al ejecutarse la instruccion Break se sale del do-while?

Código: [Seleccionar]
do{
-----
-----
if(condicion1)
      Break;
}while(condicion2);

Un saludo.
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Dudilla con la instruccion Break
« Respuesta #1 en: 13 de Abril de 2009, 11:48:15 »
Sí, el break termina cualquier ciclo o loop en el que se encuentre anidado. Si el while está anidado en otro while, solo termina el while interior y se sigue ejecutando el while exterior.

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Dudilla con la instruccion Break
« Respuesta #2 en: 14 de Abril de 2009, 20:44:50 »
Tb sirve para el ciclo for y el switch.

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Dudilla con la instruccion Break
« Respuesta #3 en: 16 de Abril de 2009, 14:14:58 »
tambien hay una llamada continue, aca un poco de teoria:

BIFURCACIONES DE CONTROL BREAK
Esta instrucción nos permite salir de cualquier bucle ya sea WHILE , DO WHILE, FOR. Cuando el programa encuentra a esat instrucción simplemente salta a la siguiente instruccion fuera del bucle donde se hallaba contenido.

Ejm:
   for(a=0;a<=200;a++)
   {
      Delay1KTCYx(200);
      if (PORTA==0X05)
         break;
      LATB=~LATB;
   }

En esta situación, tenemos un bucle FOR que contara hasta 200 con la variable " a " para satisfacer la expresión del bucle, sin embargo existe un break el cual depende de la estructura condicional IF que inidica si PORTA is igual a 5 entonces ejecuta break, de lo contrario finaliza el IF y continua con el bucle. Cuando PORTA sea igual a 5 el programa se topara con el BREAK y como consecuencia terminara con el bucle FOR y continuará con la siguiente instrucción fuera del bucle.


BIFURCACIONES DE CONTROL CONTINUE
Digamos que dentro de nuestro bucle existe una instrucción al final del bloque de codigo que queremos saltarla o no ejecutarla dependiendo de alguna condición extra, la instruccion CONTINUE permite saltar todas las instrucciones posteriores a su aparición dentro del bloque de codigo escrito en el bucle.

Ejm:
   for(b=0;b<=200;b++)
   {
      Delay1KTCYx(200);
      if (PORTA==0X0A)
         continue;
      LATC=~LATC;
   }

En este caso, el bucle FOR contara hasta 200 con la variable " b " y ejecutará la ultima instruccion LATC=~LATC dependiendo del estado del PORTA, siempre y cuando sea igual a 0X0A, de esta manera se utiliza el CONTINUE.


lo saque de aqui:
tutorial de c18
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com