Introduccion al concepto de bucle.
Un bucle no es más que una serie de instrucciones que se repiten.
Podemos tener dos tipos de bucles según lo que nos interese comprobar. Tenemos un bucle que se repite mientras se cumple una condicion determinada, y otro que se realiza hasta que se cumple la condicion que marcamos. En esta leccion nos encargaremos del primer tipo.
A la hora de utilizar un bucle, sea del tipo que sea, debemos ir con cuidado y pensar cuando debe acabar ya que si no tuviéramos en cuenta esto podríamos entrar en un bucle sin fin, osea que iríamos repitiendo las mismas líneas teniendo que abortar la aplicacion, para poderla finalizar. Por esto es de suma importancia que pensemos, antes de hacer nada, en que momento, como, donde y porque debe acabar el bucle.
En nuestro curso esta estructura básica de un bucle Mientras se representará de la siguiente manera:

Explicaremos línea a línea este bucle:
| Primera línea: | En esta línea pondremos la <condicion> que se debe dar para que se ejecute el bucle. En el momento que la condicion sea Falsa se terminará el bucle y se continuará con las siguientes instrucciones. |
| Segunda línea: | Línea o líneas donde pondremos las instrucciones a efectuar en caso de que la condicion sea VERDADERA. |
| Tercera línea: | Fin del bucle Mientras. De aquí se pasa a la primera línea del bucle para volver a mirar la condicion. |
En esta estructura no tenemos ninguna línea que sea opcional.
Ahora veremos cuales son los pasos que se sigue cuando se utiliza esta estructura.
Recuerda que estas líneas se irán repitiendo hasta que la condicion se cumpla.
Ejemplo 1. (Situarse en la última posicion de nuestra plataforma).
Ahora haremos un pequeño ejemplo para ver exactamente como funciona esta nueva estructura.
Imagina que tenemos a nuestro Robot en la plataforma móvil que definimos en la leccion anterior.
Nuestro Robot lo podemos tener situado en la primera o segunda posicion y nosotros queremos que se desplace hasta la tercera posicion.
Antes de hacer nada vamos a pensar que instrucciones utilizaremos y donde las pondremos. Recuerda que instrucciones tenemos definidas hasta el momento.
Pasemos a implementar el ejemplo:
Mientras Posicion <> 3 hacer
MoverDer
Fin MientrasObserva detenidamente la implementacion del código. Vamos a seguir paso a paso como miraríamos si hemos realizado bien la implementecion del código en los dos posibles casos: en el caso de que el Robot se encuentre en la posicion 1 o en la posicion 2.
A este proceso que acabamos de realizar le llamaremos Traza. La traza, realizar paso por paso un código, es muy importante en el momento de poder detectar posibles errores en nuestra implementacion del código, ya que nos podemos dar cuenta si nuestro código falla o realiza alguna accion que no deseamos. Es muy importante que al realizar la traza hagamos todos y cada uno de los pasos indicados y no demos nada por supuesto. En el momento de realizar la traza debemos actuar como si nosotros fuéramos la máquina que realizará el código.
Ejemplo 2. (Bucle infinito).
Vamos a ver un pequeño ejemplo en el que el bucle sería infinito, con lo que nos podría provocar un error en el momento de ejecutar el programa.
Imagina que tenemos el siguiente código. (Este código no tiene enunciado)
Mientras Posicion > 1 hacer
MoverDer
Fin MientrasFíjate que si nuestro Robot en un principio estuviera situado en la posicion 2, ¿que pasaría?. Pues que comenzaría a desplazarse hacia la derecha y como a partir de este momento todas las posiciones son mayores de 1, él siempre se movería una posicion a la derecha con el peligro de salirse del raíl en el que está trabajando, produciendo así un ERROR. Si realizáramos la traza correspondiente a nuestro código veríamos cual es el error y como lo podríamos solucionar.
Ejemplo 3. (Bloque sobre la plataforma).
En este ejemplo vamos a utilizar las dos estructuras que hemos visto hasta este momento.
El enunciado sería el siguiente: Tenemos, otra vez, a nuestro Robot montado en la plataforma móvil pero un poco ampliada ya que esta vez tenemos 5 posiciones. Nosotros inicialmente podemos encontrar el Robot en una de las 4 posiciones iniciales y un bloque llamado A en una de estas 4 posiciones. (La colocacion del Robot y del bloque será aleatoria). El bloque siempre estará situado en alguna posicion. Nosotros queremos encontrar ese bloque, esté donde esté y llevarlo hasta la quinta posicion.
Antes de mirar la solucion intenta encontrar una solucion correcta. Una vez la tengas realiza una traza para ver si los pasos que has pensado realizan lo que queremos. Mira la lista de instrucciones por si no recuerdas alguna.