Anteprima
Vedrai una selezione di 22 pagine su 101
Scheme per Dr. Geo Pag. 1 Scheme per Dr. Geo Pag. 2
Anteprima di 22 pagg. su 101.
Scarica il documento per vederlo tutto.
Scheme per Dr. Geo Pag. 6
Anteprima di 22 pagg. su 101.
Scarica il documento per vederlo tutto.
Scheme per Dr. Geo Pag. 11
Anteprima di 22 pagg. su 101.
Scarica il documento per vederlo tutto.
Scheme per Dr. Geo Pag. 16
Anteprima di 22 pagg. su 101.
Scarica il documento per vederlo tutto.
Scheme per Dr. Geo Pag. 21
Anteprima di 22 pagg. su 101.
Scarica il documento per vederlo tutto.
Scheme per Dr. Geo Pag. 26
Anteprima di 22 pagg. su 101.
Scarica il documento per vederlo tutto.
Scheme per Dr. Geo Pag. 31
Anteprima di 22 pagg. su 101.
Scarica il documento per vederlo tutto.
Scheme per Dr. Geo Pag. 36
Anteprima di 22 pagg. su 101.
Scarica il documento per vederlo tutto.
Scheme per Dr. Geo Pag. 41
Anteprima di 22 pagg. su 101.
Scarica il documento per vederlo tutto.
Scheme per Dr. Geo Pag. 46
Anteprima di 22 pagg. su 101.
Scarica il documento per vederlo tutto.
Scheme per Dr. Geo Pag. 51
Anteprima di 22 pagg. su 101.
Scarica il documento per vederlo tutto.
Scheme per Dr. Geo Pag. 56
Anteprima di 22 pagg. su 101.
Scarica il documento per vederlo tutto.
Scheme per Dr. Geo Pag. 61
Anteprima di 22 pagg. su 101.
Scarica il documento per vederlo tutto.
Scheme per Dr. Geo Pag. 66
Anteprima di 22 pagg. su 101.
Scarica il documento per vederlo tutto.
Scheme per Dr. Geo Pag. 71
Anteprima di 22 pagg. su 101.
Scarica il documento per vederlo tutto.
Scheme per Dr. Geo Pag. 76
Anteprima di 22 pagg. su 101.
Scarica il documento per vederlo tutto.
Scheme per Dr. Geo Pag. 81
Anteprima di 22 pagg. su 101.
Scarica il documento per vederlo tutto.
Scheme per Dr. Geo Pag. 86
Anteprima di 22 pagg. su 101.
Scarica il documento per vederlo tutto.
Scheme per Dr. Geo Pag. 91
Anteprima di 22 pagg. su 101.
Scarica il documento per vederlo tutto.
Scheme per Dr. Geo Pag. 96
1 su 101
Disdici quando vuoi 162x117
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Sintesi

<div>

Scarica il

</div>

Estratto del documento

Scheme per Dr. Geo

Andrea Centomo

Hilaire Fernandes

Edizioni Ofset 2005

2

Introduzione

Con il termine software libero si identificano, a grandi linee, tutte le risor-

se informatiche che vengono rilasciate con codice sorgente aperto, accompa-

gnate da un copyright che ne sancisce la proprietà intellettuale e con licenza

GPL (GNU General Public License) o derivata, in modo da renderle libera-

mente copiabili, utilizzabili e modificabili da parte di tutti, impedendo allo

stesso tempo che su di esse vengano aggiunte restrizioni che ne limitino l’uso

libero. Alla luce di questa definizione si comprende come il termine libero

non possa in alcun modo essere assimilato, come spesso accade riduttiva-

mente, a gratuito. Limitarsi al solo aspetto della gratuità, che in alcuni casi

riguarda anche altro tipo di software, tralasciando aspetti cruciali come la

disponibilità del codice sorgente e la natura della licenza GPL, non permette

di cogliere pienamente quel modo originale di pensare l’informatica, tipico

dell’approccio libero, che fa della collaborazione e della cooperazione inter-

nazionale il perno essenziale del suo stesso sviluppo.

La condivisione della conoscenza, principalmente attraverso l’apertura del

codice sorgente, e la collaborazione internazionale attraverso infrastrutture

digitali individuano due condizioni imprescindibili per l’esistenza delle risor-

se libere. Allo stesso tempo tuttavia esse rappresentano obiettivi centrali

anche per un’istituzione di carattere culturale ed educativo come la scuola.

Il percorso didattico che proponiamo in questo libro ha come oggetto la

programmazione contestualizzata in un ambiente di geometria di-

namica. L’ambiente in cui si opera, rappresentato dal software libero Dr.

Geo, offre una potente integrazione tra motore di manipolazione dinami-

ca degli oggetti geometrici e linguaggio di programmazione di alto livello

Scheme. Ambienti in cui geometria e programmazione trovano un punto di

incontro non sono una novità nell’esperienza didattica. Si pensi all’esempio

del Logo il cui uso, per motivi che ci sfuggono, è rimasto tristemente confi-

nato all’ambito del ciclo primario. Tuttavia il fatto che si possa disporre di

un ambiente di programmazione in un ambiente di manipolazione dinamica

degli oggetti geometrici rappresenta un aspetto di sicuro interesse pedago-

gico.

Oltre a questo osserviamo che il lettore, che al termine di questo percor-

so fosse desideroso di approfondire la conoscenza del linguaggio Scheme e

volesse dedicarsi solo alla programmazione, può fruttuosamente utilizzare

3

4

l’ambiente Dr. Scheme concepito espressa-

http://www.plt-scheme.org

mente per la didattica della programmazione Scheme.

Questo libro è stato scritto sulla spinta di diverse motivazioni. La prima è

di mostrare che il software libero offre strumenti eccellenti per lo studio della

geometria e dell’informatica, alternativi a quelli attualmente più diffusi nel-

la scuola. Il secondo, consequenziale al primo, è di incoraggiare le persone

all’uso di risorse libere. Ciò non solo per banali ragioni di abbattimento

dei costi ma per favorire la condivisione della conoscenza e la crescita di

un’informatica collaborativa. Un’ultima importante ragione alla base della

realizzazione di questo libro è legata al piacere, che speriamo investa anche

il lettore, di esplorare argomenti di matematica affascinanti come, per citare

qualche esempio, quello delle tassellazioni, degli insiemi autosimili e della

botanica algoritmica.

Capitolo 1

Geometria interattiva

Dr. Geo è un software libero progettato per lo studio interattivo della geo-

metria euclidea piana e per un primo approccio ai fondamenti della pro-

grammazione in linguaggio Scheme. Nessuno di questi due aspetti, preso

singolarmente, rappresenta una novità nel campo del software per l’edu-

cazione: gli ambienti per lo studio interattivo della geometria (Kig, Kseg,

Cabri, Sketchpad ...), cosı̀ come i linguaggi di programmazione orientati al-

la geometria (Logo), hanno già una tradizione abbastanza consolidata nella

didattica della scuola italiana. Tuttavia, con l’eccezione dell’ambiente di

programmazione Python per Kig, non ci sono noti esempi di software in cui

l’integrazione tra ambiente di programmazione e motore geometrico sia cosı̀

efficace e profonda come in Dr. Geo.

1.1 Funzionalità base

Le funzionalità base di Dr. Geo possono essere presentate nella seguente

articolazione:

Oggetti di Dr. Geo

punto e numero;

• retta, semiretta, segmento, circonferenza, arco, punto (date le coordi-

• nate), coordinate di un punto;

punto medio, vettore, retta parallela, retta perpendicolare, punti di

• intersezione.

In fase di progettazione del software si è volutamente scelto di non au-

mentare il numero degli oggetti per stimolare l’utente a fare questo au-

tonomamente. Trattandosi di un software libero si hanno due strade per

raggiungere questo risultato: utilizzare gli strumenti avanzati messi a dispo-

sizione dal programma, che analizzeremo nel seguito, o modificare il codice

sorgente. In Dr. Geo sono disponibili altri due oggetti speciali:

5

6 CAPITOLO 1. GEOMETRIA INTERATTIVA

il luogo: per lo studio di luoghi geometrici;

• il poligono: per disegnare poligoni di cui sono assegnati i vertici.

La particolarità di questi oggetti risiede nel fatto che su essi non sono

eseguibili alcune operazioni normalmente eseguibili sugli altri oggetti. Ad

esempio non è possibile intersecare due poligoni.

Strumenti

strumenti di misura: righello e goniometro;

• strumenti di trasformazione: isometrie e omotetie;

• strumento di movimento: deformazione dinamica degli oggetti;

• strumenti di visualizzazione: gomma, stile oggetti, zoom;

• strumenti di editing: foglio di testo

Gli strumenti di trasformazione permettono un approccio moderno allo

studio della geometria ossia per trasformazioni. Lo strumento di movimento

è ciò che caratterizza invece l’aspetto dinamico del software e che permette

all’utilizzatore di deformare la figura geometrica mantenendo inalterate le

sue caratteristiche geometriche. Gli strumenti di visualizzazione permettono

poi di modificare l’aspetto dei diversi oggetti rispetto al comportamento

predefinito nella configurazione delle di Dr. Geo [2]. Dr. Geo

Preferenze

mette a disposizione anche un ambiente per editare semplici testi. Il testo

viene scritto su un foglio di lavoro, analogo nell’aspetto al foglio su cui si

eseguono le costruzioni, e l’utilizzatore può passare da foglio di testo a foglio

di costruzione cliccando con il mouse su una linguetta.

1.2 La mia prima figura

La prima figura che costruirai con Dr. Geo è l’asse di un segmento AB; per

fare questo ricordati che l’asse di un segmento è la retta perpendicolare al

segmento che passa per il suo punto medio. Prima di passare alla costruzio-

ne ti ricordiamo che:

Dr. Geo ha un che ti può essere utile per molti motivi.

manuale in linea

Il manuale si attiva cliccando sull’icona che rappresenta un salvagente: è

buona norma quando si incontra un problema abituarsi a consultare il ma-

nuale per risolverlo autonomamente; solo dopo aver consultato il manuale,

se il problema persiste, puoi chiedere aiuto al prossimo. Ricorda anche che

il Manuale di Dr. Geo è scaricabile in diversi formati dal sito ufficiale del

progetto Dr. Geo e che molti materiali e

http://www.ofset.org/drgeo

articoli su questo software sono disponibili in Internet.

Per costruire l’asse puoi procedere come segue: 7

1.3. MACRO-COSTRUZIONI

A B

Figura 1.1: Costruzione dell’asse del segmento AB

1. apri Dr. Geo

2. apri una nuova figura File → Nuovo → Figura

3. disegna due punti sul foglio e assegna ad essi i nomi A e B

4. congiungi i due punti con un segmento

5. disegna la circonferenza di centro A passante per B

6. disegna la circonferenza di centro B passante per A

7. determina con il comando i due punti di intersezione

Intersezione

tra le due circonferenze

8. traccia la retta passante per questi due punti.

Se ora provi a deformare dinamicamente la figura 1.1, spostando ad

esempio il punto A, noterai che nonostante gli oggetti geometrici cambino la

loro forma, le relazioni geometriche che intercorrono tra loro si mantengono

invariate. In altri termini noterai che mentre il segmento AB cambia la

costruzione restituisce sempre il suo asse.

Esercizio 1 Costruisci con Dr. Geo baricentro e ortocentro di un triangolo

qualsiasi.

1.3 Macro-costruzioni

Le macro-costruzioni rappresentano uno strumento interno a Dr. Geo uti-

le per ampliare l’insieme dei suoi oggetti di base. Attraverso una macro-

8 CAPITOLO 1. GEOMETRIA INTERATTIVA

costruzione puoi aggiungere a Dr. Geo una nuova costruzione che per qual-

che ragione ti interessa. Come in ogni costruzione geometrica si definiscono

un certo numero di oggetti geometrici in ingresso e si ottengono alcuni og-

getti geometrici in uscita. L’utilizzatore di Dr. Geo stabilisce gli oggetti

iniziali e finali della macro-costruzione, che poi verrà salvata in un file con

estensione .mgeo.

La costruzione di una macro deve essere logicamente coerente: gli oggetti

finali della macro devono dipendere in modo esclusivo dagli oggetti iniziali in

modo che il software possa ricostruire, senza ambiguità, l’intera costruzione.

Da questo punto di vista Dr. Geo è in grado di memorizzare la sequen-

za della costruzione e di riprodurla ogni volta che l’utilizzatore, dopo aver

azionato il comando di esecuzione di una macro, andrà a cliccare su oggetti

geometrici che coincidono con gli oggetti in ingresso della macro stessa.

Esercizio 2 Dopo aver studiato il paragrafo dedicato alle macro, che trovi

nel capitolo Funzioni Avanzate del manuale in linea di Dr. Geo [2], scrivi

una macro che costruisce un triangolo equilatero di lato dato e salvala nella

tua cartella personale Macro con nome triangoloequilatero.mgeo.

1.4 Teorema di Aubel

In Matematica si incontrano spesso delle proposizioni che prendono il nome

di teoremi. Un teorema è una proposizione che è conseguenza logica di

altre proposizioni precedentemente dimostrate o assunte come vere (postu-

lati). All’interno di un teorema si riconoscono ipotesi e tesi. Le ipotesi

sono le assunzioni di partenza, la tesi è ciò che si vuole dimostrare essere

conseguenza logica delle ipotesi e dei postulati. L’insieme dei ragionamenti

logici che dalle ipotesi permettono di giungere alla tesi prende il nome di

dimostrazione del teorema.

Come esempio completo di utilizzo di Dr. Geo e per chiarire i concetti

appena introdotti analizziamo un curioso teorema dovuto ad Aubel.

Teorema 1 Sia ABCD un quadrilatero convesso e i punti L, M , N e O

siano i centri dei quadrati costruiti sui lati del quadrilatero come in figura

1.2. Allora:

1. i segmenti LN e M O hanno la stessa lunghezza;

2. i segmenti LN e M O sono perpendicolari.

Dal momento che Dr. Geo non implementa la costruzione di un qua-

drato realizziamo innanzitutto una macro-costruzione che dati gli estremi

di un segmento AB permetta di disegnare il quadrato di lato AB e il suo

centro. Salviamo questa macro e ricorrendo ad essa

quadratocentro.mgeo

riproduciamo la figura relativa al teorema di Aubel.

Le ipotesi del teorema sono: 9

1.4. TEOREMA DI AUBEL

N

C

D M

O

A B

LN = 4.595770

L

M O = 4.595770

Figura 1.2: Teorema di Aubel

ABCD è un quadrilatero convesso

• L, M , N , O sono i centri dei quadrati costruiti sui lati del quadrilatero.

La tesi del teorema è che:

LN = M O

• LN M O che si legge ”LN è perpendicolare a M O”.

• ⊥

In questo contesto non siamo interessati alla dimostrazione (non immediata)

del teorema ma a comprendere il significato geometrico del suo enunciato.

Osserviamo subito, anche se su questo aspetto torneremo nel seguito, che

con Dr. Geo non si possono dimostrare teoremi in quanto lo strumen-

to informatico non è in grado di effettuare dei ragionamenti. L’ambiente

di geometria dinamica ci è tuttavia utile per penetrare più in profondità

il significato dell’enunciato del teorema e, attraverso lo strumento di movi-

mento, per analizzarne efficacemente diversi casi particolari.

Utilizzando righello e goniometro di Dr. Geo misuriamo le lunghezze dei

segmenti LN e M O e l’angolo che essi formano. Deformando dinamicamen-

te il quadrilatero noteremo che in effetti quanto previsto dal teorema trova

sempre perfetta corrispondenza.

Esercizio 3 Cosa accade se il quadrilatero non è più convesso?

10 CAPITOLO 1. GEOMETRIA INTERATTIVA

Capitolo 2

Script Guile per Dr. Geo

Il linguaggio di programmazione di cui imparerai i fondamenti è Scheme.

Scheme è un linguaggio di alto livello. Altri linguaggi di alto livello di

cui forse hai sentito parlare sono il Pascal, il C e Java.

Come avrai intuito sentendo l’espressione linguaggio di alto livello esistono

anche linguaggi di basso livello, talvolta chiamati linguaggi macchina.

In modo non completamente corretto possiamo dire che i computer possono

eseguire solamente programmi scritti in linguaggio di basso livello: i pro-

grammi scritti con linguaggi di alto livello devono necessariamente essere

elaborati prima di essere eseguiti.

I programmi scritti in linguaggio di alto livello sono generalmente più facili

da scrivere rispetto a quelli in linguaggio di basso livello, in quanto i lin-

guaggi di alto livello sono stati progettati con lo scopo esplicito di risultare

facilmente leggibili e utilizzabili dagli esseri umani.

Uno dei modi con cui i programmi di alto livello vengono trasformati in

programmi di basso livello prende il nome di interpretazione. Un inter-

prete legge il programma e lo esegue trasformando ogni riga di istruzioni

in una azione. L’interprete elabora il programma un po’ alla volta, alter-

nando la lettura delle istruzioni all’esecuzione dei comandi che le istruzioni

descrivono: Codice Interprete Risultato

Sorgente

In Dr. Geo è disponibile l’interprete Guile del linguaggio Scheme. L’uti-

lizzatore di Dr. Geo può quindi eseguire degli script in linguaggio Scheme

che hanno in ingresso (input) un sottoinsieme (anche vuoto) di oggetti geo-

metrici e che restituiscono in uscita (output) un numero o una stringa. Gli

esempi che seguono hanno lo scopo di chiarire il modo peculiare in cui Guile

viene utilizzato in Dr. Geo. 11

12 CAPITOLO 2. SCRIPT GUILE PER DR. GEO

2.1 Aritmetica Scheme

Il primo gruppo di esempi che analizziamo mostra come gli script Guile per-

mettano di disporre in Dr. Geo di una calcolatrice. In generale i simboli

speciali che rappresentano elaborazioni di tipo matematico vengono chiama-

ti in programmazione operatori. I valori che l’operatore usa nei calcoli sono

detti operandi. Le operazioni fondamentali che consideriamo inizialmente

sono l’addizione la sottrazione la moltiplicazione e la divisione

+, -, * /.

Il primo esempio che consideriamo consiste nell’eseguire in Dr. Geo il

prodotto tra numeri naturali: 20 32

·

Il procedimento per effettuare il calcolo è il seguente:

si seleziona il comando di Dr. Geo che attiva uno script Guile;

• si clicca con il mouse direttamente sullo sfondo del foglio di lavoro nel

• punto in cui si desidera che compaia il valore di uscita dello script (nel

nostro caso il risultato dell’operazione). Una volta collocato lo script

apparirà la scritta celeste Dr. Genius;

si clicca sul comando per modificare le proprietà di un oggetto (icona

• a chiave inglese) e cliccando successivamente sulla scritta Dr. Genius

si aprirà una finestra di dialogo;

a questo punto si cancella tutto il contenuto dello script e lo si sosti-

• tuisce con l’espressione Scheme (* 20 32)

finalmente si clicca su o su e si ottiene il risultato 640.00.

• Applica Ok

L’esempio precedente è istruttivo sotto diversi punti di vista:

1. l’implementazione delle operazioni in Scheme, diversamente da come

siamo abituati, avviene scrivendo prima l’operatore e successivamente

gli operandi su cui l’operatore agisce. Nell’esempio precedente prima

viene posto l’operatore di moltiplicazione cui seguono i due operandi

20 e 32;

2. il linguaggio Scheme, come vedremo anche nel seguito, utilizza abbon-

dantemente le parentesi. Nell’esempio precedente l’espressione Scheme

che implementa il calcolo del prodotto è stata racchiusa tra parentesi

tonde.

Oltre a questo, osserviamo che il risultato dell’operazione viene rap-

presentato in forma decimale con un’approssimazione di due cifre dopo la

virgola. Il numero di cifre dell’approssimazione può essere controllato mo-

dificando le di Dr. Geo [2].

Preferenze 13

2.2. FUNZIONI MATEMATICHE

Un secondo esempio di script, leggermente più complesso del precedente,

permette di calcolare il risultato dell’espressione aritmetica:

(20 (32 + 2) 15) : 2

· −

Tecnicamente la procedura da seguire per ottenere il risultato in Dr. Geo

è la stessa vista nell’esempio precedente. L’unica differenza è rappresentata

dall’espressione Scheme che serve per implementare l’espressione aritmetica:

( / ( - (* 20 (+ 32 2)) 15) 2 )

In questa espressione compaiono più operatori e quindi assume un’impor-

tanza cruciale l’ordine in cui le diverse espressioni vengono valutate. Le

regole di precedenza vengono gestite in Scheme attraverso l’annidamento

di parentesi, in modo del tutto simile a quanto accade in matematica.

Esercizio 4 Calcola con Dr. Geo il risultato di 2 : (3 12.5) + 3.4 e

confrontalo con quello di una calcolatrice tascabile.

2.2 Funzioni matematiche

Un ulteriore esempio di implementazione di un calcolo matematico consiste

nel valutare la seguente espressione:

p 2

11 + 23

Lo script che permette di eseguire il calcolo è<

Dettagli
Publisher
101 pagine