Español   Ejemplos: Recursividad.

Los hexágonos nunca se acaban

En cada uno de los seis vértices de un hexágono dibujamos otro hexágono cuyo lado es la mitad del inicial; en cada vértice de cada hexágono dibujamos otro hexágono cuyo ...

para empezar
  nuevo cruces 90
fin

para nuevo
# Inicializamos pantalla, lapiz, tortuga, ...
  reponetodo pontamañopantalla [400 400]
  poncolorpapel negro poncolorlapiz verde subelapiz ocultatortuga
fin

para hexagono :lado
  si :lado < 12 [alto]
  retrocede :lado giraderecha 60
  repite 6 [poncolorlapiz hue 3*distancia [0 0]
  bajalapiz avanza :lado subelapiz
  giraizquierda 60 hexagono :lado/2]
  giraizquierda 60 avanza :lado
fin para hue :angulo
  haz "red redondea 127*(1+coseno :angulo)
  haz "green redondea 127*(1+coseno(120+:angulo))
  haz "blue redondea 127*(1+coseno(240+:angulo))
  devuelve frase lista :red :green :blue
fin


Para mayor recursividad, cambia el condicional en la línea:

si :lado < 12 [alto]
Probar este programa ahora

Procedimiento a ejecutar:
empezar