Figure Scheme per Dr. Geo

Una figura Scheme per Dr. Geo (FSD) è un file scritto nel linguaggio di alto livello Scheme e salvato nella forma nome.scm (quindi con estensione .scm) che, una volta valutato dal software attraverso il comando File -> Valuta, restituisce una figura. Non si tratta più quindi di disegnare una figura utilizzando gli strumenti di costruzione offerti dal software, ma piuttosto di descriverla attraverso il linguaggio di programmazione di alto livello Scheme. Non siamo in grado al momento di proporre una trattazione esaustiva dei possibili utilizzi didattici delle figure Scheme e quindi ci limitiamo a discutere il caso classico di una figura iterativa. La figura iterativa è la seguente:


Figura 1. Figura Iterativa

La figura sembra apparentemente complessa in realtà a ben guardare si tratta solo di una successione di triangoli equilateri di area decrescente il cui limite è rappresentato dal centro del triangolo. Essa è generata dal seguente codice Scheme:

(new-figure "Figura Iterativa")

(define (triangle p1 p2 p3 n)
(let* ((s1 (Segment "" extremities p1 p2))
(s2 (Segment "" extremities p2 p3))
(s3 (Segment "" extremities p3 p1))
(A (Point "" on-curve s1 1/10))
(B (Point "" on-curve s2 1/10))
(C (Point "" on-curve s3 1/10)))

(send A masked)
(send B masked)
(send C masked)
(if (> n 0)
(triangle A B C (- n 1)))))

(lets Point "L" free -5 0)
(lets Point "M" free 5 0)
(lets Point "N" free 0 ( * 5 (sqrt 3)))

(triangle L M N 20)

La sintassi è, almeno lo speriamo, semplice e leggera e le parole chiave utilizzate per la descrizione della figura si possono adattare a lingue diverse

1. Per la versione italiana di Dr. Geo si è preferito mantenere l'inglese per abituare lo studente all'uso di questa lingua che di fatto è indispensabile per chi desidera occuparsi di programmazione.

La parte di codice in nero definisce la funzione iterativa triangolo che dipende dal numero naturale n mentre la parte di codice in blu definisce il triangolo di partenza e il numero di triangoli della successione da rappresentare, in questo caso 20. Per lo studio dettagliato del codice si rimanda al capitolo del Manuale di Dr. Geo dedicato alle Figure Scheme.

Da un punto di vista didattico è interessante notare come Dr. Geo permetta di visualizzare di trasformare in una piacevole figura ciò che altrimenti si ridurrebbe ad arido codice Scheme. Altri esempi di FSD, alcuni anche di interesse storico, sono contenuti nella sezione del Manuale di Dr. Geo dedicata alle Applicazioni Didattiche.