Solución de repartiendo juguetes
Entendiendo el problema
El problema nos inidca que Karel debe repartir los zumbadores en el sentido contrareo a las manecillas del reloj, esta reparticició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 y no puede realizar operaciones de suma y resta o de multiplicación y división como lo hacemos nosotros los humanos. Sim embargo Karel si 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 zumabdores en el 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 seria llegar a la parede de enfrente y así el codigo se veria de la siguiente manera.
Te recomiendo que dibujes otros mundos y pruebes tu programa, recuerda que deben ser rectangulares o cuadrados, Karel debe iniciar en la esquina inferior izquierda, y debe estar encima de un conjunto de zumbadores yla mochila de Karel debe estar vacía.