La sentencia iterate

En el ejercicio 2, tenías que contar la secuencia correcta de pasos para que Karel pudiese resolver el problema. En este caso probablemente no hay una forma más corta de resolverlo. Sin embargo, en algunos problemas hay aspectos del problema que tienen una naturaleza repetitiva. Por ejemplo, para ir de la esquina 15 a la 1 tendríamos que poner un total de 14 move(). ¿Es difícil dar justo con el número correcto?. El lenguaje de programación de Karel ofrece un método mejor, la sentencia de control iterate. Se escribe como sigue:

...

iterate (xxx) {

   yyy

}

...

donde xxx debe ser un número entero positivo, y yyy representa cualquier número de sentencias de Karel. El problema de los 14 avances podría haberse escrito :

...

iterate (14) {

   move();

}

...

Ejercicio 4: Asume que Karel está en la esquina de la 8ªAvenida y la 8ªCalle, con el escenario que se ve en la siguiente imagen. Escribe un programa que haga a Karel recoger todos los zumbadores y acabe en la 1ªesquina orientado al Sur.

¿Crees que es muy difícil?

Bien. puede ser que un poco de ayuda venga bien. Si puedes imaginar como hacerlo una vez (el primer zumbador de la esquina 7,7), la sentencia repite lo hará tantas veces como tú quieras.

Crea un mundo como el de arriba y guárdalo con el nombre diagonal.mdo. Escribe el programa y guárdalo con el nombre diagonal.txt. Asegurate de utilizar la sentencia iterate. Prueba el programa en este mundo inicial. Karel debería terminar en la esquina de la primera Avenida con la primera Calle, y llevando 7 zumbadores en la mochila. 

La sentencia iterate

Regresar