Solución de limpiando la casa

Entendiendo el problema

En este problema nos piden recoger todos los zumbadores.

Idea de solución

Para esta solución aplicaremos la idea de colocar a Karel en un lugar en el cual es práctico recoger los zumbadores.

Si primero llevamos a Karel a la pared que está enfrente de él, y le damos media vuelta, ya solo bastaría recoger los zumbadores. 

Usa un cuaderno donde puedas dibujar este proceso. En la siguiente imagen te muestro el mío.


Si te das cuenta, lo estamos resolviendo con nuestro acostumbrado lenguaje. Pensando un poco más, sería bueno contar con una función que se llame llegarParedotra que se llame mediaVuelta, y una última que se llame recoger. Imagina que existiera un Dios de los algoritmos al cual le pudieras pedir las tres nuevas funciones. Siendo así, nuestra idea de solución quedaría de la siguiente manera:

    • llegarPared
    • mediaVuelta
    • recoger

Como tú eres el Dios de los algoritmos, te toca escribir el programa.


La función de llegarPared tiene como finalidad que Karel llegue a la pared de enfrente, y para lograrlo solo tiene que avanzar mientras el frente esté libre.

La función de mediaVuelta debe dar la media vuelta, y esto se logra con dos girar izquierda

La función de recoger es un poco mas complicada, ya que Karel debe avanzar mientras el frente esté libre, y en cada casilla debe preguntar si esta junto a zumbador para recogerlo. Observa que al final vuelvo a preguntar si está junto a zumbador para recogerlo.

Observaciones

  • Cuando miras el código en función de inicio de programa, automáticamente sabes qué es lo que va hacer, sin necesidad de revisar el detalle de todas las instrucciones.
  • Parece  que con las nuevas funciones el lenguaje de Karel ya creció, porque ahora contamos con 3 nuevas funcionalidades: llegarPared, mediaVuelta y recoger.

SUPER TIP: Si con ayuda de tu cuaderno dibujas los recorridos que debe realizar Karel, te ayudará a encontrar la solución en poco tiempo.

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 son 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 ese lugar.

Te recomiendo que dibujes otros mundos y pruebes tu programa.


RECUERDA COMPARAR TU SOLUCIÓN CON LA DEL COMITÉ ESTATAL.





Last modified: Friday, 18 August 2023, 7:43 PM