En algunas ocasiones queremos repetir un bloque de instrucciones. Para no tener que escribirlas una debajo de otra, se utiliza el comando repite. Tecleamos "repite n [", donde n indica el número iteraciones o repeticiones y abrimos un corchete. A continuación, ponemos las instrucciones que se iterarán n veces y por último cerramos el corchete, indicando el final del proceso. La estructura, llamada bucle, queda del siguiente modo:
repite n [
línea 1
línea 2
...
línea k
]
Los dos bloques de código dibujarán un cuadrado de lado 100, el segundo usando un bucle.
borrapantalla
giraderecha 45
avanza 100
giraderecha 90
avanza 100
giraderecha 90
avanza 100
giraderecha 90
avanza 100
giraderecha 90
borrapantalla
giraderecha 45
repite 4 [
avanza 100
giraderecha 90
]
ejemplo4
subelapiz
centro
bajalapiz
poncl rojo
...
hoja n
Escribe las instrucciones en el editor. Traza las hojas de la imagen. Utiliza el comando "hoja n", siendo n la longitud de la hoja. Cada una de ellas está girada 360/10 grados con respecto a la anterior.
borrapantalla
...
giraizquierda 90
avanza 5
giraderecha 90
avanza 175
giraderecha 90
...
Dibuja la figura de la imagen, girando muchas veces un rectángulo estrecho. Por ejemplo, 60 o 72 rotaciones de ángulo 6º o 5º, respectivamente. En el código se traza la mitad del rectángulo.
borrapantalla
giraderecha 30
repite 5 [
avanza 100
giraderecha 360/5
]
Cambiando el rumbo inicial de 30º se obtendría el mismo polígono, girado con respecto al punto inicial O.
Cuando giramos un polígono regular, utilizamos un bucle interior para crear el polígono y otro exterior para rotarlo. Esta estructura formada por un bucle dentro de otro se denomina bucle anidado.
repite g [
repite l [
...(crear el polígono)
]
giraderecha k
]
mundo 0
borrapantalla
pongrosor 2
repite 20 [
repite 25 [
...
]
...
]
ocultalapiz
Dibuja la figura de la imagen, girando 20 veces un polígono de 25 lados cuyo lado mida 30 u. Todos los giros son iguales y su suma es 360º.
mundo 0
borrapantalla
...
Dibuja la figura de la imagen, girando un pentágono regular.