viernes, 11 de noviembre de 2016

ESTRUCTURA hacer-mientras.

La primera estructura de repetición que vamos a conocer es la estructura mientras-hacer. En esta estructura, un conjunto de instrucciones se va a repetir mientras que se cumpla una determinada condición. Esta estructura sigue esta sintaxis:

mientras (condición) hacer
   sentencias
fin_mientras

En esta estructura, lo primero que sucede es que se evalúa la condición (que es una expresión booleana). Si el resultado es falso, entonces no se toma ninguna acción y el algoritmo sigue su camino hacia las sentencias que estén después del ciclo. Es decir, el ciclo es ignorado. Pero si la expresión resulta verdadera, entonces se ejecutan las sentencias que forman el cuerpo del ciclo, después de lo cual se vuelve a evaluar la condición. Este proceso se repite vez tras vez mientras la condición sea verdadera.

¿Recuerdan el ejemplo que citamos en la lección anterior? en dicho ejemplo, necesitabamos leer el valor de 10 números para calcular su suma. Usando la estructura mientras-hacer, el ejemplo quedaría de este modo:

algoritmo Suma
var
   entero: contador, numero, suma
inicio
   suma <- 0
   contador <- 1
   mientras (contador <= 10) hacer
      escribir("Escribe un número:")
      leer(numero)
      suma <- suma + numero
      contador ++
   fin_mientras
   escribir("La suma de los números dados es: " + suma)
fin

En este algoritmo, lo primero que hacemos es inicializar las variables suma y contador. Dado que suma será la variable donde vamos a almacenar el resultado de la suma de todos los números, la inicializamos en cero. Por otro lado, la variable contador será la que nos ayude a determinar cuando nuestro ciclo mientras va a detenerse. Como la condición indica que el contador debe llegar a 10, lo inicializamos en 1 para permitir la primera vuelta del ciclo. Una vez que inicializamos las variables, evaluamos la condición (contador <= 10). Como la primera vez esta condición resulta verdadera, ejecutamos el cuerpo del ciclo. Dicho cuerpo está formado por cuatro sentencias: en las primeras dos nos ocupamos de leer el número que vamos a sumar; en la tercera, nos ocupamos de acumular el valor dado en la variable suma (es decir, a suma le asignamos el valor que ya tenía la variable mas el valor del número dado); finalmente, la sentencia contador++ se encarga de incrementar en 1 el valor de la variable contador, de modo que, ahora, su valor es 2 y entonces volvemos a evaluar la condición. Este proceso se repetirá hasta que la variable contador tenga un valor de 11, en cuyo caso la condición resultará falsa y el cuerpo del ciclo ya no se ejecutará de nuevo.

No hay comentarios:

Publicar un comentario