23. Algoritmos || Estructuras repetitivas


Formas de terminar un ciclo


Cuando nosotros hacemos uso de un bucle siempre debemos tener en cuenta cómo terminar con él, ya que si esto no se hace, se crearía un ciclo infinito y eso es fatal para un programador, por eso se han estudiado maneras que nos permitan evitar estos errores, dejando así cuatro métodos que son muy utilizados para esta tarea. Estos métodos son:





  • Lista encabezada por el tamaño.
  • Preguntar antes de la iteración
  • Terminación con valor centinela
  • Agotamiento de la entrada

Lista encabezada por el tamaño


Esto ocurre cuando nuestro programa puede determinar la cantidad de veces que debe iterar un bucle, esto lo pueda saber bien sea preguntando o por algún otro método. Ejemplo.

Escribir "¿Cuántos datos desea registrar?";
Leer n;

Para i <- 1 hasta n con paso 1 hacer
// Sentencias...
FinPara

n tomaría el valor exacto de la cantidad se veces que se va a iterar el bucle.

Peguntar antes de la iteración


Este método implica preguntar al usuario luego de cada iteración si el bucle debe seguir o no iterando. Ejemplo:

Escribir "¿Desea sumar dos números?";
Escribir "teclee S para sí y N para no";
Leer respuesta;

Mientras (respuesta = 's' O respuesta = 'S') Hacer
// Sentencias...
Escribir "¿Desea volver a sumar dos números?";
Escribir "teclee S para sí y N para no";
Leer respuesta;
FinMientras

Nota que siempre se le estará preguntando al usuario si desea seguir con la iteración, en el momento que la variable respuesta tome un valor diferente de 's' o 'S' ahí es cuando acabará el bucle.

Terminación con valor centinela


Un valor centinela es aquél que es totalmente distinto a cualquier valor aceptado por una lista, es decir, un valor no permitido. Por ejemplo:

Escribir "Ingrese un entero positivo para realizar la suma";
Escribir "Finalice la suma con un número negativo";
Leer num;

Mientras (num >= 0) Hacer
suma <- suma + num;
Leer num;
FinMientras

Lo que ocurre es que este bucle no acepta números negativos, por lo tanto, cuando el usuario ingrese uno, acabará con la iteración.

Agotamiento de la entrada


Debo disculparme pero puesto que esto es algo que se verá en entradas más avanzadas, para no confundir, por ahora no diré nada de este método.



No hay comentarios