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.
Publica un comentario