COSTRUZIONE DI POLIGONI CON LOGO

PROCEDURE

COMMENTI

Le procedure dei poligoni che riportiamo seguono un gradiente di difficoltà, sia perché introducono concetti più complessi, che, soprattutto, per una più elaborata gestione delle variabili.

Tutte le procedure di logo si definiscono con to e un nome e terminano con la primitiva end.

-          quadrato1

-          quadrato2

-          rettangolo

-          triangolo equilatero

-          poligoni

Per poter lanciare le procedure che verranno in seguito riportate, occorre scaricare (gratuitamente) il programma MSW LOGO, copiare le procedure e incollarle nella finestra edit di logo.

Per lanciare le procedure è necessario solo scrivere la parola DEMO nel commander di logo.

To quadrato

Repeat 4 [ fd 100 rt 90]

End

To demo

Quadrato

End

La procedura fa che la tartaruga disegni un quadrato di lato 100 (il punto di partenza coincide col vertice inferiore sin del quadrato)

To quadrato :l

Repeat 4 [ fd :l rt 90]

End

To demo

Quadrato 50

Quadrato 100

Quadrato 200

Quadrato 300

End

La procedura disegna quadrati di lato variabile, che può essere definito al momento di lanciare la procedura o in una superprocedura.

To rettangolo :h :b

Repeat 2 [ fd :h rt 90 fd :b rt 90]

End

To demo

rettangolo 50 100

rettangolo 100 70

End

La procedura disegna rettangoli di lati variabili, che possono essere definiti al momento di lanciare la procedura o in una superprocedura.

To tri.equi :l

Repeat 3 [ fd :l rt 120]

End

To demo

Tri.equi 50

Tri.equi 100

Tri.equi 200

End

La procedura disegna triangoli equilateri di lato variabile, che può essere definito al momento di lanciare la procedura o in una superprocedura.

NOTA: si introduce la misura dell'angolo esterno e non interno del poligono.

To poli :n :l

Make "ang 360/:n

Repeat :n [ fd :l rt :ang]

End

To demo

Poli 3 100

Poli 4 100

Poli 5 100

Poli 6 100

End

La procedura disegna poligoni regolari con un numero variabile di lati.

Dal numero di lati dipenderà la misura dell'angolo esterno del poligono.

NOTA: le variabili indipendenti vanno definite al momento di lanciare la procedura, mentre le dipendenti assumono il valore assegnato nel corso della procedura mediante la primitiva make "