Diferencia entre Sentinel y bucle controlado por contador en C

Bucle controlado por centinela

Un ciclo controlado por centinela también se denomina ciclo de repetición indefinida porque no se conoce el número de iteraciones antes de que el ciclo comience a ejecutarse. En un bucle controlado por centinela, se utiliza un valor especial llamado valor centinela para cambiar la expresión de control del bucle de verdadero a falso para determinar si se ejecuta el cuerpo del bucle. El ciclo controlado por Sentinel es útil cuando no sabemos de antemano cuántas veces se ejecutará el ciclo. Un ejemplo de bucle controlado por centinela es el procesamiento de datos de un archivo de texto de tamaño desconocido. A continuación se muestra el programa para ilustrar el bucle controlado por centinela en C

C

// The following program does the work
// of finding a length of a string using
// sentinel controlled loop
#include <stdio.h>
 
// Function to find the
// length of the string
void lengthOfString(char* string)
{
    int count = 0, i = 0;
    char temp;
 
    // Pointer to string
    temp = string[0];
 
    // Iterate till temp points to NULL
    while (temp != '\0') {
        count++;
        i++;
        temp = string[i];
    }
 
    // Print the length of the string
    printf("The length of string is %d",
           count);
}
 
// Driver Code
int main()
{
    // Given String
    char string[] = "GeeksForGeeks";
 
    // Function Call
    lengthOfString(string);
    return 0;
}
Producción:

The length of string is 13

Bucle controlado por contador

Un ciclo controlado por contador también se conoce como ciclo de repetición definida, ya que se conoce el número de iteraciones antes de que el ciclo comience a ejecutarse. El bucle controlado por contador tiene los siguientes componentes:

  1. una variable de control.
  2. el valor de incremento (o decremento) por el cual se modifica la variable de control en cada iteración del bucle.
  3. la condición de terminación del bucle que comprueba si el bucle debe continuar.

Dado que el bucle controlado por contador está controlado por un valor de contador, en cada iteración el valor del contador aumentará o disminuirá con un valor definido y se verificará la condición, por lo que el número de ejecución del bucle se vuelve definitivo. Cualquier tarea que involucre una iteración definida se puede resolver utilizando un bucle controlado por contador, por ejemplo, imprimiendo los primeros 10 números naturales. 

C

// Program to print first K
// natural numbers
#include <stdio.h>
 
// Function to print the Natural Number
void printNaturalNumbers(int K)
{
    int i = 1;
    while (i <= K) {
 
        // Print the number i
        printf("%d ", i);
        i++;
    }
    return;
}
 
// Driver Code
int main()
{
    // Given Number N
    int N = 5;
 
    // Function Call
    printNaturalNumbers(N);
    return 0;
}
Producción:

1 2 3 4 5

La principal diferencia entre Sentinel y el bucle controlado por contador en C es que en un bucle controlado por Sentinel, no se sabe exactamente cuántas veces se ejecutará el cuerpo del bucle y en un bucle controlado por contador, se sabe cuántas veces se ejecutará el cuerpo del bucle.

La diferencia entre Sentinel y el bucle controlado por contador en C se indica a continuación:

S. NO. BASE DE COMPARACIÓN BUCLE CONTROLADO POR SENTINEL BUCLE CONTRACONTROLADO
1. Definición Un ciclo controlado por centinela es el ciclo de repetición indefinida, ya que no se conoce el número de repeticiones antes de que el ciclo comience a ejecutarse. Un ciclo controlado por contador es el ciclo de repetición definitivo, ya que se conoce el número de repeticiones antes de que el ciclo comience a ejecutarse.
2. variable de control La variable controlada utilizada se conoce como variable centinela. La variable controlada utilizada se conoce como contador.
3. Número de iteración Número desconocido de iteraciones Número conocido de iteraciones.
4. valor de la variable El valor de la variable no es estricto y varía. El valor de la variable es estricto.
5. Limitación de variable La Limitación de la variable es estricta. La Limitación de la variable también es estricta.
6. Ejemplo Un bucle do….while es un ejemplo de bucle controlado por centinela. Un bucle while es un ejemplo de bucle controlado por contador.

Publicación traducida automáticamente

Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *