020 Sentencia Break Y Continue en Php Falconmasters

 

    4.6) Sentencias que rompen ciclos.


      La sentencia break :

      Se utiliza para salir de un bucle ( while , do-while o for ), cuando se da alguna condición especial. Cuando se ejecuta esta sentencia, el control del programa pasa inmediatamente a la instrucción siguiente al bucle. La escribimos simplemente poniendo:


       Esta sentencia ya fue vista con el switch , en el cual era empleada para saltarse el resto de las posibilidades, cuando ya habíamos entrado en una.

      La sentencia continue :

       Fuerza a que comience una nueva vuelta dentro de la estructura correspondiente. Dentro de los ciclos
      while , y do-while , se evalúa la condición de salida; en el for , se efectúa un salto a la expresión de incremento.
       Se utiliza para saltarse el resto de la pasada actual a través de un bucle. El bucle no termina cuando se encuentra una sentencia continue , sencillamente no se ejecutan las sentencias que se encuentren a continuación en él, y se salta directamente a la siguiente pasada a través del bucle.
       Para usarse basta poner:

      La sentencia exit() :

          Esta función devuelve el control al sistema operativo o a cualquier otro proceso anterior. La función permite devolver un valor indicando si es una terminación errónea o correcta. Esta función, incluida en <stdlib.h> tiene la siguiente sintaxis:

          Lo que realiza dicho de otra forma es, cerrar todos los archivos y buffers y termina el programa. El valor de status lo recibe el proceso que realizó la llamada al programa, y me indica el estado de terminación.

          La sentencia goto se utiliza para alterar la secuencia de ejecución normal del programa, transfiriéndose el control a otra parte de él. En su forma general, la sentencia goto se escribe

    en donde etiqueta es un identificador que se utiliza para señalar la sentencia a la que se transferirá el control. Se puede transferir el control a cualquier otra sentencia del programa. La sentencia por la que vamos a continuar ha de encontrarse etiquetada , y dicha etiqueta ha de encontrarse seguida por dos puntos ( : ). Por tanto aparecerá:



          Ejemplo.

           Hemos de decir ante todo que aunque todos los lenguajes de propósito general populares poseen la sentencia goto , NO ES ACONSEJABLE SU USO , ya que los elementos estructurados de C permiten realizar todas estas operaciones sin tener que recurrir a la sentencia goto , sus usos más habituales van en tres direcciones fundamentalmente:


           
           Hemos de decir, sin embargo, que hay situaciones esporádicas en las que se hace útil, no obstante no conviene cojerlo como norma.

          Ejemplos de sentencia break:


           El ejemplo que se muestra a continuación está realizado para los tres tipos de bucles, éste continuará mientras el valor actual de la variable de coma flotante x no sea mayor que 100. Sin embargo, se saldrá del bucle si se detecta un valor de x negativo.

            Ejemplo 1: (con un bucle while).

            ............
            ............
            scanf("%f", &x);

              while (x<=100) {
                if (x<0) {
                  printf("ERROR - VALOR NEGATIVO DE X");
                  break;
                }
                /* procesar el valor no negativo de x, en este punto sabemos que dicha variable no es negativa, ya que si lo fuera, hubiésemos entrado en el if y hubiésemos salido del bucle con el break*/
              .........
              .........
              scanf("%f", &x);
              }
             

            Ejemplo 2: (con un bucle do-while).

            ............
            ............

              do {
                scanf("%f", &x);
                if (x<0) {
                  printf("ERROR - VALOR NEGATIVO DE X");
                  break;
                }
                /* procesar el valor no negativo de x */
              .........
              .........
              } while (x<=100);
             

            Ejemplo 3: (con un bucle for semejante).

            ............
            ............

              for(cont=1; x<=100; ++cont) {
                scanf("%f", &x);
                if (x<0) {
                  printf("ERROR - VALOR NEGATIVO DE X");
                  break;
                }
                /* procesar el valor no negativo de x */
              .........
              .........
              }
          Ejemplo de sentencia continue:

            Ejemplo 1:(con un bucle for).

            #include <stdio.h>

            main() {

              char ch;
              for (ch=getch(), ch!=0; ch=getch()) {
                if (ch=='a' || ch=='a' || ch=='a' || ch=='a' || ch=='a' )
                  continue;
                putchar(ch);  /* devuelve el carácter escrito, si no hay errores */
              }

            NOTA: getch() asigna a ch el valor que le introduzcamos por la consola, pero no lo visualiza.

        Si entro en el if ejecutaré continue , la cual me llevará a la expresión de incremento del for , para seguidamente comprobar de nuevo la condición.


              Ejemplo 2: (con un bucle do-while)

              ............
              ............

                do {
                  scanf("%f", &x);
                  if (x<0) {
                    printf("ERROR - VALOR NEGATIVO DE X");
                    continue;
                  }
                  /* procesar el valor no negativo de x */
                .........
                .........
                } while (x<=100);

          En este ejemplo tras entrar en el if y ejecutar continue , pasaré a evaluar la condición de salida:  (x<=100), en este caso (de entrar en el if ) no se ejecutará la parte en la que se procesa el valor actual de x si éste es negativo.

               

              NOTA: Darse cuenta de las diferencias que hay con el break .



            Ejemplo de sentencia goto:

               Ejemplo 1: Este ejemplo trata de transferir el control fuera de un bucle si se da una condición inesperada:

              /*bucle principal*/
              scanf("%f",&x);
              while(x<=100) {
                .........
                .........
                if(x<0) goto error;
                ........
                ........
                scanf("%f",&x);
              }
              ............
              ............
              /*rutina de deteción de error*/
              error: {
                printf("ERROR - VALOR NEGATIVO DE X");
                ............
                ............
                }

          Como vemos transferimos el control fuera del bucle while , a la sentencia compuesta con la etiqueta error , si se detecta un valor negativo de la variable x . Como vemos esto mismo lo podíamos haber hecho usando la sentencia break .


            williamswrinke1952.blogspot.com

            Source: https://ccia.ugr.es/~jfv/ed1/c/cdrom/cap4/cap46.htm

            0 Response to "020 Sentencia Break Y Continue en Php Falconmasters"

            Post a Comment

            Iklan Atas Artikel

            Iklan Tengah Artikel 1

            Iklan Tengah Artikel 2

            Iklan Bawah Artikel