Solución reto: Visitando a su tio
Entendiendo el problema
En este problema nos piden llegar al zumbador.
Idea de solución
Vamos a imaginar un cuarto desordenado donde se encuentran juguetes y ropa en el suelo (que afortunadamente no es tu cuarto ya que seguramente eres una persona que le agrada el orden) y si quieres llegar al ropero, solo tienes que caminar 3 pasos, y seguramente los das, pero tu caminado es inteligente porque si en tu andar estaba tu video juego odiarías pisarlo y descomponerlo.
De esa misma manea imagina que tiene un caminado inteligente que te levará por la orilla de la montaña, al que le vamos a llamar camina y muy cierto le atinaste, será una nueva función. Como sabes que esta nueva función va ir pegado a la pared de la montaña.
El programa se simplifica por que solo debes caminar mientras no junto a zumbador, quedando tu programa quedaría de esta manera:

Sin embargo ahora necesitamos hacer la función de camina la cual debe ir siguiendo la línea, para eso nos apoyamos en nuestro cuaderno, observando los mundos de ejemplo nos damos cuenta que existen esta variantes.
A.- El frente esta libre y la izquierda bloqueada.
B.- El frente esta bloqueador.
C.-Que este en una orilla.
Ahora debemos tener claro en donde debe quedar Karel una ves que se ejecute la función de camina. En la siguiente imagen te muestro en color azul en punto donde debe finalizar Karel (le llamarmos siguiente posición útil)
Entonces el código de camina nos queda de la siguiente manera.
Aqui puedes apreciar que si el frente esta libre podrian ser los casos A y C,en caso de que este bloqueado es el caso B por tanto para que pueda seguir la línea debe girar a la derecha. Para el caso A y C debemos avanzar y para saber si es el caso C utilizamos la pregunta izquieda libre ya que la izquierda libre nos lleva al caso C y por tanto debemos girar a la izquierda y avanzar.
A continuacion te muestro el programa completo.
Observaciónes
- Cuando miras el código en función de inicio de programa automaticamente sabes que es lo que va hacer, sin necesidad de revisar el detalle de todas las instrucciones.
SUPER TIP: Si con ayuda de tu cuaderno, dibujas las situaciones variantes, te ayudará a visualiar la solución.
Tip 1: Es buena idea pensar que ya tienes nuevas funcionalidades y en base a ellas construir tu algoritmo.
Tip 2: Te recomiendo que dividas la solución de tu programa en etapas o partes mas pequeñas.
Tip 3: Cuando creamos programas en base a nuevas funciones tiene como consecuencia que nuestros programas con mas claros de leer.
Tip 4: Te recomiendo el uso de una libreta o pizarra para que separes las acciones y dibujes los recorridos que deberá seguir Karel.
Tip 5: En ocasiones al resolver un problema ayuda pensar en si existe un lugar que facilite la solución y en caso de existir nuestro primera acción será colocar a Karel en es punto.
Te recomiendo que dibujes otros mundos y pruebes tu programa.