viernes, 25 de enero de 2013

Sentencia Mientras (While)

Esta instrucción nos servirá para que las sentencias, eventos, operaciones o mensajes que se declaren dentro de esta misma instrucción se mantengan en ejecución, siempre y cuando la condición que se defina en la sentencia, nos devuelva un dato de tipo booleano verdadero, osea mientras la sentencia que va entre paréntesis después de la palabra Mientras, sea verdadera. 

Ejemplo 1.0


  1. //Algoritmo para sumar un numero entero a una variable 
  2. Inicio Algoritmo
  3. num = 0
  4. Mientras (num < 5)
  5.         num = num + 1
  6. Fin Mientras
  7. Fin Algoritmo

El ejemplo 1.0 nos muestra que nuestra condición en este caso es num < 5, osea que mientras esa variable tenga en memoria un valor MENOR que 5, lo que esta dentro de la instrucción se ejecutara una y otra vez hasta que la variable llegue a ser menor que 5.
Desglosando linea por linea del código comenzamos:

En la linea 3: a la variables num se le asigna para empezar un valor de 0

En la linea 4: se escribe la instrucción mientras, cuya condición es que siempre y cuando la variable sea cualquier numero menor que 5, se ejecutara varias veces TODO que lo que se escriba después de la linea cuatro hasta antes de Fin Mientras (linea 6).

En la linea 5: tenemos una operación aritmética sencillas, que dice que la variable num va a ser igual a su mismo valor + 1. Osea que, si  la primera vez que se ejecute la instrucción mientras, la variable entra con un valor de 0 (ver linea 3), a este se le suma 1, ahora num vale 1 (0+1 = 1); en este punto la condición de Mientras aun es un VERDADERO.
Como es verdadero en vez de pasar a la linea 6, el código hará un regreso a la linea 4, para volver a verificar que num aun no haya llegado o se haya pasado del valor 5; se vuelve a ejecutar la linea 5, solo que ahora tomamos en cuenta que en este punto num vale 1, ahora la operación es: la variable sera su mismo valor (1) + 1, lo cual nos da como resultado 2; nuevamente no nos hemos pasado ni llegado a 5, con lo cual se repetirán las lineas 4 y 5 una tercera vez y así una cuarta hasta que num adopte el valor de 4 que es un numero menor que 5.
En el momento en que num adquiere el valor de 5 (que seria por lógica en la quinta repetición de las lineas 4 y 5) por fin nos dará un valor booleano de falso, con lo cual se pondera fin a la instrucción MIENTRAS.

En la linea 6: esta escrita la instrucción que define cual es el fin de la Sentencia Mientras, a la cual el algoritmo llegara solamente cuando la prueba lógica sea un FALSO (valor booleano False).

Hay que tomar en cuenta que si en las lineas de código que existan en una Sentencia Mientras, no existe nunca algo que obligue a que la prueba lógica devuelva un False, nos encontraremos en un ciclo infinito de repetición. 

Ejemplo 2.0


  1. //Algoritmo para sumar un numero entero a una variable 
  2. Inicio Algoritmo
  3. num = 0
  4. Mientras (num < 5)
  5.         "esta cadena de se mostrara una y otra vez"
  6.         "por que no hay algo que obligue a num a llegar a 5"
  7. Fin Mientras
  8. Fin Algoritmo

Si observas el ejemplo 2.0 ahora no tenemos operaciones aritméticas y simplemente las lineas de código 4, 5 y 6 se repetirán infinitamente.  

No hay comentarios:

Publicar un comentario