Solución de repartiendo juguetes

Entendiendo el problema

El problema nos indica que Karel debe repartir los zumbadores en sentido contrario a las manecillas del reloj. Esta repartición debe ser lo más equitativa posible.

Idea de solución

La situación se complica debido a que Karel solo puede tomar un zumbador y dejar un zumbador a la vez, y no puede realizar operaciones de suma y resta o de multiplicación y división como lo hacemos nosotros los humanos. 

Sin embargo Karel sí puede ir dejando los zumbadores de uno en uno en cada esquina, y cuando se le acaben quedarán repartidos como se pide. Para realizar esta trabajo lo que debe hacer Karel es recoger todos los zumbadores, y después, mientras tenga zumbadores en la mochila, debe dejar 1 zumbador, llegar a la siguiente esquina y girar la izquierda. 

El esquema de solución quedaría así:

  • Recoger todos los zumbadores
  • Mientras tenga zumbadores en la mochila:
    • Dejar 1 zumbador
    • Llegar a la siguiente esquina (que equivale llegar a la pared de enfrente)
    • Girar a la izquierda
  • Fin

Reflexiona un momento en esta serie de pasos.

Código de la solución

Una manera elegante de realizar este trabajo sería crear una función llamada llegarPared, cuya misión sería llegar a la pared de enfrente, y así el código se vería de la siguiente manera:



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, 6:50 PM