Instrucciones cíclicas en Karel
Seguramente ya te has imaginado lo tedioso que resultaría hacer caminar 100 veces a Karel con lo que hasta ahora sabemos, pues habría que escribir 100 veces el comando avanza; | move();
, cosa que resulta además poco práctico. Para hacer una o varias acciones una determinada cantidad de veces, utilizamos instrucciones repetitivas o cíclicas.
- Sentencia mientras
- Sentencia repetir
- Ejemplos
- Problemas sugeridos
Sentencia mientras
Tomemos en cuenta primeramente que existen varios tipos de repeticiones, es decir, que las realizamos bajo diferentes circunstancias, por ejemplo, cuando llueve usamos un paraguas, pero sólo mientras llueve, pues una vez que ya terminó de llover, deja de ser necesario. Para Karel, esta idea queda muy clara y de hecho estructura muy bien este tipo de repeticiones.
Imaginemos que Karel está en algún lugar desconocido del mundo y que queremos llevarlo hasta la pared que tenga a su frente, como no sabemos qué tan lejos está la pared de Karel, tampoco podemos saber cuántas veces debemos avanzar; puede que pongamos de menos y no llegue o puede que pongamos de más y choque contra la pared. Entonces, ¿cómo saber cuántas veces avanzar? Es ahí donde llega la sentencia “mientras” a auxiliarnos. Tiene la siguiente estructura:
Comienza con la palabra de control mientras | while
que le dice al compilador que sigue una sentencia repetitiva, seguido de una condición, luego en Pascal la palabra de control hacer
y finalmente las acciones a realizar. ¿Recuerdas las condiciones que Karel puede evaluar? Pues aquí las volvemos a usar, para decirnos que mientras esa condición se cumpla, Karel realizará las acciones dichas. Por ejemplo:
Con la línea anterior nos aseguramos de que Karel se oriente al norte, pues estará girando mientras no tenga esa orientación (muy útil, ¿verdad?). A estas alturas seguramente has deducido cómo resolver el problema inicial:
¿Y qué hay de las condiciones agrupadas? Las podemos utilizar de la misma manera que con la sentencia si | if
, utilizando una clausula o
, u
, ||
, una clausula y
, e
, &&
, e incluso también la clausula no | !
según nos convenga.
Sentencia repetir
Ahora pensemos la situación en la que conocemos exactamente la cantidad de veces que hay que realizar algo, pero son demasiadas veces como para poner las acciones esa cantidad de veces. Es entonces cuando usamos la sentencia repetir
en Pascal o iterate
en Java..
Si diseccionamos la instrucción también, encontraremos varias partes. La palabra de control repetir | iterate
. La cantidad de veces que se repetirán las acciones (indicado arriba como número
). Esa cantidad puede ser cualquier número mayor a \(0\). La palabra de control veces
si estamos usando Pascal y las acciones a realizar. Viéndolo en un ejemplo quedaría como sigue.
Con el código anterior Karel tomará exactamente 12 zumbadores de la posición sobre la que está. ¿Y qué pasaría si no hay tal cantidad de zumbadores ahí? En ese caso se mostraría un mensaje de error pues Karel no puede tomar zumbadores de donde no hay. Es por eso que hay que ser muy cuidadosos con el uso de la sentencia repetir | iterate
.
Ejemplos
mientras
sencillo
repetir
sencillo:
mientras
compuesto:
mientras
con bloque:
repetir
con bloque:
Problemas sugeridos
- Camino adelanteVer en omegaUp
- El hechizo de escapeVer en omegaUp
- Karel PeshVer en omegaUp
- Vaciando la mochilaVer en omegaUp
Cita esta página
Include Poetry - Code. (2020, 4 de enero). Instrucciones cíclicas en Karel. Obtenido de https://www.include-poetry.com/Code/Karel/Instrucciones/Ciclicas/