Esercizio 1

RATIO = 1.67
TO albero ramo
IF ramo < 2 [ STOP ] ; fine della ricorsione
FORWARD ramo ; tronco
LEFT 45 ; ramo di sinistra
albero(ramo/RATIO)
RIGHT 90 ; ramo di destra
albero(ramo/RATIO)
LEFT 45 ; torna alla radice
BACK ramo
END
CLEARSCREEN HOME HIDETURTLE
albero(200)
Esercizio 2
Angolo di 180° tra i rami e rapporto di riduzione inferiore (LIBRELOGO impiega alcune ore…)

RATIO = 1.45
TO albero ramo
IF ramo < 2 [ STOP ]
FORWARD ramo
LEFT 90 albero(ramo/RATIO)
RIGHT 180 albero(ramo/RATIO)
LEFT 90
BACK ramo
END
CLEARSCREEN
HOME
HIDETURTLE
albero(200)
Esercizio 3
Introducendo un parametro per il livello della ricorsione è più semplice gestire altre caratteristiche dell’albero: spessore dei rami

TO ALBERO n d ; n=ricorsione, d=dimensione
IF n >= 1 [
PENSIZE n ; spessore del ramo
FORWARD d
d2=d/1.67 ; prossima dimensione
LEFT 45 ALBERO(n-1, d2)
RIGHT 90 ALBERO(n-1, d2)
LEFT 45
BACK d
]
END
CLEARSCREEN
HOME
HIDETURTLE
PENCAP “ROUND”
ALBERO(9, 200)
Esercizio 4
Utilizza delle liste con le costanti colore, spessore, dimensione per ogni livello della ricorsione
GLOBAL c, s, d ; colore, spessore, dimensione
TO ALBERO n
GLOBAL c, s, d
IF n >= 1 [
PENSIZE s[n]
PENCOLOR c[n]
PENDOWN
FORWARD d[n]
LEFT 45 ALBERO(n-1)
RIGHT 90 ALBERO(n-1)
LEFT 45
PENUP
BACK d[n]
]
END
CLEARSCREEN HIDETURTLE PENCAP “ROUND”
c=[“0”, “lime”, “lime”, “green”, “teal”, “chocolate”, “brown”, “brown”, “maroon”, “maroon”]
ricorsione=9
dimensione=240
s=(ricorsione+1)*[0]
d=(ricorsione+1)*[0]
s[ricorsione]=30
d[ricorsione]=dimensione
FOR i IN RANGE ricorsione-1 0 -1 [
s[i]=s[i+1]*0.75 ; spessore diminuisce...
d[i]=d[i+1]/1.67 ; dimensione diminuisce...
]
ALBERO(ricorsione)