CICLOS

Como ya se mencionó cuando se estudiaron las estructuras de control en los algoritmos, los ciclos sirven para repetir la ejecución de una sentencia o bloque de sentencias. Aquí veremos la implementación de dichas estructuras de control en C.

CICLO MIENTRAS (WHILE)

Su sintáxis es:

          while (Condición)

                   {

                        (Bloque de Sentencias) ;

                   }

El ciclo se ejecutará mientras la condición sea verdadera. Si en lugar de un bloque de sentencias se tiene una sola sentencia, podrá omitirse { }. Se recomienda su uso cuando bajo cierta condición específica se requiere la ejecución cíclica de un grupo de instrucciones, en caso contrario no se realiza ninguna operación, lo que ahorra tiempo de procesamiento haciendo más rápida la ejecución del programa.

EJEMPLO:

    ...

         printf ( "ESTA PARTE SÓLO LEE NÚMEROS POSITIVOS? ");

         printf ("SI DESEA SALIR TECLEE UN NÚMERO NEGATIVO");

         scanf ("%d", &num);

             while (num >=0)

                      {

                           scanf ("%d", &num);

                           printf ("EL NÚMERO PROPORCIONADO ES %d ", num);

                      }

    ...

CICLO HACER-MIENTRAS (DO-WHILE)

Su sintáxis es:

   do

       {

           (Bloque de Sentencias);

       }

    while (CONDICIÓN);

La operación se ejecuta y después se evalúa la condición. Si es verdadera, las operaciones se evalúan de nuevo y así sucesivamente, cuando la condición se hace falsa el ciclo termina. Se recomienda su uso cuando se requiere que el bloque de instrucciones se ejecute al menos una vez, como podría ser un menú. Si se está repitiendo la sentencia, no son necesarias las llaves { }. La mayoría de los programadores las incluyen para reconocer fácilmente que el While que termina al Do es parte de ese ciclo y no del principio de un ciclo While.

EJEMPLO:

   ...

          do

              {

                  funci´n1 (a, b, c) ;

                  función2 (a, b) ;

                  printf ("otro cálculo (S/N) ? \ n ") ;

                  opción = getchar () ;

              }

           while (opcion =='S') ;   /* Cuando no se requiera repetir el ciclo se contestará con N y                                                           saldremos del mismo */

   ...

CICLO DESDE (FOR)

Su sintáxis es:

        For (Valor Inicial ; Valor Final ; Incremento de la Variable)

              {

                   (Bloque de Sentencias);

              }

Este ciclo se ejecutará un cierto número de veces especificando desde un valor inicial hasta el valor final con un incremento (o decremento) unitario entre ambos. Al igual que el Ciclo Mientras, si en lugar de un bloque de sentencias se tiene una sola sentencia, podrá omitirse{}. Se recomienda su uso cuando se necesita ejecutar un número predeterminado de veces un bloque de instrucciones.

EJEMPLO:

   ...

         printf ("DAME EL NÚMERO DE DATOS /n");

         scanf ( "%d", &n );

               for ( i=1; i<n; i++ )

                     {

                           printf ("DAME EL DATO X (%d) /n ", I ) ;

                           scanf ("%d", &x[i]) ;

                     }

   ...

NOTAS:

  1. Para los ciclos WHILE y DO-WHILE, deberá tenerse especial cuidado para que la CONDICIÓN DE SALIDA del ciclo SE CUMPLA.
  2. Para el ciclo FOR deberá tenerse cuidado de NUNCA MODIFICAR dentro del ciclo el valor de la VARIABLE ÍNDICE (salvo en casos muy especiales).