jueves, 7 de mayo de 2015

Lógica de Programación (18) - Estructura repetir - hasta_que



Existen muchas situaciones en las que se desea que un ciclo se ejecute al menos una vez antes de comprobar la condición de repetición. En la estructura mientras, si el valor de la expresión booleana es inicialmente falso, el cuerpo del ciclo no se ejecutará; por otro lado, en la estructura hacer-mientras, el cuerpo del ciclo se ejecutará mientras que la expresión booleana sea verdadera. Pero, ¿qué sucede si necesitamos que el ciclo se repita mientras que la expresión booleana sea falsa? Ahi es donde entra en juego la estructura repetir - hasta_que.

Esta es la sintaxis de la estructura repetir - hasta_que:

repetir
   sentencias
hasta_que <condición>

Como ya hemos dicho, el cuerpo del ciclo repetir - hasta_que se repetirá mientras que la condición sea falsa y se detendrá hasta que sea verdadera. Justo lo opuesto a la estructura hacer-mientras.

Para comprender mejor el funcionamiento, vamos a repetir el primer ejemplo de la lección anterior, en el cual leemos las calificaciones de un grupo de alumnos (no sabemos cuántos) y luego calculamos su promedio; sólo que esta vez lo vamos a resolver usando la estructura repetir - hasta_que

algoritmo Promedio
var
   entero: cal, suma, cont
   real: promedio
   caracter: respuesta
inicio
   suma <- 0
   cont <- 0
   repetir
      escribir("Escribe la calificación:")
      leer(cal)
      suma <- suma + cal
      cont++;
      escribir("¿Deseas capturar otra calificación?" S/N")
      leer (resp)   
   hasta que (resp = 'N') o (resp = 'n')
   promedio <- suma/cont
   escribir("El promedio de las calificaciones capturadas es: " + promedio)
fin

Como puedes ver, al cambiar de estructura lo único que estamos cambiando es la forma como evaluaremos la condición que decidirá si se repite el ciclo o no. En la lección anterior usamos la estructura hacer - mientras y, por lo tanto, la condición que determinaba si el ciclo se repetía o no era:

   mientras (resp = 'S') o (resp = 's')

Esto quiere decir que repetíamos el ciclo mientras que fuera verdadero que la respuesta del usuario era 'S'. Usando la estructura repetir - hasta_que, esa condición cambia a

   mientras (resp = 'N') o (resp = 'n')

dado que ahora dejaremos que el ciclo se repita hasta que el usuario introduzca una 'N', es decir, lo repetiremos mientras que sea falso que la respuesta del usuario es 'S'.

Mira este otro ejemplo:

algoritmo Serie
var
   entero: contador
inicio
   contador <- 1
   repetir
      escribir (contador)
      contador++
   hasta_que contador > 30
fin

En este caso, estamos simplemente escribiendo en pantalla los números del 1 al 30. Iniciamos la variable contador en 1 y la mostramos en pantalla hasta que su valor sea mayor que 30 o, en otras palabras, mientras que sea falso que es mayor que 30.

Para resumir, podemos citar estas dos diferencias clave entre las estructuras mientras y repetir:
  • La estructura mientras termina cuando la condición es falsa, mientras que repetir - hasta_que termina cuando la condición es verdadera.
  • En la estructura repetir - hasta_que, el cuerpo del ciclo se ejecuta siempre al menos una vez; por el contrario, la estructura mientras es más general y permite la posibilidad de que el ciclo no se ejecute ni una vez. Para usar la estructura repetir-hasta_que, se debe estar 100% seguro de que el cuerpo del ciclo, bajo cualquier circunstancia, se repetirá al menos una vez.


En la próxima lección vamos a conocer una estructura de repetición más: la estructura desde. Por lo pronto, es hora de practicar. ¡Hasta la próxima!

ACTIVIDADES DE APRENDIZAJE

  • Repite los cuatro ejercicios de la lección anterior, pero ahora usa la estructura repetir - hasta_que.






0 comentarios:

Publicar un comentario

Copyright © IsraelCapetillo.com - Un blog de tecnología, noticias geek y más Compartido por Gooyaabi Templates | Powered By Blogger

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com