Nesta actividade aprenderemos a empregar a recursividade. ¿Que significa esta palabra? O seu significado é: algo que se repite sen fin, é dicir un infinito.
Un exemplo podería ser facer un cadrado de forma infinita o programa sería o seguinte:
to cuadrado repite 4[ fd 70 rt 90] cuadrado fin
Se nos fixamos no programa está formado por o procedemento para debuxar un cadrado e inclúese o nome do procedemento antes do comando fin.
¿Poderíamos finalizar este programa? Claro que si, para poder facelo deberemos empregar as estruturas selectivas. ¿Recordas este tipo de estruturas? Seguro que si, pero se non é o caso podes repasar pinchando aquí.
Polo tanto, o que debemos é empregar unha condición en función de se se cumpre ou non o programa continua ou se para.
O comando que debo empregar é IF seguido da condición para que se pare o programa e a condición para que se execute.
Para entendelo mellor faremos un exemplo.
O primeiro que facemos e crear un procedemento para debuxar un triángulo que poidamos variar o seu tamaño. ¿Como podemos facelo? Pois creando unha variable que a chamaremos lado .
O programa sería
to triangulo :lado repeat 3 [ fd :lado rt 120] end
Agora facemos a proba para ver se funciona , para comprobalo poño o nome do procedemento seguido dun número que será a dimensión do lado.
| triangulo 20 | triangulo 150 |
![]() |
![]() |
Para conseguir a recursividade o programa sería:
to triangulo :lado repeat 3 [ fd :lado rt 120] triangulo end
O que temos que facer agora e definir as condicións . Unha delas será para que se pare e a outra para que se execute o programa.
No noso caso imos dicirlle que no momento que o lado teña unha dimensión de 100 pare e senón é así deberá facer triángulos cada vez maiores aumentado a dimensión do lado en 10 unidades.
¿Como creo as condicións?
- A condición para parar sería:
if :lado =100 [stop]
- A condición para que se execute o programa sería:
:lado + 10
Polo tanto o programa final sería:
to triangulo :lado if :lado =100 [stop] repeat 3 [ fd :lado rt 120] triangulo :lado + 10 end
Agora o que haberá que facer e poñer o nome do procedemento e tamaño de lado inicial
Este sería o resultado ao poñer:
triangulo 20


