Copyright © 2002 James H. Muller
Permission is granted to copy, distribute and/or modify this
document
under the terms of the GNU Free Documentation License,
Version 1.1
or any later version published by the Free Software
Foundation.
The GNU Free Documentation License is available from
www.gnu.org.
Illustrazioni di C. Micha
Traduzione dall’inglese di Silvia Gallina
, Laura
Menicagli, Guido Ramellini
Coordinamento editoriale di Gustavo De Porcellinis , Guido
Gay, Guido Ramellini
Progetto grafico di Guido Ramellini, Pío Sierra e
Gustavo Russo
Adattamento a MSW Logo 6.4 in italiano a cura di Guido
Gay
Il libro è stato inizialmente tradotto in italiano,
con il permesso dell’autore, per essere utilizzato
quale testo per le attività del Laboratorio di
Informatica della Scuola Statale Italiana di Madrid. A
partire dall’anno scolastico 1994-95, gli alunni delle
classi quarte e quinte della Scuola Elementare hanno lavorato
sui primi quattro capitoli, mentre il materiale dei
successivi capitoli, essenzialmente fino al capitolo dieci,
è stato presentato agli alunni della Scuola
Media.
Questa edizione del libro, rivista ed adattata a MSW Logo 6.4
in italiano, viene resa pubblica, con il permesso
dell’autore, secondo i termini previsti dalla Licenza
per Documentazione Libera GNU, Versione 1.1.
Prima edizione: gennaio 2002
The Turtle’s
Discovery Book!
di Jim Muller
Illustrazioni di C. Micha
Sommario
BENVENUTI ALLA GRANDE AVVENTURA DI LOGO
Logo è una grande avventura per ciascuno che abbia dai
2 ai 102 anni. La cosa davvero divertente è che tu ne
controlli ogni aspetto. TU controlli l'azione. TU prendi
tutte le decisioni. E, sì, tu commetti tutti gli
errori. Ma, cosa importa? Anche questo è parte del
divertimento.
Per farti cominciare, chiediamo ai nostri amici, Logy e Morf,
di mettere insieme questa nuova versione del loro Libro delle
scoperte. Logy è la Tartaruga che è stata la
nostra mascotte per oltre dieci anni. Morf è un suo
vecchio amico. Talvolta è troppo furbo, ma comunque
è un caro ragazzo.
Utilizza questo libro come guida, qualunque sia la tua
età, qualunque cosa tu voglia fare con Logo. Scoprirai
cosa puoi fare con la grafica della Tartaruga. Poi scopri la
Grande Avventura della Matematica, la Ricorsività,
l’Elaborazione di liste e molti altri altri aspetti
della Grande Avventura di Logo.
Un po' di storia di Logo
Logo ebbe i suoi inizi negli anni '60 alla Bolt, Beranek e
Newman Inc., una impresa di Cambridge, Massachussetts, che
lavorava con ricercatori del M.I.T.
Un paio d'anni dopo aggregarono un piccolo robot rotondo che
era allacciato con fili al computer. Sembrava una specie di
tartaruga. Utilizzando una piccola tastiera, dei ragazzi
potevano ordinare alla tartaruga di muoversi avanti e
indietro, a destra e sinistra, su un gran pezzo di carta,
disegnando figure.
Fu interessante per un tempo. Ma quando i P.C. divennero
popolari alla fine degli anni '70, la National Science
Foundation e la Texas Instruments Incorporated chiesero
entrambe ai ricercatori del M.I.T. di fare in modo che Logo
funzionasse su piccoli computer. Texas Instruments
lanciò la prima versione commerciale di Logo
nell'aprile 1981. Nel gennaio 1982 venne introdotta sul
mercato la versione M.I.T. di Logo per la famiglia Apple II .
Da allora si sono succedute versioni di Logo per quasi tutti
i P.C.
Ora avete a disposizione MSW Logo... software di Logo
gratuito predisposto per Windows 3.1, Windows 95, Windows 98
, ...
Ma prima di andare troppo oltre, perché non mostri ai
tuoi genitori o ai tuoi insegnanti la pagina
successiva?
AI GENITORI.......... e anche agli insegnanti
Forse ho una sorpresa per voi. Questo non è un libro
sulla programmazione.
È un libro di attività in famiglia che riguarda
il divertimento che potrete ricavare dall'esplorazione del
campo della vostra immaginazione. Il Libro delle scoperte
della Tartaruga assapora il valore del gioco... il valore
della gara e del progettare gare.... il divertimento della
scoperta...anche il gusto della matematica e dell'arte
dell'eloquenza.
Il primo capitolo del Libro delle scoperte della Tartaruga
presenta una introduzione al linguaggio Logo scritta per
alunni della scuola elementare. Il fuoco si concentra sui
nostri amici Logy e Morf, su come esplorano il computer e
imparano con Logo dentro e fuori la macchina.
Gli ultimi capitoli sono per chi vogliono di più dalla
Grande Avventura di Logo... a qualunque età. Essi
scavano in cose come la ricorsività, la geometria a
due o tre dimensioni, il trattamento di liste, la
simulazione, giochi e gare, ed altro ancora.
Cos'è Logo
La migliore descrizione di Logo è quella di una
filosofia educativa espressa attraverso una serie di
linguaggi informatici che si evolvono. MSW Logo per Windows
è tra le più recenti "versioni". Sviluppata da
George Mills, si basa sul UCB Logo sviluppato da Brian
Harvey, un vecchio estimatore e promotore di Logo.
Logo è un linguaggio interattivo per studenti di ogni
età. Ha preso in prestito le tecniche della
computazione simbolica... la manipolazione di parole ed
idee... dal linguaggio di programmazione LISP. Tali tecniche
sono state combinate con altre potenti idee come l'uso di
procedure, ricorsività, e la manipolazione di
programmi come premesse per fornire un ambiente
d'apprendimento interattivo originale.
Non fraintendetemi! Questo non è un libro di
"alfabetizzazione informatica", qualunque essa sia la sua
definizione corrente e politicamente corretta. E a maggior
ragione non è un libro scritto in computerese.
Riguarda l'autoalfabetizzazione. È un libro su giovani
di tutte le età che utilizzano il computer e il
linguaggio Logo come strumenti di auto-scoperta.
Giovani dai 2 ai 102 anni cominciano controllando i movimenti
di una tartaruga cibernetica. Tali azioni permettono loro di
"vedere" cosa essi pensano. Quando la sequenza dei pensieri
non fa compiere alla tartaruga quello che essi volevano, la
natura descrittiva di Logo permette loro di ripercorrere
facilmente i loro pensieri o di dirigerli in una nuova
direzione.
Attività multidimensionali e multi sensoriali compiute
dentro e fuori il computer aiutano i giovani a migliorare la
perspicacia di come fare affinché le cose accadano nel
mondo reale, a tre dimensioni. Lungo il percorso, entreranno
in contatto con alcune idee potenti, riguardo
l'organizzazione, l'analisi e la manipolazione delle
idee.
PIANTANDO QUALCHE SEME
Come i giardinieri, piantiamo alcuni semi in queste pagine.
Siete voi che dovete alimentare queste idee, nutrirle per
farle crescere. Siate pazienti! Potreste essere tentati di
trascurare i dettagli.
Ricordate: più giovane è il discente, maggiore
è la sua dipendenza dall'imitazione e la ripetizione
per apprendere.
Così radunate i vostri ragazzi intorno al computer.
Coltivate la loro immaginazione. Concedetegli il tempo per
esplorare. E non sorprendetevi se alla fine sarete voi ad
essere stati coltivati.
"Perché non lasciare che un/a bambino/a esplorino per
proprio conto?"
C'è chi sostiene che ogni bambino deve usare un
proprio computer. Ma permettetemi di invitarvi a riflettere
su un antico proverbio dei Bamberra, popolazione del Mali,
paese castigato dalla siccità:
"Mogho Kelen Te Sira Be!"
Liberamente tradotto, dice che "una sola persona non
può fare un sentiero".
Per portare a termine un semplice incarico, i multipli
talenti di un gruppo che lavora insieme può essere
più produttivo che la capacità finita di un
individuo. Questo è il motivo per cui questo libro si
focalizza sulla famiglia e sulle attività da svolgere
in famiglia.
OK.... Pronti a partire?
Bene... è giunta l'ora di spassarsela con la Grande
Avventura di Logo!
RIGUARDO ALL'AUTORE
Jim Muller ha dimostrato in tutta la sua vita un grande
interesse per tradurre l'alta tecnologia ad applicazioni
comprensibili, pratiche e divertenti... specialmente per i
giovani. Cominciò a lavorare con il Logo nel 1979 come
responsabile delle relazioni pubbliche della Texas
Instruments Incorporated. Essi lanciarono al mercato la prima
offerta commerciale di Logo nell'aprile 1981.
Sempre nell'81, Muller e suo figlio organizzarono il primo
gruppo di utenti di Logo. Quello che iniziò come un
gruppo di scolari di otto anni che giocava con il Logo TI
intorno al tavolo da ping pong nel garage dei Muller, crebbe
e diventò la Young People's Logo Association, Inc
(YPLA). Organizzata da e per tutti i giovani del mondo,
l'associazione rapidamente arrivò a contare 6000
membri in 42 paesi. Nel 1985 la YPLA aderì a
CompuServe come Logo Forum, ed è tuttora attiva.
Oltre al bollettino mensile, la YPLA ha pubblicato i seguenti
libri:
1,2,3 My Computer and me
The Turtle's Sourcebook
The Turtle's Discovery Book
The Misadventures of Mrtle
The Logo Library
Learning Logo On and Off the Computer
e il seguente software interattivo:
Logo Island Adventures
Voyages of the Turtle Shell
Escape from Logo Castle
Oggi il Logo Forum offre prodotti dei maggiori studiosi di
Logo, 16 biblioteche aperte al pubblico e software di Logo
gratuito, attrezzatura informatica per Logo, progetti,
dimostrazioni, tutoria ...e la discussione tra circa 3000
Fan(atici) di Logo sparsi per il mondo.
RINGRAZIAMENTI
Ce ne sarebbero un sacco! Ci sono mio figlio, Larry, e i suoi
amici.
Senza la loro curiosità e il loro entusiasmo non
sarebbe mai esistita la YPLA.
Ci sono tutti i giovani che da tutto il mondo hanno condiviso
con noi la loro personale Avventura con Logo. Alcune di tali
avventure sono riportate in questo libro.
Senza George Mills e il suo sviluppo di MSWLogo, Logy e Morf
starebbero ancora pasticciando nel loro microcosmo
cibernetico.
C'è Jack Kishpaugh, un ispirato quadriplegico con una
personalità straordinariamente trascinante a cui sono
dedicati i libri della YPLA. Ci ha insegnato il significato e
il valore di non dire mai "Mai".
C'è infine Charles Micha, l'illustratore che ha fatto
in modo che la Grande Avventura di Logo prendesse vita
attraverso i suoi personaggi.
E naturalmente c'è Audrey Muller che è
sopravvissuta all'invasione di Tartarughe androidi e ha
potuto gestirla per mantenere la stabilità in tutti
questi anni. Una famosa citazione dice che:
"Chi possiede immaginazione senza cultura ha ali, ma non ha
gambe."
Audrey è stata come una maestra... fornendo la
stabilità su cui potevamo appoggiare i piedi
affinché le nostre menti potessero alzarsi in volo con
le aquile.
Ultimo, ma certamente non meno importante, un ringraziamento
speciale a molti insegnanti che hanno aiutato a sviluppare e
convalidare l'approccio del YPLA a Logo.
Più recentemente, ci sono Jenny Betts di Brisbane,
Australia, e Toby Epstein del Distretto scolastico di LaDue,
Saint Luis, Missouri.
Attraverso le nostre conversazioni su CompuServe, ho di nuovo
scoperto quanto può essere divertente l'insegnamento,
dentro e fuori il computer.
IL LOGO CHE PARLIAMO
Il Libro della Scoperta di Logo utilizza MSW Logo 6.4 nella
sua versione italiana. MSW Logo è stato sviluppato da
George Mills a partire da UCB Logo, sviluppato a sua volta da
Brian Harvey all'Università della California di
Berkeley. MSW Logo 6.4 è stato tradotto da Paolo
Passaro in collaborazione con Enzo Cortesi che sta ultimando
la documentazione. Quantunque MSW Logo sia un software
sottoposto a copyright può essere copiato e
distribuito. Comunque non può essere venduto. Le
procedure Logo contenute in questo libro sono di pubblico
dominio. Sono un contributo al Logo Forum da parte di autori
o giovani di tutto il mondo. Sentitevi liberi di copiarle,
cambiarle e regalare copie a chiunque vogliate.
Che dire delle altre versioni di Logo? Posso usarle
con questo libro?
Sì....
ma ci sono alcune differenze. Tenete il
vostro
manuale di Logo a portata di mano per aiutarvi
a decidere i cambi necessari.
Qualche domanda?
Contattare l'autore su CompuServe al 76703,3005 o via posta
elettronica al 76703.3005@ compuserve.com.
Parte 1. La
Tartaruga e la Lepre... Una Fiaba di Logo
C'era una volta una tartaruga che si muoveva molto
lentamente. Alla tartaruga piaceva questa vita lenta e
semplice. La divertiva guardare i passeri, gli alberi e i
fiori.
Restava un sacco di tempo per imparare da ogni nuova cosa che
vedeva o che s'immaginava.
C'era la stessa volta una lepre che amava saltare e zompare.
La lepre stava sempre a prendere in giro la tartaruga per il
suo procedere lento e posato. Ma la tartaruga non le
rispondeva mai. Restava a pensare agli affari suoi, godendosi
ogni nuova vista e suono.
Un giorno la lepre canzonò una volta di troppo la
tartaruga. "Lepre," le disse questa, "ti sfido a una gara di
corsa. Chi raggiungerà l'altro lato del bosco
sarà il vincitore."

La lepre rise tanto da cadere a terra.
Si prese le zampe e cominciò a rotolare tutt'intorno.
Comunque, la lepre accettò la sfida e la corsa
iniziò.

La tartaruga si mise in marcia col suo andamento lento e
posato, ...un passo...un passo... un passo... senza
accelerare, senza rallentare.
La lepre balzò e zompò tutt'intorno. Fece
persino delle capriole intorno alla tartaruga e quindi
schizzò via per divertirsi un po' prima di arrivare
all'altro lato del bosco.
Si fermò addirittura a fare un sonnellino. Sapeva che
le restava un sacco di tempo prima che la tartaruga potesse
raggiungerla. Scommetto che sapete già come
finì. Forse qualcuno vi ha letto la storia della lepre
e la tartaruga. La tartaruga vinse e la lepre ne uscì
pazza. Non sfidò mai più la tartaruga ad
un'altra corsa.

Scommetto che credete che la storia sia finita qui. Non
proprio...
C'era una volta successiva... alcuni anni dopo gli
accadimenti narrati...una tartaruga che viveva vicino al
bosco. Questa tartaruga era una lontana cugina di un
bis-bis-bis discendente della famosa tartaruga. La tartaruga
aveva per amico un coniglio, distante cugino del bis-bis-bis
discendente della famosa lepre.

Un giorno la tartaruga e il coniglio ebbero entrambi in dono
un computer e Logo. Furono entrambi molto felici e non
vedevano il tempo di provare cosa sapevano fare col loro
nuovo regalo.
La tartaruga aprì il manuale di Logo e cominciò
a leggerlo una pagina alla volta.
Il coniglio aprì il manuale di Logo e saltò il
primo capitolo. Sembrava troppo facile.
Voleva trovare "roba buona". Saltò e zompò per
ogni dove. Quando diede un'occhiata alla tartaruga, stava
ancora leggendo il capitolo 1.
"Ehi, questo è una cosa da ragazzi. Guarda
quest'altro!."

La tartaruga avrebbe voluto dare retta al coniglio, ma se la
stava spassando un mondo con le proprie cose. Sapeva che
presto sarebbe stata capace di fare quelle cose che il
coniglio stava copiando dal manuale.
Passò il tempo... e il coniglio stava ancora
saltellando da un argomento all'altro. Nel frattempo la
tartaruga aveva finito il capitolo 2.
Passò dell'altro tempo e il coniglio posò di
nuovo l'occhio su quanto stava facendo la tartaruga. Aveva
intenzione di canzonarla per la lentezza con cui stava
leggendo il libro, quando s'arrestò.
"Ehi! Come lo fai? Questo non c'è sul libro," disse il
coniglio.
La tartaruga gli spiegò lentamente, passo a passo,
come aveva fatto a comporre la bella immagine che c'era sullo
schermo. Ma il coniglio era ancora sconcertato.
"Sì, coniglio, questo non viene sul libro. L'ho
inventato a partire da quanto ho letto nei primi
capitoli."
"Ma come sapevi cosa fare?" chiese il coniglio.
"Ma come, non eri tutto quello che sapeva tutto sui computer
e su Logo?", rise la tartaruga mentre girava la pagina.

"Logo è più divertente quando parti da quello
che sai e scopri nuove cose nel procedere."
"Logo non è qualcosa da fare col computer. È
davvero qualcosa che serve a esplorare nuove idee... a
scoprire modi nuovi di fare le cose."
"Se vorrò imparare cose, andrò a scuola," disse
il coniglio, "che è quello a cui le scuole
servono!"
"Anche il computer e Logo servono ad imparare cose," rispose
la tartaruga, "sono strumenti, come la carta e la
penna":
"Dimmi una cosa, coniglio. Quando a scuola sbagli un
esercizio di ortografia, rimproveri il tuo libro
d'ortografia? Rimproveri carta e penna?" chiese la
tartaruga.
"Questa è una fesseria. Il libro non fa l'esercizio. E
carta e penna non farebbero nulla senza di me. Se faccio un
errore, è colpa mia. E se faccio bene sono io che
merito la medaglia d'oro!"
"Se la maestra ti chiede di scrivere una storia, la copi da
un libro? O usi le parole che hai imparato a scrivere per
scrivere una storia di tua invenzione?"
"Scrivo una storia di mia invenzione, è chiaro!"
rispose il coniglio.
"Bene, coniglio, perché il computer e Logo dovrebbero
essere qualcosa di diverso. Logo è il linguaggio che
usi ... proprio come l'italiano. La tastiera è la tua
penna e lo schermo il tuo foglio di carta. Allora,
perché non provi a vedere cosa sei capace di farne...
di tua testa."
Il povero coniglio si sentiva imbarazzato a sufficienza per
quel giorno.
Era anche adirato con se stesso per essere stato così
tonto.
"I computer non sono così intelligenti," pensò
il coniglio, "dovrò insegnargli quello che voglio che
faccia."
Così il coniglio si sedette di nuovo col suo manuale e
cominciò a leggerlo. Ben presto fu in grado di fare i
propri progetti, non le cose che il libro gli aveva detto di
fare. Certamente, fece errori. ma scoprì che è
lì che incomincia il divertimento.

Quando finalmente ottenne le procedure per realizzare quanto
aveva progettato fece un paio di capriole intorno alla
tartaruga.
"Vieni a vedere! Vieni a vedere!" gridò eccitatissimo
e corse di nuovo al suo computer.
"Sì, questo è il modo," disse la
tartaruga.
"Comincio a capire cosa volevi dire," disse Morf agiatamente,
"Ma tu come hai fatto a capire tutto così in
fretta?"
"Coniglio," rispose la tartaruga, "devo essere onesta con te.
Vedi quel triangolino sullo schermo?"
"Certo, è la tartaruga."
"Sì, ed è anche mia cugina, Ernestina. È
lei che fa succedere ogni cosa."
"È il caso di dire che la cosa resta in
famiglia."
PER USARE QUESTO LIBRO
Quando cominciammo a lavorare con Logo pensammo molto alla
lepre e alla tartaruga. La tartaruga è un po' lenta.
Ma, ricordate, lei vince la corsa.
Sei un principiante?
La Parte 1 di questo libro è scritta per te. Prenditi
il tempo necessario.
Esplora questi capitoli e scopri Logo... un passo alla volta.
Questi capitoli servono alle giovani tartarughe perché
vadano esplorando. le tartarughe più vecchie possono
attraversarli versarli un po' più rapidamente.
Parti da quello che sai, Aggiungi pezzetti e frammenti fino a
quando riesci a fare quanto vuoi fare. Se ti sembra che ci
voglia un sacco... non preoccuparti, tu puoi farcela.
Prenditi tutto il tempo che ti serve. I tuoi amici ti
aiuteranno.
Se qualche volta vuoi fare come il coniglio, va bene. Se vuoi
saltare qualche parte del libro, non importa. potrai sempre
tornarvi dopo. Dipende da te.

La tartaruga e il coniglio hanno scelto ciascuno il loro
cammino per scoprire Logo, ma non si sono fermati alle cose
che stanno sul libro. Lungo il cammino hanno costruito i loro
propri disegni, puzzle, giochi e musica. E quando sono infine
arrivati al termine, videro quel che potevano fare.
Di fatto, stavano per scrivere il prossimo libro. Aspetta e
vedrai.
Capitolo 1.
Pronti per partire
“Hey, Logy, cosa fai?”
“Cosa pensi stia facendo? Pulisco la
finestra.”
“Lascia stare la finestra. Dobbiamo giocare con
Logo!”
“Morf, non mi piacciono le finestre sporche, che siano
della casa o del calcolatore. Se dobbiamo imparare cose nuove
con Logo, facciamolo con una finestra pulita!”
“Logy, lo sapevi che Ernestina ha portato tutta la sua
famiglia, più di 1.000 tartarughe?”
“Sì, sì ..”
“Non vedo l’ora di incominciare”
INSTALLIAMO LOGO
In questa sezione Logy ti spiega come installare MSW Logo
italiano – lo chiameremo normalmente solo Logo –
su un personal computer con sistema operativo
MS–Windows.
Segui – magari con l’aiuto di un adulto –
questi tre semplici passaggi:
Scarica il file LogoIt.exe da questo sito web:
http://www.racine.ra.it/curba/links.htm.
Già che ci sei, scarica anche il manuale tradotto in
italiano da Enzo Cortesi (LogoIt64_3doc.exe).
Copia il file LogoIt.exe alla radice del disco fisso
del tuo calcolatore (probabilmente C:\>).
Scompatta il file (un modo è questo: dal prompt
C:\> batti LogoIt.exe seguito da un
invio).
Se tutto è andato bene Logo è ora installato
sul tuo calcolatore.
AVVIAMO LOGO
Fai un
doppio click – cioè premi due
volte velocemente il tasto sinistro del mouse –
sull'icona di Logo sul desktop. Dovrebbe comparire una figura
simile a quella riportata qui di seguito.
PARTI DELLO SCHERMO

Eccoti
Ernestina, seduta proprio nel mezzo del suo
territorio. Ernestina assomiglia alla punta di una freccia,
ma in realtà è una tartaruga che può
fare quasi tutto quello che tu le chiedi di fare. Se non ti
capisce, te lo dirà.
Diamo ora un'occhiata al resto dello schermo di Logo.
Assomiglia a molti schermi di Windows.
In alto c'è la
Barra del titolo. Ti dirà
quale finestra stai aprendo.
La
Barra dei menù è appena sotto la
barra del titolo. Contiene il nome dei menù che
descriveremo tra poco.
Sotto il territorio c'è la
Finestra dei
comandi. È il luogo in cui si decide
l'azione.
Un grosso spazio nella finestra dei comandi è preso
dall’
Elenco dei comandi.
In questa
scatola si conserva l'archivio di tutto quanto sta
succedendo. Se qualcosa va male, vi potrai leggere un
messaggio.
Sotto la finestra dei comandi c'è la
Linea degli
invii. È dove scrivi i tuoi ordini.
Alla destrac'è un gruppo di bottoni che permettono di
fare più facilmente una serie di cose.
BOTTONI DEI COMANDI
Morf ama bottoni e aggeggi. Per cui eccovi un elenco di
Bottoni dei Comandi. Ci ritorneremo sopra più avanti,
mentre andremo avanzando.
Alt: ferma ogni azione di Logo. Fa la stessa cosa del
comando Logo ALT.
Traccia: attiva il comando TRACCIA. Ricliccando si
attiva il comando opposto NO TRACCIA.
Pausa: Logo si blocca temporaneamente e attende il
comando CONTINUA.
Stato: apre una finestra che ti dice quel che sta
succedendo.
Passo: indica a Logo di non permettere l'utilizzo di
altri programmi mentre Logo sta funzionando.
Reimposta: funziona come il comando PULISCISCHERMO
(PS), ripristina e pulisce lo schermo.
Esegui: è come schiacciare il tasto INVIO, dice
alla tartaruga di eseguire la procedura.
FINESTRA DEI COMANDI
La finestra dei comandi è separata dalla finestra di
MSW Logo. Ciò significa che la puoi spostare,
rimpicciolirla o ingrandirla o trasformarla in una piccola
icona. Lavoreremo molto con questa finestra, così che
se vuoi impratichirti un poco, avanti!
1. Fai un click sulla barra del titolo dove leggi la parola
Finestra comandi. La barra del titolo avrà cambiato
colore.
2. Tieni schiacciato il tasto sinistro del mouse. Trascina la
finestra dei comandi per lo schermo. La finestra dei comandi
segue i movimenti del mouse.
3. Ricolloca la finestra dei comandi dov'era e lascia il
bottone del mouse.
I MENÙ DI LOGO
Ci sono cinque menù nella barra dei menù. Sai
cos'è un menù, vero? Tu fai un click sulla
parola e appare una lista di scelte.
File: ti fornisce una lista di cose che puoi fare con
le tue procedure.
Nuovo: Serve per cancellare tutte le procedure
caricate in memoria.
Apri: fai un click e appare un nuovo menù in
cui puoi selezionare un file che contiene le procedure da
caricare
.
Salva: salva le procedure che hai creato.
Salva con nome: fai un click e appare un nuovo
menù in cui puoi scrivere il nome di un file che
conterrà le procedure salvate.
Modifica: fai un click e appare un nuovo menù
in cui puoi selezionare una procedura da modificare. Puoi
anche modificarle tutte.
Cancella: fai un click e appare un nuovo menù
in cui puoi selezionare una procedura da cancellare. Puoi
anche cancellarle tutte.
Esci: fai un click per uscire da Logo.
Disegno: comandi per aprire, salvare e stampare le
immagini che hai disegnato.
Nuovo: Cancella lo schermo.
Apri: fai un click e appare un nuovo menù in
cui puoi selezionare un file che contiene l’immagine
salvata in precedenza
.
Salva: salva l’immagine che hai creato.
Salva con nome: fai un click e appare un nuovo
menù in cui puoi scrivere il nome di un file che
conterrà l’immagine salvata.
Stampa: stampa l’immagine che hai creato.
Imposta stampante: seleziona la stampante e le
caratteristiche della stampa.
Area attiva: permette di selezionare l'area di lavoro
da stampare o da salvare.
Opzioni: questo menù ti permette di cambiare le
dimensioni ed i colori della penna, quelli dello schermo, le
dimensioni ed il tipo dei caratteri utilizzati da Logo.
Zoom: puoi ingrandire o rimpicciolire i disegni
.
Aiuto: se hai bisogno di chiedere istruzioni su come
fare qualcosa in Logo, puoi fare un click sul comando Aiuto.
Il menù d'aiuto ti offre alcune scelte:
Indice: fai un click per avere una lista dei capitoli
in cui è suddiviso il volume degli aiuti collegati a
Logo
.
MCI: serve a chi programma mezzi multimediali,
qualcosa che non affronteremo in questo libro
Uso dell’aiuto: è una sezione fantastica:
ti aiuterà se hai bisogno di una mano usando il
menù di Aiuto
. Non t'impressiona?
Tutorial: riporta all’indice...
Dimostrazione: provala
subito, illustra alcune
delle possibilità di utilizzo di Logo, ma soprattutto
è molto divertente...
Incontro con la
tartaruga

È ora di mettersi al lavoro!
Guardate nella linea degli invii. Se non vedete una linea
intermittente sulla parte sinistra, fate un click sulla linea
degli invii. La linea intermittente è il cursore. Si
muove ogniqualvolta scrivete qualcosa in una finestra, o nei
compartimenti di dialogo o di testo.
Ma probabilmente lo sapete già, perciò avanti
col divertimento!

Ernestina porta con sé una penna che usa per creare
ogni tipo di disegno colorato.
Ma ricordatevi: siete voi che dovete dirle esattamente cosa
fare.
Le direzioni della
tartaruga
Lei può andare:
AVANTI
INDIETRO
A SINISTRA
A DESTRA
Quando dite alla Tartaruga di muoversi, dovete indicarle
quanti passi da tartaruga
deve eseguire. Avanti,
provateci:
1) Battete
AVANTI
2) Schiacciate la
barra spaziatrice.
3) Battete un numero abbastanza grande...come
200 o
qualcosa del genere.

4) Perché la tartaruga vi dia retta dovete premere il
tasto
INVIO.
Se per sbaglio
schiacciate un tasto sbagliato e
terminate per compilare un messaggio come:
AVANTO 200, la tartaruga vi risponde:
Non so come fare AVANTO
Lei è sempre carina. Quindi ribattete i comandi, ma
senza più sbagliarvi.
Perché la tartaruga giri, ditele di girare a
DESTRA o a
SINISTRA.
Quindi, prima di dirle di quanti passi deve avanzare, avanti
o indietro, dovete dirle quanti giri da tartaruga deve
fare.
DESTRA _________________
Avanti! Battete un numero, non un numero microscopico, ma
abbastanza grande.
Cosa è successo? Che la tartaruga guarda in un'altra
direzione, vero?
Benissimo, ora fatela tornare indietro, che guardi nella
direzione di prima.
Battete:
SINISTRA ________________ e utilizzate lo
stesso numero di giri che avete scelto prima. Ricordatevi di
schiacciare il tasto INVIO.
Ora la tartaruga sta di nuovo guardando verso l'alto dello
schermo. Di quanto deve girare la tartaruga per guardare in
direzione contraria?
Quanto credete? Perché non vi segnate le vostre
risposte?
__________________________ è troppo _______________
(grande o piccolo?)
__________________________ è troppo
_______________
__________________________ è troppo
_______________
__________________________ è troppo
_______________
La
risposta giusta
è________________________________
Questa è la parte divertente di Logo. Provatevi a
scoprire ogni tipo di cose nuove da soli. Scoprirete che la
tartaruga deve ruotare di 90 giri di tartaruga per guardate
ai lati dello schermo.
Ora, rigirate la tartaruga verso l'alto. Cosa dovete scrivere
perché ciò avvenga?
Se avete risposto
SINISTRA 90 offritevi un doppio cono
di gelato!
Cosa dovreste fare perché la tartaruga guardi verso il
fondo dello schermo?
Bene, potreste dirle di girarsi verso il lato due volte,
vero?
DESTRA 90 DESTRA 90
Questo dovrebbe funzionare, vero?
Cosa succede de sommate 90 a 90?
Dite che torna 180? Morf dice di sì. Perché non
provate:
DESTRA 180
Fatto! La tartaruga guarda dalla parte opposta.
Così quando dirai alla tartaruga di andare
AVANTI o
INDIETRO, la tartaruga farà i
passi da tartaruga che voi le direte. Quando direte alla
tartaruga
DESTRA o
SINISTRA, girerà in
tale direzione il numero di giri da tartaruga che le
indicherete, ma non si muoverà.
Colta l'idea? Provate a fare qualche movimento da
soli:
AVANTI 100 DESTRA 90
AVANTI 100 DESTRA ________
INDIETRO________ DESTRA ________
INDIETRO________ SINISTRA________
SINISTRA_________ AVANTI_________.
Proprio così. Ora avete riempito lo schermo della
pista della tartaruga. Quello che scrivete la tartaruga fa.
Presto sarete capaci di dire alla tartaruga proprio quello
che vorrete che faccia.
Ma adesso vi tocca ancora qualche esercitazione
divertente.
PULENDO DOPO IL VOSTRO PASSAGGIO
A questo punto lo schermo sarà o una straordinaria
opera d'arte o un tremendo caos.
La cosa migliore sarà pulirlo bene. Per pulire lo
schermo, battete:
PULISCISCHERMO oppure la sua abbreviazione
PS.
Potete anche utilizzare il bottone
Reimposta, che
è uno dei comandi della zona dei bottoni.

Ogni cosa che era presente sullo schermo è stata
cancellata e la tartaruga è tornata a casa.
Per cancellare lo schermo lasciando la tartaruga nella stessa
posizione, battete
PULISCI .
Già, questa è la tana della tartaruga, proprio
nel bel mezzo dello schermo.
Così forse
TANA non assomiglia troppo al
disegno ma ne rende l'idea.
Quando dite alla tartaruga di andare alla
TANA, lei
tornerà al centro dello schermo, guardando verso
l'alto.
Ricordatevelo: userete moltissimo il comando
TANA.
La pista del coniglio
nº 1. Giochi della tartaruga fuori dal
computer
Avete mai giocato a STELLA STELLINA? Perché non
provare a fare questo gioco con i comandi Logo? Potreste
trovarvi un nuovo divertimento.
Errore. Il segnalibro non
è definito.
Stella stellina, quanti passi devo fare? AVANTI 5
Stella stellina, quanti passi devo fare? DESTRA 90
AVANTI 5
Per cambiare, prendete ad esempio la camminata della
tartaruga, che assomiglia moltissimo a questo gioco.
Può essere divertente giocarci a scuola o con la
vostra famiglia o gli amici.
Un giocatore è la tartaruga e l'altro è
l'utente del computer. L'idea è quella di dire alla
tartaruga come camminare per disegnare una lettera maiuscola
o una forma. Gli altri presenti devono indovinare cosa ha
disegnato la tartaruga.
La tartaruga inizia dal centro della stanza. L'operatore deve
dirle come muoversi. I comandi elencati qui sotto ve ne
daranno un'idea.
AVANTI 10 passi di tartaruga
(fate passi corti se siete in una stanza piccola)
DESTRA 150 giri di tartaruga
Vi ricordate come avete fatto a girare prima? Avete girato
DESTRA 90 per guardare verso un lato, poi DESTRA 180 per
guardare nella direzione opposta. 150 è più
vicino a 180 che a 90, così vi potete fare un'idea
correttamente approssimata di quanto girare. Vi verrà
proprio bene.
AVANTI 11 passi di tartaruga
SINISTRA 150 giri di tartaruga
Non c'è bisogno che vi rinfreschi la memoria, vero.
Scommetto che avete già capito in quale direzione vi
dirigerete.
AVANTI 10 passi di tartaruga.
Ora prova a battere queste istruzioni sul computer.
Naturalmente non dovrete scrivere "passi di tartaruga" o
"giri di tartaruga".
Che lettera ha questa forma? Come potete disegnarla
più grande sullo schermo?
Se fate in modo che la tartaruga tracci distanze 5 volte
più lunghe, sarà necessario che compia giri 5
volte più ampi?
NOTA BENE: le parole che battete...AVANTI, DESTRA, INDIETRO e
SINISTRA.... sono le primitive di Logo. Le primitive sono le
parole che indicano azioni che costituiscono i mattoni
fondamentali per costruire le procedure di Logo. Sono le cose
che MSW Logo può fare, Come vedrete più avanti,
le primitive sono procedure che la tartaruga segue per far
sì che accadano cose.

Facciamo degli esperimenti (Morf adora sperimentare).
Battete questo.
AVANTI 10 * 5
DESTRA 150
AVANTI 11 * 5
SINISTRA 150
AVANTI 10 * 5
(Il segno * dice alla tartaruga di moltiplicare il 10 volte 5
e avanzare di altrettanti passi di tartaruga. Imparerete
dell'altro sull'aritmetica di Logo più avanti. Se
volete darci una sbirciatina, va bene.)
Cosa è successo?
La forma è diventata più grande, ma assomiglia
ancora alla lettera N, vero? Così posso pensare che i
passi e i giri della tartaruga sono cose davvero
differenti!
Cambiando il numero di passi di tartaruga cambia la
dimensione dell'oggetto, ma ha ancora la stessa forma.
Cambiando i giri di tartaruga cambia la forma stessa.
Avanti.... cambiate il numero di giri di tartaruga.
Sostituite al 150 il 120.
Cosa succede se lo modifico a 180? Perché non provare
con 310?
Se provate a giocare con questi numeri, comincerete a capire
come fare perché la tartaruga faccia esattamente
quello che voi volete.
Ora... pensate un po' a questo. Cosa succede se trasformate *
5 in * 8? No, non fatelo sul computer. Disegnate il
cambiamento che credete comporti e
dopo verificate
sulla macchina se avevate ragione.
Non preoccupatevi se quanto avete disegnato assomiglia a
quanto tracciato dalla tartaruga. È il momento di
esplorare...scoprire cosa la tartaruga può fare con
questi quattro comandi: AVANTI, INDIETRO, DESTRA,
SINISTRA.
Continuate a provare.
Imparando la
stenografia della tartaruga
Ora che conoscete questi comandi e sapete cosa fanno,
rendiamo le cose più facili. Potete scrivere questi
comandi in modo abbreviato, così:
A sta per AVANTI
I sta per INDIETRO
D sta per DESTRA
S sta per SINISTRA
PS sta per PULISCISCHERMO
Colta l'idea?
Bene, proviamo un po'. Questa è una serie di comandi.
Alcuni sono già pronti. Riempite gli spazi e poi
battete sul computer una serie di comandi pensati da
voi.
A 100 D 120 A 60 I 30
S _____ A_____ D_____ I_____
LA PENNA DELLA TARTARUGA
Un po' di tempo fa abbiamo detto che la tartaruga disegna
continuamente. Ernestina tiene sempre la sua penna appoggiata
sullo schermo per disegnarvi.
Ma se volete muovere la tartaruga senza disegnare? Come
fare?
Ma certo...dovete dirle di tenere la penna alzata.
Provateci.
SULAPENNA oppure SU
A 100 D 90
PENNA ALZATA (SU) PENNA ABBASSATA (GIU)
Per dire alla tartaruga di iniziare a disegnare ditele di
tenere la penna giù.
PENNAGIU oppure GIU
A 50.
Semplice fino alla noia? O semplicemente noioso?
Non pensate di poter andarvene tanto facilmente. C'è
ancora dell'altro.
In Logo, la tartaruga può fare tre cose con la penna
in posizione abbassata: disegnare, cancellare e invertire
quanto già tracciato.
PENNADISEGNA
La tartaruga traccia linee
CANCEPENNA
La tartaruga cancella i suoi passi.
PENNAINVERSA
Questo comando mette
in ansia la tartaruga: se
c'è una linea sull suo
percorso, la cancella,
se non c'è la traccia.
Lavoriamo un po’ con questi comandi.
CANCELLARE
Avete scritto qualcosa che non avevate intenzione di
scrivere?
L'unica cosa da fare è tornare indietro e scrivere
sopra le cose che volete cambiare. Potete usare il
tasto
del tornare indietro, quello che ha una freccia che
guarda a sinistra. Ciò cancella quanto avevate scritto
una lettera alla volta. Battete quindi l'istruzione
corretta.
Oppure potete usare il
tasto dell'annullamento. Questo
tasto cancellerà quanto scritto come se vi muoveste
alla rovescia.
Avanti, provate e capirete la differenza.
Un altro modo di cancellare è trascinare il mouse
sull'istruzione da cambiare. Trascinare significa posare il
cursore sulla linea che volete cambiare, premere e mantenere
premuto il tasto sinistro del mouse. Trascinate il cursore
muovendo il mouse sulla parola da cambiare e quindi
rilasciare il bottone sinistro del mouse.
La parte selezionata avrà cambiato di colore.
Per cambiare quanto selezionato basta semplicemente iniziare
a scrivere. La parte evidenziata scomparirà.
Bene...sapete come cancellare cose che avete scritto, ma cosa
succede con quello che avete disegnato? Pensateci.

Avete appena terminato un gran disegno quando vi accorgete
che una linea è troppo lunga. Non volete ricominciare
da capo, volete solo cancellare quella linea.
Proviamoci. Disegnate questa forma:
A 50
D 120
A 50
D 120
A 60
Invece di cancellare l'intero disegno solo perché
l'ultima linea è troppo lunga, cambiate quello che sta
facendo la penna.
Siccome volete cancellare quest'ultima linea, muoveteci la
tartaruga sopra.
Battete questo:
CANCEPENNA oppure
CP
INDIETRO oppure
I 60

Cosa è successo? Attenzione adesso, come dobbiamo
proseguire?
Se avete risposto che la tartaruga deve riprendere a
disegnare, CONGRATULAZIONI!
Appuntatevi al petto una Stella d'Oro e offritevi un altro
doppio cono.
Per fare in modo che la penna torni a dipingere, dite alla
tartaruga:
PENNADISEGNA.
Bene, ed ora scrivete
A 50.
Cosa vedete ora? È più bello, non vi
sembra?
Provate questo: E ora quest'altro:
A 50 D 90
D 45 A 75
A 75 S 90
CP A 100
I 75 GIU
S 90 I 50
Qualche volta è divertente il semplice gioco di
muoversi sullo schermo e vedere quello che ne viene fuori.
Altre volte il divertimento è quello di disegnare
previamente su un foglio e poi riversarlo sullo
schermo.
Perché non provate a farlo?
La pista del coniglio
nº2. Costruiamo una tartaruga per la
matita
Eccovi un'idea per aiutarvi a fare una tartaruga che disegni
sulla carta. Costruiamo una tartaruga per la vostra matita.
Usate quella mostrata sotto o fatevene una da soli.

Per farvela da soli:
Con una matita, disegnate un uovo su un
foglio di carta pesante o di cartoncino.
Se siete a casa, mamma o papà vi potranno
aiutare a ricalcare un vero uovo. Ma state
attenti, non vogliamo un uovo sparso su
tutto il disegno.
Afferrate delicatamente l'uovo e quindi
seguitene il contorno con la matita, in modo
da disegnare una forma ovale. Sembra
proprio il guscio di una tartaruga, non è vero?
Ora inserite nel mezzo del guscio della tartaruga un piccolo
cerchio delle dimensioni approssimate della vostra matita.
Sulla parte superiore del guscio disegnate la testa della
tartaruga, quindi disegnatele le zampe di destra e poi quelle
di sinistra. Adesso siete pronti per ritagliare la vostra
tartaruga.
Ritagliatela accuratamente e fatela scivolare fino alla cima
della matita modo che possiate afferrarla sotto la tartaruga.
Se scivola troppo, fissatela con un pezzetto di nastro
adesivo.
C'è un intera squadra di tartarughe nella prossima
pagina se volete regalarne a qualche vostro amico. Fate una
copia della pagina o ritagliatela.
Siete pronti a partire? Siate certi che la tartaruga sia
rivolta verso il margine superiore del foglio. Date quindi
alla matita/tartaruga un comando come:
AVANTI 50

Quando volete che la matita/tartaruga giri, girate la vostra
matita, in modo che la tartaruga guardi nella direzione in
cui volete disegnare la prossima linea.
DESTRA 90
AVANTI 50
SINISTRA 90
AVANTI 50
Avete colto l'idea?
Quando volete ideare un disegno su un foglio, la
penna/tartaruga può aiutarvi a pensare quali movimenti
la tartaruga dovrà compiere sullo schermo.
Per aiutarvi ulteriormente, mentre state eseguendo il vostro
disegno sul foglio, fate una lista dei comandi che date alla
vostra matita. Poi potrete batterli sulla tastiera del
computer.
RIASSUMIAMO LE ISTRUZIONI
Sapete come dire alla tartaruga di andare AVANTI, INDIETRO,
SINISTRA e DESTRA .
Sapete dire alla tartaruga se disegnare con la penna alzata
(SULAPENNA o SU) o abbassata (PENNAGIU oppure GIU).
Ricordate cosa significa il comando TANA?
Cosa succede quando dite alla tartaruga PENNAINVERSA?
Che sapete di PULISCISCHERMO (PS)? E di PULISCI?
Bene. È giunto il tempo di continuare ad
esplorare!
La pista del coniglio
nº 3. Il baseball della tartaruga
A tutti piace il baseball!
Be', quasi a tutti.
In ogni modo, potrete scoprire che giocare a baseball con il
computer può essere molto divertente.
Incollate quattro etichette sullo schermo. Se non avete
etichette, usate del nastro adesivo. Non premete troppo:
volete che le etichette restino appiccicate, ma anche che si
possano poi facilmente staccare.
Potete portare la tartaruga in prima base in non più
di tre movimenti? Bene, siete in salvo.
Ora, in seconda base in tre movimenti o meno.
Quindi in terza base e infine alla casa/base.
Unitevi ad alcuni amici e provate a vedere chi riesce a
correre le basi in meno movimenti.
Per rendere il gioco più divertente, collocate le
etichette in punti diversi dello schermo.
Copiate la pagina seguente su un foglio trasparente e quindi
collocatela con del nastro adesivo sopra lo schermo.
Utilizzando questo disegno, non avrete bisogno delle
etichette.
IL FOOTBALL CON LOGO
Se non vi piace il baseball, perché non provate con il
football di Logo? Logo e Morf vivono vicino a Dallas, nel
Texas, la sede dei Dallas Cow-boys, e perciò sono dei
veri tifosi di football.
Eccovi come giocare al football con Logo.
Una squadra gioca all'attacco e l'altra in difesa. La squadra
che gioca in difesa deve piazzare sullo schermo undici
etichette per cercare di fermare l'attacco verso la linea di
meta.
Possono piazzarsi ovunque sullo schermo. L'unica condizione
è che tra le etichette ci sia spazio sufficiente
perché passi la tartaruga senza toccare nessun
difensore.
La difesa può anche disegnare i suoi giocatori con un
pennarello cancellabile su un foglio trasparente da incollare
allo schermo. Ricopiate la seguente pagina, se volete.
Quando chi attacca passa a difendere, è sufficiente
ridisegnare i giocatori nella posizione voluta.
L'attacco deve muovere la tartaruga dalla linea di fondo fino
alla meta avversaria, passando tra i difensori senza toccare
le etichette. Gli attaccanti hanno quattro possibilità
per raggiungere la meta. Se non ci riescono, devono passare
il pallone ai difensori che avranno ora l'opportunità
di marcare la meta.
Il football con Logo è molto divertente, specialmente
se vivete in una città con una grande squadra.
"Come è possibile avere i punti addizionali della
trasformazione, dopo aver fatto meta?"
"Bea, che ne dite di farvi da soli una regola che permetta la
trasformazione?"
FATEVI DA SOLI LE VOSTRE AVVENTURE
Bene, che ne dite di farvi da soli le vostre avventure?

Per darvi un'idea, perché non disegnate le lettere del
vostro nome? Date un'occhiata:
Ci sono moltissime cose che potete ideare, ci
scommetto.
Avanti, fate vedere cosa sapete fare!
Per imparare a
salutare
Quando volete uscire da Logo, battete: CIAO
A volte comparirà un messaggio chiedendovi se volete
davvero abbandonare Logo.
Cliccate su OK.
Non dimenticate di schiacciare INVIO dopo avere battuto il
comando. Questo è l'unico modo in cui la tartaruga
capisce cosa deve fare.
Potete anche aprire il MENU di FILE e cliccare su ESCI.
Comparirà un messaggio chiedendovi se volte davvero
salire da Logo.
Cliccate su OK.
Per scrivere un
vostro giornale personale
Se vi mettete ad esplorare attraverso Logo, potrete scoprire
ogni tipo di cosa. Ci sono spazi in questo libro per
scriverci delle cose, ma è un'ottima idea avere un
libro personale dove poter raccogliere le vostre proprie idee
e altre cose che volete ricordare.
Questo è il modo in cui Logy procede.
Capitolo 2.
Tracciare figure
Giochiamo tartarughe!
Potete usare la vostra Matita Tartaruga,
o voi stessi o qualcuno dei vostri amici.
Perché non provate in tutti e tre i modi?
La pista del coniglio nº 4. Geometria col
corpo
Sapete usare le dita per fare una figura che sembri un
quadrato? Non è facile ,vero?

Provate così....
Con un amico tenete le braccia in fuori. Riuscite a fare
meglio un quadrato adesso?
Mettete insieme un gruppo di amici e fate un grande
cerchio.
Ora fate un cerchio piccolissimo.
Che dovete fare per fare un triangolo?
Potete farlo da soli o avete bisogno dell'aiuto di
amici?
La tartaruga vi dà un'idea di come si fanno diverse
figure.
Esplorazione del quadrato
Iniziamo con una figura facile come.... un quadrato.
Sapete qual è la differenza tra un quadrato e un
triangolo? O un rettangolo?
Be': tutti i lati di un quadrato hanno la stessa
misura.
Dite alla tartaruga di andare alla TANA .... non nel
computer.... state ancora facendo geometria col corpo,
ricordate?
Immaginate che TANA sia in mezzo alla stanza o in mezzo al
vostro foglio, quali comandi dovete dare alla tartaruga per
tracciare un quadrato?
1. AVANTI............... PASSI DELLA TARTARUGA.
Volete fare un quadrato GRANDE o uno piccolo?
2. DESTRA....................... GIRI DELLA TARTARUGA.
Potete girare a sinistra se volete, ma quanti giri dovete
fare? 30? 67? 105? 298?
Questo l'avete già fatto quando parlavamo dei giri
della tartaruga, vi ricordate? Se non vi ricordate tornate
indietro e trovate di nuovo quel punto.
3. AVANTI...................... PASSI DELLA TARTARUGA.
Mettete lo stesso numero di passi che avete messo al punto
1.
4. DESTRA.............................. GIRI DELLA
TARTARUGA.
Quanti giri fate qui? Lo stesso numero che al punto 2?
5. AVANTI...................... PASSI DELLA TARTARUGA.
Questa volta dovreste già sapere quanti passi
fare.
6. DESTRA.............................. GIRI DELLA
TARTARUGA.
Quanti giri questa volta?
7. AVANTI..................... PASSI DELLA TARTARUGA.
8. DESTRA............................. GIRI DELLA
TARTARUGA.
Che avete scoperto sul quadrato?
Certo, i quattro lati devono essere della stessa lunghezza,
ma gli angoli? Devono avere la stessa ampiezza?
Perché?
Semplice. Se non hanno la stessa ampiezza, finirete di
prendere qualche strana direzione e non tornerete più
alla TANA.
Proviamo questo col computer.
Avviate Logo e digitate i comandi:
A ________ D ________ A ________ D ________
A ________ D ________ A ________ D ________
Bene! Tutti i lati e gli angoli sono uguali, ma che noia
battere gli stessi comandi tre o quattro volte. Ci deve
essere un modo più rapido!
RIPETERE I COMANDI.
Guardate tutti quei comandi. Capite che avete fatto?
Avete ripetuto i comandi A________ e D________ quattro volte.
Proviamo un nuovo comando....
RIPETI 4 [A 100 D 90]
Questo dice alla tartaruga di RIPETERE i comandi dentro alle
parentesi quattro volte. Le parentesi sono quadre [ ]. Nel
prossimo capitolo saprete più cose su queste
parentesi.
Proviamo a fare altri quadrati. Voi completate col numero di
passi. Il numero dei giri deve essere 90, vero?
RIPETI 4 [A_________D 90]
Fate un quadrato
grande!
Fate un
quadratino!
RIPETI 4 [A__________D 90]

Ora una cosa più difficile:
Tracciare un quadrato dentro un altro.
Dovete tracciare un quadrato grande, alzare la penna,
muoverla dentro il quadrato grande e tracciare un quadrato
piccolo.
Ho dimenticato un passaggio. Qual è?
Tracciate un quadrato grande, alzate la penna, portatela
dentro il quadrato grande e tracciate un quadrato piccolo.
Non potete tracciare un altro quadrato finché non
avete messo la penna giù, vero? Ok, basta con gli
scherzi. Mettete giù la penna e tracciate un quadrato
piccolo.
AVVENTURE CON I QUADRATI
Ci sono un sacco di cose che potete fare con i
quadrati.
Tracciate prima un quadrato piccolo e poi un quadrato grande
intorno al piccolo.
Tracciate un quadrato grande e poi collocate un quadrato
piccolo in suo angolo.

Tracciate un quadrato grande e poi mettetegli altri quadrati
sopra..... come se stessimo impilando delle scatole.
Che altro si può fare con le scatole?
"Guardate le figure sottostanti. Le sapete disegnare? Quali
somiglianze hanno? Quali differenze?"
"Che altre cose sapete disegnare?"

E per disegnare delle bandiere?
E un mulino?
Non dimenticate di appuntare le vostre idee, alcune di esse
vi possono servire più avanti.
La pista del coniglio
nº5. Un puzzle con Logo
Eccovi un rompicapo
Guardate questa figura
Sembrano quattro quadrati uniti insieme, vero?
Prendete delle cannucce o dei bastoncini e fate questa figura
su un tavolo. Ora togliete solo una cannuccia o un bastoncino
in modo che rimangano solo tre quadrati.
Riuscite a farlo?
Potete anche cercare di risolvere il problema disegnando la
figura sulla carta o col computer.
Più avanti, dopo che avrete imparato a scrivere
procedure, vi farò vedere come la tartaruga risolve il
problemino.
Avventure coi triangoli

Ora, pronti per affrontare un triangolo?
Qual è la differenza tra un quadrato e un
triangolo?
È vero: un triangolo ha tre lati e tre angoli.
Un quadrato ne ha quattro, quattro lati uguali e quattro
angoli uguali.
LAVORO CON GLI ANGOLI

C'è una parola nuova per voi: Angoli!
Tracciate una linea. Girate un numero qualsiasi di giri delle
tartaruga e tracciate un'altra linea.

Come per magia... c'è un angolo tra le linee, vero?. E
all'esterno? È anch'esso un angolo?
Certo! È un grande angolo che misura un mucchio di
giri di tartaruga!
Morf li chiama giri di tartaruga, altri li chiamano "gradi".
Dei gradi parleremo più avanti.
E il triangolo? Tutti i suoi lati e i suoi angoli devono
essere uguali o possono essere diversi?
Se dite che lati ed angoli possono essere diversi, guadagnate
un punto, ma c'è una cosa curiosa sui triangoli: se
tutti i lati SONO uguali, possono gli angoli essere
diversi?
Guadagnate un altro punto se dite no!
Ma come fate a saperlo? Se tutti i lati sono uguali,
perché gli angoli devono essere uguali?
Prendiamo in esame dei triangoli e vediamo se riusciamo a
capirlo.
Riprendiamo l'MSW Logo da dove l'abbiamo lasciato coi
quadrati
A 100
D 90
A 100
O K! Ora sullo schermo avete due lati ed un angolo.
Quell'angolo ha un nome speciale: ANGOLO RETTO.
angolo retto 90 giri della tartaruga

90º (Un angolo retto)
Quando si parla di gradi si usa come simbolo º
Si parlerà ancora di angoli e gradi più avanti.
Ora torniamo ai triangoli."
Un triangolo ha tre lati e tre angoli, perciò facciamo
l'angolo in un triangolo.
Un modo facile è digitare TANA
Ecco un triangolo, tre lati e tre angoli.
Sappiamo che due dei lati sono uguali perché avete
digitato
A 100 due volte, vero?
Guardate l'angolo in basso vicino a TANA e confrontatelo con
quello a destra in alto.
Sembrano uguali? Sono uguali a quello che avete fatto quando
avete digitato D 90?

Con la tartaruga in TANA, digita:
D 90 A 100
Sembrano i tre lati di un quadrato.
Quali ordini ci vogliono per terminare il quadrato?
DESTRA 90 vi manda nella direzione sbagliata, perciò
provate:
S 90 A 100
Ora dovreste essere all'angolo superiore destro di un
quadrato che è composto di due triangoli, vero?
Per vedere meglio il vostro disegno, proviamo un nuovo
comando.
Digitate NASTARTA (NASCONDI LA TARTARUGA) e schiacciate
INVIO.
Ernestina sparisce! Si può abbreviare NASTARTA con
NT

Ora digitate TANA.
Quale pensate sia il comando per rivedere la tartaruga?
Certo: MOSTRATARTA (MOSTRA LA TARTARUGA).
MOSTRATARTA MT NASTARTA NT
OK, la tartaruga torna a casa e ci sono due triangoli ed un
quadrato sullo schermo.
Guardate gli angoli in HOME, Confrontateli con gli angoli
dell'angolo superiore destro del quadrato. Vi sembrano tutti
e quattro uguali?

Avete ragione, sono uguali. Controlliamo.
Digitate PS per pulire lo schermo e portate la tartaruga
nella TANA, poi digitate:
RIPETI 4 [A 100 D 90] per disegnare un quadrato
Ora girate a destra: D 45 e avanzate: A 200. Che è
successo? La tartaruga ha tracciato un riga proprio in mezzo
all'angolo superiore destro.
Ora digitate TANA e poi
RIPETI 2 [A 100 D 90]
Questo vi porterà sull'angolo superiore destro del
quadrato con la tartaruga che guarda verso il fondo dello
schermo.
Di nuovo girate a destra: D 45 e andate avanti: A 200 come
avete fatto prima. Che cosa è successo?
Lo stesso, vero? Solo che questa volta la tartaruga ha
tracciato una riga in mezzo all'angolo in basso a
sinistra.
Pensate che si possa trovare una regola per questo?
Io penso di sì. Mi sembra che quando un triangolo ha
due lati uguali, ha anche due angoli uguali.
Nell'esempio di prima avete girato a destra (D 45) due volte,
vero?
Per essere sicuri proviamo con un altro triangolo. Pulite lo
schermo e poi digitate:
A 100 D____________________ A 100 TANA
Inserite il valore che volete. Vedete sullo schermo i due
lati uguali e due angoli uguali?
Provate ancora.
Usate valori diversi per far ruotare la tartaruga:
A 100 D____________________ A 100 TANA
A 100 D____________________ A 100 TANA
A 100 D____________________ A 100 TANA
Sembra che funzioni, vero?
Notate qualcos'altro sui vostri triangoli?
Prima siete avanzati: A 100, poi avete girato a destra:
D...... e siete di nuovo avanzati: A 100 e questo ha creato
gli angoli A e B. Quando siete andati in TANA avete tracciato
gli angoli C e D, vero?
Adesso proviamo questo. Digitate:
A 100 D 60 A 100 TANA
Adesso digitate:
D 60/2 A 200.
L'angolo C è metà dell'angolo A. E l'angolo
D?
Digitate:
A 100 D ............... A 100 (inserite al posto dei puntini
un valore)
Ora digitate: D 180 ............ Inserite al posto dei
puntini lo stesso valore di prima.
Che è successo? La tartaruga sta guardando verso il
fondo dello schermo?
Mmmmmm.....La cosa si fa interessante. Ora digitate:
D........../2 A 200, inserendo al posto dei puntini lo
stesso valore di prima, dividetelo per due e avanzate di 200.
Cosa è successo?
State scoprendo tutto quanto sui triangoli!
Date uno sguardo al triangolo disegnato sulla pagina
precedente, quello con gli angoli A, B, C e D. Che sapete
ora?
Angoli A + B = 180
Angoli C + D = Angolo A
Angolo C = Angolo D
Se tutto ciò è vero, allora:
Angoli B + C + D = 180.
Perciò,
la somma degli angoli di un triangolo
è di 180, ma prima di proseguire, provate
questo:
A 100 D 120 A 100 TANA
Notate qualcosa di differente in questo triangolo?
Controlliamo. Digitate:
D 60 A 100
Che è successo? Dov'è la tartaruga? Sembra che
tutti e tre i lati siano uguali ora, vero? E se i lati sono
uguali, come sono gli angoli?
Be', questo è facile: ciò che dovete fare
è usare il comando RIPETI per disegnare tre lati e tre
angoli.
RIPETI 3 [A100 D 120]
Funziona! e per esserne completamente sicuri, torniamo al
triangolo con due lati uguali. Pulite lo schermo e
digitate:
A 100 D 90 A 100 TANA
Ora controlliamo quest'ultima riga.
Giriamo a destra (D 45) e andiamo avanti (A 100); vi riporta
all'altro angolo?
No, non proprio. Sembra che abbiate dimostrato qualcosa sui
triangoli:
1. Se avete tre lati uguali, avrete tre angoli uguali.
2. Se avete due lati uguali, avrete due angoli uguali.
3. Se non avete lati uguali nessuno degli angoli sarà
uguale.
4. La somma dei tre angoli di un triangolo è 180
º.

Sembra che Logy si sia un po’ in difficoltà
nell’esplorazione dei triangoli. E voi?
Che ne dite di una clessidra?
La pista del coniglio
nº 6. Altri puzzle con Logo
Eccovi ancora dei rompicapo di Logo da fare con carta e
matita.
Disegnate ciascuna delle seguenti figure senza ripassare le
linee e senza alzare la matita dalla carta.
Più avanti troverete procedure di Logo che
risolveranno per voi i rompicapo.
Avventure coi rettangoli
A proposito di regole, quali sono quelle dei quadrati e dei
rettangoli?
Sappiamo che un quadrato ha quattro lati uguali e, dato che i
quattro lati sono uguali, anche i quattro angoli sono
uguali.
Qual è la differenza tra un quadrato e un rettangolo?
Sono differenti? Sono confuso.
"Morf, sembra che tu ti trovi in una scatola o che la scatola
sia dentro di te!"
Cerchiamo di capire questo punto.
Per iniziare, disegniamo dei rettangoli. Voi dovete
completare le istruzioni.
Rettangolo #1 Rettangolo #2
LATO 1: A............... D.............. A............
D.................
LATO 2: A............... D.............. A............
D.................
LATO 3: A............... D............. A............
D.................
LATO 4: A............... D.............. A............
D.................
Che regole scoprite quando cercate di disegnare un
rettangolo?
Potete disegnare un rettangolo con i quattro lati di
lunghezze diverse? No, vero?

Potete disegnare un rettangolo con solo due lati uguali e gli
altri due disuguali? Neanche, vero?
E questa lavagna? È un rettangolo?
Potete disegnare un rettangolo con i lati uguali a due a due,
con due lati di 100 e due di 200?
Sì, questo sì.
Che vi dice questo a proposito degli angoli?
Devono essere tutti da 90 giri o di 90 gradi proprio come il
quadrato.
Proviamo ad ammucchiare dei rettangoli.
RIPETI 2 [A............ D 90 A.............. D 90]
RIPETI 2 [A............ D 90 A.............. D 90]
RIPETI 2 [A............ D 90 A.............. D 90]
RIPETI 2 [A............ D 90 A.............. D 90]
RIPETI 2 [A............ D 90 A.............. D 90]
Cosa succede se il numero di passi di cui deve avanzare la
tartaruga è lo stesso nelle due serie di puntini?
Avete ottenuto un quadrato!
REGOLE DEL RETTANGOLO
Ora supponiamo che sappiate dedurre alcune regole dei
rettangoli e dei quadrati:
1. Un rettangolo deve avere quattro angoli uguali e quattro
lati.
2. Un quadrato è un rettangolo con quattro lati uguali
e quattro angoli uguali.
3. Un rettangolo ha due paia di lati uguali.
Ancora una cosa: qual è la somma degli angoli di un
rettangolo?
Terribilmente semplice o semplicemente terribile?
La pista del coniglio
nº 7. Disegni di Logy
Bene, quanto segue vi dà la possibilità di
usare i comandi per realizzare delle figure.
Pensate a tutte le cose che sapete fare ora: sapete muovere
Ernestina sullo schermo, disegnare quadrati, rettangoli e
triangoli usando il comando RIPETI.
Perché non mettete tutto insieme in un grande,
fantastico, magnifico
disegno.
Cominciamo con uno che utilizza il quadrato:
RIPETI 12 [RIPETI 4 [A 100 D 90] D 30]
Aggiungete un gambo e sembrerà un fiore, vero?
RIPETI 6 [A 100 RIPETI 6 [A 10 I 10 D 60] I 100 D 60]
A che assomiglia?
RIPETI 6 [A 100 RIPETI 60 [A 20 I 20 D 6] D 60]
Abbiamo ottenuto delle belle figure, ma perché non
proviamo con figure strane per sapere cosa sa fare la
tartaruga?
RIPETI 12 [A............ D............
I.............S............]
SULLA CARTA
Escogitare disegni può essere difficile, e allora
perché non proviamo a disegnarli su un foglio di
carta?
Fate un disegno usando solo una figura geometrica.
Nelle pagine precedenti di questo capitolo avete già
visto una scavatrice composta di quadrati.
Ora, cosa sapete fare con rettangoli o triangoli?
Una ragazza in terza elementare ha disegnato un gatto fatto
di triangoli, poi l'ha passato al computer così ha
potuto stamparlo e mostrarlo alla sua famiglia.

Pensate a cosa sapete fare con una sola figura.
RIPASSIAMO
1) Un quadrato ha....................... lati e
.......................... angoli tutti
......................................
2) Un triangolo ha....................... lati e
.......................... angoli .
3) Un rettangolo ha....................... lati e
.......................... angoli tutti
......................................
4) Per fare l'angolo di un quadrato, dovete girare
........................... giri della tartaruga.
5) Per fare l'angolo di un triangolo equilatero, dovete fare
...........................giri della tartaruga.
6) Se sommate tutti gli angoli di un quadrato ottenete:
............+............+............+............=...........
7) Se sommate gli angoli di un triangolo ottenete:
............+............+............=...........
8) Se sommate tutti gli angoli di un rettangolo ottenete:
............+............+............+...........=...........
(È la stessa somma del quadrato e l'avevate
già scoperto, vero?)
9) Con i comandi RIPETI, SU e GIU potete disegnare una linea
tratteggiata, in questo modo:
RIPETI 20 [A 5 SU A 5 GIU]
Alla fine, a) Di quanti trattini sarà composta la
linea?..........................................
b) La penna sarà su o
giù?.................................................................
c) É più lungo ciascun trattino o lo spazio
che li separa?.......................
10) Se i comandi RIPETI 3 [A 100 D 120] generano un
triangolo, quali comandi dovremo utilizzare per disegnare un
esagono (poligono di 6 lati)?
Ora, riguardate le vostre risposte: notate qualcosa di
strano?
Vedremo più avanti. Abbiamo ancora molto da imparare
sulle figure.
La pista del coniglio
nº 8. Orologi, noci e altre cose
Avete bisogno di un aiuto per capire angoli, gradi,
ecc.?
Be', eccovi delle idee.
L'OROLOGIO DELLA TARTARUGA.
Cominciamo con un orologio. Se sapete leggere l'ora, potete
capire angoli e gradi.
Vi servirà l'aiuto degli amici o dei compagni, ci
vorranno anche una stanza ampia o un grande spazio
all'aperto. Per ultimo, vi occorrerà una cordicella
lunga o una corda, lunga almeno quanto dovrà essere
lungo il cerchio.
La prima cosa da fare è tracciare col gesso un grande
cerchio sul pavimento.
1. Una persona deve tenere la corda appoggiata al pavimento,
nel centro della stanza.
2. Tendete la corda a seconda di quanto volete grande il
cerchio.
3. Avvolgete il resto della corda attorno al gesso alcune
volte.

4. Con il gesso premuto sul pavimento, un ragazzo tenga la
cordicella tesa e faccia un cerchio attorno al ragazzo che
sta al centro. Chi sta al centro deve girare su se stesso
mentre l'altro ragazzo traccia il cerchio, in modo che la
corda non rimanga arrotolata intorno alle sue gambe.
5. Quando il cerchio è fatto, tendete la cordicella
come un diametro verticale che divide il cerchio.
6. Segnate la posizione in alto con le 12:00 e quella in
basso con le 6:00.
7. Tendete la cordicella come un diametro orizzontale che
divide il cerchio, e segnate le posizioni con 3:00 (a destra)
e 9:00 (a sinistra).
8. Allo stesso modo, e procurando che la cordicella passi
sempre per il centro, contrassegnate le posizioni 1:00 e
7:00, 2:00 e 8:00, 4:00 e 10:00, e infine 5:00 e 11:00.

Ora avete il quadrante dell'orologio sul pavimento.
Se siete a TANA (nel centro del cerchio) e guardate alle
12:00, che ora è se girate A DESTRA 90? Le 3:00,
vero?
Se girate ancora a destra 90, che ora è? Le
6:00.
Ancora DESTRA 90 e sono le 9:00; ancora DESTRA 90 e sarete
tornati alle 12:00.
Avete girato a destra 90 per quattro volte, per un totale di
360 giri o 360 gradi (360º). Ecco di nuovo il numero
360.
Stando in TANA e guardando le 12:00, girate fino all'1:00. Se
sono 90 gradi fino alle 3:00, quanti gradi ci vorranno per
arrivare all' 1:00? E alle 2:00?
Guardate di nuovo verso le 12:00, di quanto dovrete girare
per arrivare alle 6:00?
Quant'è se girate verso destra? E se girate verso
sinistra?
È lo stesso: sono 180 gradi da ciascuna parte.
Che qualcun altro provi a giocare.
Se uno guarda alle 6:00 e gira DESTRA 90, verso dove
guarderà?
Ricordate che la tartaruga gira a partire dalla direzione
verso cui guarda, e perciò indicherà ora le
9:00
COSTRUENDO FIGURE
Non giocate solo utilizzando i comandi DESTRA SINISTRA 90.
Qual è l'angolo da fare per passare dalle 4:00 alle
8:00? Dall'1:00 alle10:00?
Provate a girare in modi differenti in entrambe le direzioni.
Avete l'opportunità di allenarvi ad utilizzare vari
angoli diversi.
C'è una faccia di orologio con delle braccia che vi
aspetta alla pagina seguente. Potete ritagliarle e usarle per
fare degli esercizi. Fotocopiate la pagina, così voi e
i vostri amici potrete averne una copia ciascuno. Potete
usare l'orologio con le braccia o la penna-tartaruga oppure
la noce-tartaruga che verranno descritte sotto.
L'OROLOGIO SUL COMPUTER.
Scrivete i numeri dall'1 al 12 su delle piccole etichette
autoadesive che poi fisserete sullo schermo. Iniziate con la
tartaruga nel centro (TANA) e dite ad uno dei vostri amici di
digitare:
A 200 I 200.
Collocate l'etichetta con il numero 12:00 all'estremo di
questa prima riga.
Dite al secondo amico di battere:
D 30 A 200 I 200.
Collocate l'etichetta con il numero 1:00 all'estremo di
questa riga.
Continuate in questo modo fino a completare il cerchio ed
avere tutti i dodici numeri sistemati sullo schermo.
Non assomiglia ad un orologio? Divertitevi con esso.
Potete giocare a STELLA, STELLINA usando angoli invece di
passi.
Esempio: "Stella, stellina dove devo andare?"
" Vai alle 4:30." Oppure: "Vai alle 11:00."
E voi dovete disegnare l'angolo corretto.
La pista del coniglio
nº 9. Tartarughe con le noci e città delle
tartarughe
Avete già fatto una matita tartaruga. E una tartaruga
con una noce?
Aprite delicatamente una noce, in modo che il guscio si
separi in due metà, e poi incollate il guscio alla
tartaruga matita.
Se non avete noci, tagliate un contenitore delle uova e le
sue sezioni formano delle belle tartarughe.
ESPLORAZIONE DELLA CITTÀ DELLE
TARTARUGHE.
Talvolta un tipografo ha dei fogli di carta speciali, fogli
molto grandi dove si può disegnare tutto il vostro
quartiere. Alcune tipografie usano fogli di carta e vi
daranno la parte finale di un rotolo.
Disegnatevi il vostro quartiere poi usate la tartaruga noce
per andare a trovare i vostri amici, per andare a scuola o in
chiesa.
Con i vostri amici, potrete riprodurre la vostra città
e poi fare un gioco. Fate delle strade in diagonale, in modo
che le strade non formino tutte angoli di 90º.
Partendo da casa, vincerà chi saprà andare a
comprare una pizza, andare dal droghiere e fermarsi
all'ufficio postale senza fare errori.
Per rendere il gioco più interessante, si possono
aggiungere lavori stradali, in modo che i giocatori debbano
evitarli, o si possono mettere delle penalità se i
giocatori non rispettano gli stop.
Si può fare di tutto nella Città delle
Tartarughe. Usate la fantasia.
Ecco qualcos'altro da provare
Prendete dei fogli di plastica trasparente e appiccicateli
sullo schermo del computer. Ora potrete programmare la
tartaruga in modo che si muova nella Città delle
Tartarughe.
Capitolo 3. Per scrivere
procedure

Scommetto che vi sarete stancati di battere tutti questi
comandi una e un'altra volta.
Ma è l'unico modo in cui potete dire alla tartaruga
cosa fare.
Comunque...pensateci sopra per un minuto.
Dovete dire alla tartaruga come AVANZARE o RETROCEDERE
?
Naturalmente no! Lei sa già come farlo. AVANTI,
INDIETRO, DESTRA, SINISTRA ... sono tutte primitive di Logo,
ricordate. Le primitive sono le procedure che la tartaruga
conosce già.
Già, ma come?

Cosa ne dite se ci fosse un modo per insegnare alla tartaruga
a disegnare quadrati, rettangoli, triangoli, fiori, fiocchi
di neve e altre cose... e che lei non dimentichi?
È di ciò che tratta questo capitolo.
Potete insegnare alla tartaruga a fare ogni tipo di cosa...
molto di più che il solo disegnare figure.
Ma poiché disegnare figure è stato quanto
abbiamo finora fatto, iniziamo coll'impostare procedure per
disegnare figure. Poi le utilizzeremo per fare un sacco di
cose.
Dopo tutto, non abbiamo ancora accennato ai cerchi.
COS'È UNA PROCEDURA
Prima di tutto: cos'è una procedura? Guardiamola in
questo modo: quale procedura seguite quando vi alzate al
mattino?
Saltate giù dal letto. Alcune persone hanno molti
problemi con questo.
Vi lavate, vi vestite, fate colazione, vi lavate i denti,
andate a scuola... o qualcosa del genere.
Le procedure sono il modo in cui fate le cose, i passi che
muovete affinché le cose succedano.
Le procedure di Logo sono le cose che insegnate a fare a
Logo. Includono tutti i passi che Logo deve dare
perché succeda qualcosa.
Scrivete le
vostre procedure
Quando scrivete una procedura per disegnare una figura,
insegnate a Ernestina, la tartaruga, come disegnarla. Questo
è il perché iniziate ogni procedura con la
parola PER. Voi date istruzioni alla tartaruga PER fare
qualcosa.
Come potreste chiamare la procedura per alzarvi al mattino?
Potreste chiamarla:
PER SVEGLIARSI
ALZARSI.DAL.LETTO
LAVARSI.LA. FACCIA
INDOSSARE.GLI.ABITI
FARE.COLAZIONE
LAVARSI.I.DENTI
FINE
Per allenarci a scrivere procedure, perché non
insegnare alla tartaruga a fare le figure che abbiamo
disegnato nel Capitolo 2?
La più semplice figura che avete disegnato è
stato è il quadrato. Così insegniamo alla
tartaruga:
PER QUADRATO
Quando scrivete questo nella linea degli invii di Logo e
premete il tasto d'invio, una piccola finestra appare nella
parte alta dello schermo..
COME USARE LA FINESTRA DEL MODULO PER
Scrivete la prima riga di quanto volete che la tartaruga
faccia nella finestrella appena sotto la parola
Immissione:
Fate click su OK o premete INVIO dopo ogni linea che
scrivete. Se non vi piace quanto avete scritto, potete
cancellare una o due parole, oppure fare click su Annulla.
Quest'ultimo comando cancella l'intera procedura e voi potete
ricominciare.
Quando avete scritto l'ultimo comando della vostra procedura,
scrivete la parola FINE da sola su una linea, così
Logo saprà che la procedura è terminata.
COME SCRIVERE LA PROCEDURA PER DISEGNARE UN
ANGOLO
Per scrivere la procedura per disegnare un angolo,
battete:
A___________ D 90
Introdurre qualunque numero vogliate. Potete cambiarlo
più tardi.
Battete FINE su una linea a parte.
PER ANGOLO
A 100 D 90
FINE
Dopo aver premuto INVIO, Logo vi invia un messaggio che
dice:
ANGOLO definita

Avete definito la prima procedura per la tartaruga. È
come se possedeste un nuovo comando, così provatelo.
Battete:
ANGOLO
Ehi! Che ve ne pare?
Ora, potreste usare
questa nuova procedura
per disegnare un
quadrato?
Certo che potete. Andate avanti e battete un'altra volta
ANGOLO. Cosa succede? Cosa succederebbe se lo scriveste
ancora? E ancora?
Bene, e allora perché non scrivere
semplicemente:

RIPETI 4 [ANGOLO]
Abbiamo ottenuto qualcosa d'importante. Proviamo a scrivere
una procedura per disegnare un quadrato
PER QUADRATO
RIPETI 4 [ANGOLO]
FINE
Battete QUADRATO per lanciare la
vostra nuova procedura.
Siamo in marcia!
Come dare un nome
alle procedure
Diamo un'altra occhiata a come chiamare le procedure.
Ricordate i comandi che abbiamo utilizzato per disegnare un
triangolo con i lati uguali?
RIPETI 3 [A 100 D 120]
Ora sappiamo fare di questo comando una procedura.
Chiamiamola ad esempio TRI.
Se volete, potete chiamarla
SUPERCALIFRAGILISTICEXPIALIDOCIUS o magari solo T.
Il nome della vostra procedura può essere qualunque
voi vogliate, della lunghezza che desiderate a patto
che:
Non contenga spazi. PER TRI funziona, PER TRI ANGOLO
no.
Non sia un semplice numero. PER SETTE funziona, PER 7 non
funziona, PER 7A
oppure PER A7 funziona. Il nome di una procedura deve
contenere almeno una
lettera.
Non sia un simbolo che Logo utilizzi ( : ) # " [ oppure ].
Potete usare tutti gli
altri: PER TRI.ANGOLO oppure PER TRI_ANGOLO vanno
bene.
Ma tornando ai triangoli proviamo a scrivete la procedura
TRI:
PER TRI
RIPETI 3 [A 100 D 120]
FINE
Cosa pensate che succeda se mettiamo il triangolo sopra il
quadrato?
Provateci. Non preoccupatevi di farlo bene la prima volta.
Lavorate sulle vostre nuove procedure e guardate cosa
riuscite a combinare con esse.
Io ho finito per ritrovarmi con una figura che assomiglia ad
una casa. Così ho scritto la procedura:

PER CASA
QUADRATO
A 100 D 30
TRI
FINE
In quale altro modo si può scrivere una procedura per
disegnare una casa?
PER CASA
RIPETI 4 [A 100 D 90]
A 100 D 30
RIPETI 3 [A 100 D 120]
FINE
Ora è il momento di fare qualcosa da soli.
Aggiungete una porta alla vostra casa.
Aggiungete una finestra alla vostra casa.
Aggiungete un comignolo.

Abbiamo iniziato a lavorare con quadrati, triangoli e
rettangoli. Ora dobbiamo metterli al lavoro, Se volete
provare a disegnare qualcos'altro, avanti!
Che ne dite di una capanna africana?
PER CAPANNA
RIPETI 4 [A 60 D 90]
A 60 D 30 A 60 D 120
RIPETI 20 [I 6 A 66 I 60 D 3]
FINE
Forse questa procedura vi darà qualche idea.
Perché non scrivere una procedura per disegnare alcune
case? Oppure una casa a due piani?
La pista del coniglio nº 10. Case, quadrati,
ruote e cose varie
Cos'altro possiamo fare con queste figure? Una giovane
signora ricavò una ruota dalla procedura CASA. Come
credete ci sia riuscita?
Bene, diamo un'occhiata alla procedura CASA.
PER CASA
QUADRATO
A 100 D 30
TRI
FINE
Prima di battere CASA, nascondiamo la tartaruga.
Ora che la tartaruga è nascosta, battete CASA. Battete
di nuovo CASA. Cosa succede?
Riprovateci, Cosa succede questa volta? Qualcosa di diverso?
Ora provate questo:
RIPETI ________[CASA]
Quale numero dovremo inserire nella procedura per ottenere la
ruota della nostra amica?
Una volta che avrete trovato il numero giusto, potrete
scrivere una nuova procedura:
PER RUOTA
NT
RIPETI _______[CASA]
FINE
Ora che avete ottenuto una ruota, cosa fanno le ruote?
Che ne dite di creare una procedura per disegnare un'auto?
Ecco l'auto che fece la nostra amica. Torneremo a parlare di
cerchi e curve in un altro capitolo.

Che cosa potete ideare che utilizzi quadrati e triangoli?
Forse un treno?
Che ne dite di una nave spaziale?
Fate un elenco di tutto ciò che pensiate possa usare
quadrati e triangoli.
Alcuni scarti della NASA

La pista del coniglio nº 11. Fiocchi di neve
usando ripeti 6

Sapete cos'è un fiocco di neve? È un cristallo
di ghiaccio.
Si dice che non esistano due fiocchi di neve uguali, ma tutti
hanno qualcosa in comune: sono cristalli che hanno sei lati o
sei vertici.
Ciò significa che potete disegnare fiocchi di neve
usando Logo.

Perché non riunite qualche amico per vedere chi
può disegnare il fiocco di neve più fantasioso.
Per darvi uno spunto, eccovi una coppia di esempi fatti da
studenti del quarto anno.
PER FIOCCO
RIPETI 6 [ARM D 60]
FINE
PER ARM
A 12 PARAL 24 60
PARAL 24 300
A 36 S 30 TRIANGOLO 12
A 12 PARAL 24 60 PARAL 24 300
A 36 S 30 TRIANGOLO 12 D 30 I 48
FINE
PER FIOCCO.A.STELLA
NASTARTA
RIPETI 6 [SNO D 60]
FINE
PER PARAL :LATO :ANGOLO
RIPETI 2 [A :LATO D :ANGOLO A :LATO D 180-:ANGOLO]
FINE

PER SNF
A 20 D 45 SX S 180 D 135
FINE
PER SNO
SNF A 30 D 45
SNF SNF A 10
I 50 S 90 SNF
SNF A 10 I 50
D 45 A 50 S 45 SX
D 45 I 100
FINE
PER SX
RIPETI 5 [A 10 D 144]
FINE
PER TRIANGOLO :LATO
RIPETI 3 [A :LATO D 120]
FINE
Come editare le
vostre procedure
Talvolta le procedure non fanno esattamente quanto avreste
voluto facessero. Dovete cambiarle. Oppure volete crearne di
nuove modificando quelle già disponibili. In Logo,
tale operazione si chiama "EDITARE". Indovinate dove potremo
fare tale cosa?
Appuntatevi una medaglia d'oro e offritevi un doppio cono di
gelato se avete risposto di entrare nell'EDITORE.
Scrivete:
EDITA "CASA
Oplà! La finestra dell'Editore appare con il nome
della procedura nella barra del titolo. È qui che
potrete apportare tutte le modifiche che volete alla
procedura.
Ancora meglio, se volete guardare più di una procedura
alla volta, battete EDTUTTI. Tutte le procedure che esistono
nello zona di lavoro di Logo verranno elencate nella finestra
dell'editore.
Potete anche utilizzare il menù File, facendo click su
Modifica e selezionando Tutte.
NOTA BENE: Lo zona di lavoro è la parte attiva della
memoria del computer dove le vostre procedure restano
fintanto che state lavorando con esse e finché Logo
è attivo e funzionante.
Vedrete più tardi che molte più cose succedono
nella memoria del computer che non la semplice conservazione
di procedure.
PROVIAMO ORA AD EDITARE
"Sai, Logy, mi sembra che mi piace l'idea di farmi una
casa a due piani. Ma dovrò avere sempre davanti
agli occhi tua cugina? Perché non nascondiamo la
tartaruga?"
"Va bene, facciamolo" rispose Logy. "Ma ha tutto l'aspetto di
un inganno."
Battete EDTUTTI. La finestra dell'Editore si apre e mostra
tutte le procedure.
La prima cosa che dobbiamo fare è copiare la procedura
CASA per modificarla.
1) Collocate il cursore all'inizio della parola PER nella
procedura CASA
2) Trascinate il mouse lungo i comandi della procedura sino
alla parola FINE (inclusa) della procedura CASA
Il testo che avete evidenziato cambierà colore, come
mostrato sotto.
3) Fate click sul menù Modifica e poi fate click su
Copia
4) Fate click all’inzio di una riga non utilizzata
nella finestra Editor
5) Fate click sul menù Modifica e poi fate click su
Incolla.
Oplà! Se tutto è andato bene, avete duplicato
il testo della procedura CASA.
Cambiate il nome alla copia della procedura CASA. Chiamiamola
ad esempio CASA.2.PIANI .
Adesso modificate la procedura CASA.2.PIANI come illustrato
nella figura.
Fate click sul menu file e poi click su “Salva ed
esci”.
Battete PS e poi CASA.2.PIANI
Cosa vedete? Non assomiglia ad una casa a due piani?
Bene, vi ricordate delle procedure scritte per fare la
casa?
CASA
QUADRATO
TRI
Forse ne avete scritte altre per un comignolo, una porta o
una finestra. Per elencare tutte le procedure immagazzinate
nel vostra zona di lavoro, battete:
SCTITOLI (che è l'abbreviazione di stampa i titoli
delle procedure)
Oplà! Eccovi i nomi di tutte le procedure esistenti
nella zona di lavoro.
COME SEGUIRE LE TRACCE IN UNA PROCEDURA
Tutti commettono degli errori, lo sappiamo. Abbiamo
già parlato di come si correggono gli errori di
battitura, ma che mi dite degli errori nei comandi? Per
esempio, la procedura non fa quello che vorremmo. Talvolta
è difficile scoprire dove sta l'errore.
È qui che interviene la necessità di "seguire
la pista".
Scrivete la parola TRACCIA, poi, mentre opera la procedura,
ogni passo verrà mostrato nella finestra TRACCIA.
Quando la procedura è terminata, potete osservare ogni
passo per essere sicuri che venga realizzato quanto
progettato.
Per annullare il comando TRACCIA, bisogna battere
NOTRACCIA.
Un altro modo di controllare una procedura è leggerla
nello stesso modo in cui la legge Logo. Per esempio, diamo
un'occhiata ad una linea di Morf:
RIPETI 12 [RIPETI 4 [A 100 D 90] D 30]
Va bene?
Logo parte dalla sinistra e legge la prima parola, È
il comando RIPETI. Per funzionare correttamente, RIPETI ha
bisogno di un numero che gli dica quante volte ripetere e di
una serie di istruzioni da ripetere.
Così Logo legge verso destra.
Trova il numero 4, così il prossimo passo sarà
cercare una lista di istruzioni da ripetere quattro
volte.
Sono le parentesi quadre [ ] che segnaleranno che quanto vi
è contenuto è una lista d'istruzioni.
In Logo una lista può essere fatta di parole, numeri o
anche di un'altra lista.
Ed è proprio quello che incontrate qui: un'altra
lista.
C'è un nuovo comando RIPETI ed anch'esso è
seguito da un numero e una lista. Le istruzioni dicono alla
tartaruga di avanzare 100 e girare di 90 gradi verso
destra.
Va bene. Tutto ciò è seguito dal comando D 30.
Sembra perciò che vi sia una lista perfetta per il
primo comando RIPETI.
[RIPETI 4 [A 100 D 90] D 30]
Questo è quello che Logo ripeterà 12
volte.
Ora proviamo qualche altra cosa. Scrivete un comando come il
seguente e lanciatelo:
RIPETI 12 [RIPETI 4 [A 100 D 90 D 30]
Cosa succede? Cosa vi avevamo insegnato sulle parentesi? Per
ogni parentesi aperta deve essercene una chiusa. Così.
tutte le volte che userete parentesi, ricordatevi: per ogni
parentesi aperta deve essercene una chiusa.

Eccovi un esperimento da tentare. Sapete che Morf adora gli
esperimenti. Utilizzeremo un nuovo comando: STAMPA. Battete
quanto segue nella scatola delle entrate:
STAMPA "CIAO, "LOGY!
Cosa è successo? Provate ora:
(STAMPA "CIAO, "LOGY!)
Cosa è successo questa volta? Avete notato come hanno
agito le parentesi?
Bene, torniamo alle parentesi quadre. Provate questo:
STAMPA [CIAO, LOGY!]
Non ci sono virgolette questa volta. Perché no? Cosa
succede se includiamo le virgolette nelle parentesi
quadre?
STAMPA ["CIAO, "LOGY!]
Cosa vi suggerisce questo esempio in relazione alle
virgolette?
Pensateci per un momento. Parleremo ancora di virgolette,
parole, liste, parentesi quadre e ancor più di
parentesi tonde.
Ma prima ancora, cosa possiamo fare col comando STAMPA? Che
ne dite di questo:
RIPETI 12 [RIPETI 4 [A 100 D 90 D 30 STAMPA "WOW]
Oppure...come aggiungere un titolo alle vostre
procedure
PER FIOCCO.A.STELLA
NT RIPETI 6 [SNO D 60]
STAMPA [UN FIOCCO A STELLA DI ERNESTINE]
FINE
Ma abbiamo perso di vista le tracce. Dov'eravamo? Riassumiamo
quanto detto sul seguire le tracce:
Alcune procedure di Logo appaiono abbastanza complicate, ma
possono risultare più semplici se considerate un
comando alla volta, una linea alla volta e vi assicurate che
ogni primitiva presenta tutte le parti che deve avere.
Diventerete esperti via via che vi addentrerete nel
manuale.
Come salvare le
procedure
Salvare il vostro lavoro è facile.
Basta fare click su File e poi su “Salva con
nome”.
Dai il nome ESEMPIO al file in cui scrivi queste procedure
Logo (l’estensione, cioè “.LGI”
verrà scritta automaticamente).
Adesso tutte le procedure che avevate nella zona di lavoro
sono state salvate sotto il nome assegnato. Osserviamo come
funziona.
Battete: CANCETUTTO.
Tutte le procedure sono state cancellate dalla zona di
lavoro.
Cosa succede se battete CASA? Logo risponde:
Non so come fare CASA.
Come caricare le
procedure
Se volete vedere la vostra Casa, cosa dovete fare? Dovete
ricaricarla, insieme alle altre procedure, nella vostra zona
di lavoro, vero? Bene, non state seduti, andate avanti e
fatelo!
Fate click su File, poi su Apri, fate click sul file con il
nome ESEMPIO.LGI e poi sul bottone “Apri”.
Provate a battere CASA.
Lavorerete moltissimo con l'editore di Logo, così,
perché non sperimentarci un poco?
Superprocedure,
sottoprocedure e affini
"Sono stufo di questa roba noiosa. Sarebbe ora di cercare un
po' di divertimento"
"Aspetta un minuto, Morf! Ci sono ancora un sacco di
procedure da scrivere. Finora abbiamo parlato di procedure
corte e semplici. Cosa devi fare quando vuoi realizzare un
disegno davvero complicato?
"Come hai intenzione di organizzarli? Come farai a sapere
cosa può succedere se non
organizzi il tuo modo di pensare?"
"Intendi qualcosa come questa procedura per disegnare New
York?"
PER NY
NASTARTA D 180 SU A 50 D 90 GIU
A 150 D 90 R 70 25 A 60
SU D 90 A 5 S 90 GIU SX 2
D 90 SU A 10 S 90 GIU SX 2
SU I 20 GIU SX 2 SU S 90
A 10 D 90 GIU SX 2 SU
I 20 GIU SX 2 SU D 90 A 10
S 90 GIU SX 2 SU I 20 S 90
A 5 D 90 GIU R 10 4 SU D 90
A 15 GIU S 90 R 35 70 D 90
A 15 S 90 SX 15 D 90 A 30
S 90 SX 15 A 10 SU S 90
A 10 D 90 GIU SX 5 S 90
SU A 30 D 90 GIU SX 5 SU A 10
D 90 GIU A 60 S 90 SU A 15
D 90 A 5 S 90 GIU A 10 D 90
A 25 D 90 A 45 S 180 S 90
A 10 D 90 R 10 4 S 90 A 4
D 90 R 10 4 S 90 A 4 D 90
R 10 4 SU A 15 GIU SX 4 D 90
SU A 5 GIU S 90 SX 4 SU A 15
GIU SX 4 S 90 A 5 D 90 SX 4 SU
D 180 A 30 S 90 GIU A 19
S 90 R 100 35 A 100 D 90
A 5 S 90 SX 20 A 20 D 90 A 5
S 90 SX 10 A 10 D 90 A 5
S 90 A 7 I 7 SU I 25 S 90
A 5 GIU S 180 SU A 5 S 90
I 15 S 90 A 5 D 90 GIU
SX 3 D 90 SU A 10 GIU S 90 SX 3
SU I 20 GIU SX 5 S 90 SU A 10
D 90 GIU SX 5 SU I 20 GIU SX 5
D 90 SU A 10 S 90 GIU SX 5 SU
I 15 GIU SX 5 S 90 SU A 10
D 90 GIU SX 5 SU I 15 GIU SX 5
D 90 SU A 10 S 90 GIU SX 5
SU I 20 GIU R 10 3 D 90 I 3
S 90 R 10 3 D 90 I 3 S 90
R 10 3 D 90 A 25 S 90
S 90 A 280 D 90
R 120 30 A 120 D 90 A 5
S 90 SX 20 D 90 I 5 S 90
I 15
RIPETI 7 [D 90 R 30 3 S 90 I 15]
A 120 D 90 A 5 S 90 A 20 D 90
A 5 S 90 SX 10 A 10 D 90 A 5
S 90 A 10 D 180 SU A 40 GIU
A 110 SU A 10 D 180 GIU R 10 4
D 90 A 15 S 90 R 100 30 A 100
D 45 A 10 D 45 A 30 S 225
A 10 I 10 S 45 A 107 D 90
A 25 D 90 A 100 D 90 A 5 D 90
A 100 D 180 A 75 S 90 A 5
D 90 R 7 5 I 75 D 90 A 5 S 90
R 10 4 D 90 A 5 SU S 90 A 70
GIU SX 4 SU I 20 GIU SX 4 SU I 20 GIU
SX 4 SU I 30 D 90 A 35 S 90 GIU
R 25 32 A 25 D 90 A 4 S 90
R 100 28 A 100 D 45 A 10 D 45
A 28 S 225 A 10 I 10 S 45
A 62 I 62 D 90 A 28 S 45 A 10
S 45 A 100 D 180 SU I 15 GIU SX 4
D 90 SU A 10 GIU S 90 SX 4 D 90
SU A 10 S 90 GIU SX 4 SU I 10
D 90 I 5 S 90 GIU R 8 5 D 90
I 5 S 90 R 8 5 D 90 I 15 S 90
A 25 D 90 A 4 S 90 A 80 D 90
SU A 4 S 90
RIPETI 8[GIU SX 4 D 90 SU A 10 S 90 GIU SX 4 D 90
SU I 14 GIU S 90 I 10 D 90 A 4 S 90]
S 90 A 9 D 90 SU D 90 A 61
S 90 A 10 GIU R 125 40 A 125 D 45
A 10 D 45 A 40 S 225 A 10 I 10
S 45 A 132 D 90 A 37 D 90
R 40 20 A 40 D 45 A 10 D 45 A 6
D 45 A 10 D 45 A 40 D 90 A 13
D 90 R 125 6 A 70 D 90 A 23
I 40 S 90 A 20 D 90 R 40 4 S 90
A 35 D 90 A 20 S 90 SU I 125
I 15 GIU A 10 S 225 A 15
D 225 A 10 I 10 D 90 A 10 S 90
A 5 S 45 A 10 I 10 D 90 A 10
I 10 S 45 I 5 SU A 15 D 90 A 5
S 90 A 100 D 90 GIU A 30 D 90
A 90 S 90 SU I 30 S 90 A 90
D 45 GIU A 10 D 45 A 30 S 225
A 10 I 10 S 45 A 97 D 90 SU
A 30 D 90 I 10 GIU A 70 S 90
A 3 D 90 SX 10 D 90 A 2 S 90 SU
A 3 GIU SX 6 SU I 3 D 90 A 4 D 90
GIU A 70 I 70 SU I 10 GIU I 20
D 90 A 3 D 90 I 20 D 90 SU
A 10 GIU S 90 SX 5 SU I 20 GIU SX 5
SU I 20 GIU SX 5 SU I 20 GIU SX 5 SU
I 20 GIU SX 5 S 90 SU A 180 D 90
GIU A 100 D 90 A 30 D 90 A 28
I 28 S 90 I 30 S 45 A 10
D 45 A 30 S 225 A 10 I 10 S 45
A 28 I 28 A 20 A 15
FINE
PER R :R :E
RIPETI 2[A :R D 90 A :E D 90]
FINE
PER SX :S
RIPETI 4[A :S D 90]
FINE
"Ti piace questo? Abbastanza ganzo, vero?"
"Morf, ma come è possibile editare una cosa
così? È disumano!"
Quando state scrivendo procedure, è molto meglio se
riuscite a dividerle in spezzoni che sono facili da costruire
e da capire.
Date un'occhiata a questo profilo di Dallas:
Ed eccovi la procedura:
PER BANCA
S 90 A 5 D 90 A 5
S 90 A 33 D 160 A 15
S 70 A 10 D 90 A 10
S 90 A 3
FINE
PER CORNICE
SU TANA S 90 A 100 GIU A 20 D 90
A 100 D 90 A 230 D 90 A 111
D 90 A 20
FINE
PER DALLAS
HOTEL
UNIONE EDIFICIO
BANCA EDIFICIO2
SPIRALE EDIFICIO3
EDIFICIO4
CORNICE
FINE
PER EDIFICIO
S 90 A 45 D 90 A 15
D 90 A 15 S 90 A 15
D 90 A 23 S 90 A 5
FINE
PER EDIFICIO2
S 90 A 25 D 90 A 10
D 90 A 30 S 90 A 5
D 90 A 10 S 90 A 3
FINE
PER EDIFICIO3
S 90 A 25 S 90 A 1
D 90 A 10 D 90 A 1
S 90 A 1 D 90 A 15
D 90 A 1 S 90 A 1
D 90 A 10 D 90 A 1
S 90 A 20 S 90 A 10
D 90 A 15 S 90 A 3
FINE
PER EDIFICIO4
S 90 A 20 D 90
A 10 D 90 A 20
FINE
PER HOTEL
PS NASTARTA SU S 90 A 100 D 90 GIU A 10 D 90
A 5 S 90 A 5 D 90 A 5 S 90 A 5
D 90 A 10 D 90 A 10 S 90 A 5 D 90
A 3 S 90 A 3
FINE
PER SPIRALE
S 90 A 20 D 90 A 10
S 90 A 5 D 90 A 3
S 70 A 10 D 140 A 10
S 70 A 3 D 90 A 5
S 90 A 5 D 90
A 18 S 90 A 5
FINE
PER UNIONE
S 90 A 33 S 90
RIPETI 26 [A 1 D 7] A 5
RIPETI 26 [A 1 D 7]
ASDIR 180 A 40 S 90
A 5 D 90 A 10 S 90 A 5
FINE

NOTA BENE: Questi due profili di città sono stati
ricavati da una controversia che Morf e Logy ebbero molti
anni fa. Chi è capace di disegnare la più
creativa siluetta della sua città?
Essi ottennero alcune procedure davvero creative, così
pensateci un po' sopra. Potete usare fotografie di riviste o
di giornali.
Avanti, siate creativi!
Capite la differenza tra le procedure NY e DALLAS? NY
è probabilmente la più lunga procedura che
abbiate mai visto. DALLAS ha molto più senso. Ogni
edificio è una procedura separata. Se volete cambiare
il disegno potete semplicemente cambiare una procedura. Se
volete cambiare la procedura NY, da dove comincereste?
Date un'occhiata ad altri esempi.
MOSAICI E ILLUSIONI OTTICHE
Costruiamo un mosaico!
I mosaici possono essere molto divertenti, veri e propri
rompicapi. Rappresentano anche buoni esempi di sottoprocedure
e superprocedure. Ma cos'è un mosaico?
Vedete mosaici dappertutto. Sono le figure che vedete nelle
tappezzerie delle pareti, nelle mattonelle, nelle coperte e
anche sui vestiti. In senso stretto, i mosaici sono forme
ottenute ripetendo uno o più motivi molte volte in
qualcosa che sembra una struttura infinita.
Ci sono una quantità di libri sui mosaici. Potete
trovarli nelle biblioteche e quindi provare a costruirli col
computer.
Alcuni mosaici sono illusioni ottiche, sembrano qualcosa che
non sono. Potete trovare un sacco di libri anche sulle
illusioni ottiche.
Eccovi una lunga procedura che una la forma del diamante per
costruire una strana immagine geometrica. È lunga, ma
interessante.
PER FIGURA
RIM DENTRO BLOCCO
FINE
PER RIM
INIZIO LATO3 ADD2 MUOVI4 LATO3
ADD2 MUOVI4 LATO3 ADD2
FINE
PER INIZIO
SU I 103 S 60 A 16 GIU
FINE
PER LATO3
DIAMANTI MUOVI2 DIAMANTI
MUOVI2 DIAMANTI
FINE
PER ADD2
MUOVI3 DIAMANTI MUOVI3 DIAMANTI
FINE
PER MUOVI3
SU A 16 D 60 A 56 S 60 GIU
FINE
PER DIAMANTI
DIAMANTE 8 MUOVI DIAMANTE 24 MUOVI DIAMANTE 40
FINE
PER DIAMANTE :N
RIPETI 2 [A :N D 60 A :N D 120]
FINE
PER MUOVI
SU D 60 I 8 S 60 I 8 GIU
FINE
PER DENTRO
MUOVI5 LATO2 ADD1 MUOVI4 LATO2
ADD1 MUOVI4 LATO2 ADD1
FINE
PER MUOVI5
SU D 60 I 24 D 60 A 16 S 60 GIU
FINE
PER MUOVI4
SU A 24 D 60 A 40 D 60 A 16 GIU
FINE
PER LATO2
DIAMANTI MUOVI2 DIAMANTI
FINE
PER MUOVI2
SU A 56 D 60 A 16 S 60 GIU
FINE
PER ADD1
MUOVI3 DIAMANTI
FINE
PER BLOCCO
MUOVI6 DIAMANTI MUOVI7
DIAMANTI MUOVI7 DIAMANTI
FINE
PER MUOVI6
SU D 60 A 16 D 60 A 16 S 60 GIU
FINE
PER MUOVI7
SU A 24 D 60 A 40 D 60 A 16 GIU
FINE
Per vedere che cosa esce da tutto questo scrivere, battete
FIGURA.
Davvero carino, no?
Queste lunghe procedure sono un buon esempio di
superprocedure e sottoprocedure.
Una superprocedura è qualcosa come FIGURA o RIM.
DALLAS è un altro esempio di superprocedura.
PER FIGURA
RIM DENTRO BLOCCO
FINE
PER RIM
INIZIO LATO3 ADD2 MUOVI4 LATO3
ADD2 MUOVI4 LATO3 ADD2
FINE
PER INIZIO
SU I 103 S 60 A 16 GIU
FINE
Le superprocedure non fanno nulla da sole, vero? Ma fanno
sì che un sacco di cose accadano, e ciò
perché esse richiamano altre sottoprocedure. Queste
ultime sono cose come INIZIO e DIAMANTE.
Pensate cosa sarebbe se doveste scrivere ogni movimento che
la tartaruga compie per disegnare l'illusione ottica. Sarebbe
senz'altro peggio della procedura NY.
La superprocedura vi aiuta ad organizzare il vostro modo di
pensare quando volete unire lunghe e complicate "super"
procedure. Vi risparmiano inoltre un sacco di lavoro.
Ora, guardate cosa potete ideare. Se avete bisogno di un
piccolo aiuto per rompere il ghiaccio, guardate che vite
rampicante potete coltivare.
PER ALTRA.META.VITE
A 6 S 30 RIPETI 6 [A 4 S 20]
S 60 RIPETI 6 [A 4 S 20]
FINE
PER MEZZAVITE
A 6 D 30 RIPETI 6 [A 4 D 20]
D 60 RIPETI 6 [A 4 D 20] D 30
FINE
PER VITE
RIPETI 12 [MEZZAVITE ALTRA.META.VITE A 20]
FINE
Questo rampicante cresce in cerchio. Potreste farlo crescere
lungo un muro? Cosa dovreste cambiare?
Un'altra cosa: avete mai visto una vite in bianco e nero? Che
ne dite di darle un po' di colore?
È quanto vi aspetta nel prossimo capitolo.
Capitolo 4.
Colore e fantasia
Disegnare sottili linee bianche su un monotono schermo bianco
diventa rapidamente molto noioso. Così, prima di
proseguire, proviamo a mettere un pizzico di fantasia alle
procedure Logo.
Aggiungete colore alle vostre procedure! Animate la
Tartaruga. Cambiate le figure. Costruite segnali abbaglianti.
C'è un'enormità di cose che potete fare, troppe
per poterle descrivere tutte qui. Cominciate, potrete
scoprire il resto da soli.
Per aggiungere
qualche colore
Potete cambiare il colore dello sfondo, il colore usato per
riempire le figure e il colore della penna. Potete anche
cambiare lo spessore della penna che usa la tartaruga.
PER PREDISPORRE I COLORI
MSW Logo vi offre molti più colori dei pochi che usa
Logy. I comandi per i colori di MSW Logo utilizzano tre
parametri per misurare la mistura tra rosso, verde e
blu.
ASCOLPENNA [255 255 255] oppure, abbreviato, ASCP dice ad
Ernestina quale colore usare per tracciare una linea.
ASCOLRIEMPI [255 000 000] oppure, abbreviato, ASCR vi
permette di riempire una figura chiusa con un colore. Potete
andare all'interno della figura e utilizzare questo
comando.
ASCOLORESCHERMO [000 000 000] oppure, abbreviato, ASCS
dà allo sfondo qualunque colore abbiate
stabilito.
Osservate i numeri nelle parentesi quadrate: potete usare
qualunque numero compreso tra 0 e 255 per tonalità di
rosso, verde e blu. Con tutte queste opzioni, potete creare
quasi tutti i colori, più di 16 milioni, se vi
pare.
E, naturalmente, stabilire tutti questi parametri per tutti
questi colori può essere un vero problema. Così
Morf lo ha risolto scrivendo alcune procedure per
semplificarsi un po' la vita. Per esempio:
PER ROSA
RIPORTA [255 200 255]
FINE
RIPORTA può essere abbreviato con RI. È un
comando che si può usare con altre procedure e che fa
quello che il suo nome dice: estrae qualcosa da un altro
comando. Imparerete molto di più su questo comando
nella Seconda Parte del Libro della Scoperta della Tartaruga.
Per ora limitiamoci ad utilizzarlo.
Prima di iniziare ad aggiungere altri colori, eccovi un
intero mazzo di procedure per costruire colori della
penna.
PER NERO
RIPORTA [000 000 000]
FINE
PER BLU
RIPORTA [000 000 255]
FINE
PER MARRONE
RIPORTA [128 64 0 ]
FINE
PER TURCHESE
RIPORTA [0 255 255]
FINE
PER VERDESCURO
RIPORTA [0 128 128]
FINE
PER VERDE
RIPORTA [000 255 000]
FINE
PER GRIGIO
RIPORTA [128 128 128]
FINE
PER MAGENTA
RIPORTA [255 0 255]
FINE
PER OLIVA
RIPORTA [128 128 0]
FINE
PER ARANCIONE
RIPORTA [255 128 255]
FINE
PER VIOLA
RIPORTA [128 0 128]
FINE
PER ROSSO
RIPORTA [255 0 0]
FINE
PER BIANCO
RIPORTA [255 255 255]
FINE
PER GIALLO
RIPORTA [255 255 0]
FINE
Ora fatevi da soli alcune procedure per stabilire dei vostri
colori:
PER __________
RIPORTA [______ ______ ______]
FINE
PER __________
RIPORTA [______ ______ ______]
FINE
PER __________
RIPORTA [______ ______ ______]
FINE
PER __________
RIPORTA [______ ______ ______]
FINE
Ora Morf non deve ricordare tutti i differenti codici per i
colori. Egli semplicemente aggiungerà il nome del
colore alla sua procedura.
ASCP NERO stabilirà che il colore della penna sia [000
000 000] ossia NERO.
ASCR BLU stabilirà che il colore dell'interno sia [000
000 255] ossia BLU. Usandolo con il comando RIEMPI
riempirà figure chiuse con il colore prescelto.
PER RIEMPILO
ASCP NERO
RIPETI 4 [A 100 D 90]
SU D 45 A 40 GIU
ASCR ROSSO RIEMPI
SU TANA GIU
FINE
Per prima cosa, questa procedura disegna un quadrato usando
una penna di colore nero. Quindi la tartaruga viene
sollevata, spostata all'interno del quadrato e riabbassata.
Per il colore dell'interno viene scelto il rosso ed infine il
quadrato viene riempito.
Turchese è un colore azzurro. Coloriamo lo schermo in
turchese, fissiamo la penna sul rosso e riempiamo il quadrato
di giallo.
PER RIEMPILO
ASCS TURCHESE
ASCP ROSSO
RIPETI 4 [A 100 D 90]
SU D 45 A 40 GIU
ASCR GIALLO RIEMPI
SU TANA GIU
FINE
Non male. Ma la linea gialla è un po' troppo
sottile.
PER STABILIRE LO SPESSORE DELLA PENNA
Siete stanchi di tracce sottili? Proviamo a farne qualcuna
spessa e colorata.
Potete cambiare la dimensione delle linee disegnate con il
comando ASTRATTOPENNA accompagnato da due parametri che si
riferiscono allo spessore e all'altezza.
C'è una complessa ragione tecnica che giustifica
questi due indici. La cosa più semplice è
ricordare che i due valori devono essere uguali.
Il valori standard sono [1 1]. Voi potete attribuire a tali
parametri il valore che volete. Provate:
ASTRATTOPENNA [100 100] A 100
Ha quasi riempito lo schermo, vero? Perciò dovete
stare attenti a non eccedere.
Provate questo:
PER RIEMPILO
ASCS TURCHESE
ASCP ROSSO
ASTRATTOPENNA [5 5]
RIPETI 4 [A 100 D 90]
SU D 45 A 40 GIU
ASCR GIALLO RIEMPI
SU TANA GIU
FINE
Ecco fatto! Adesso si può vedere una decisa linea
rossa.
Volete provare qualcosa di nuovo? Che ne dite di questo:
prima scrivete una semplice procedura per muovere la
tartaruga prima avanti e poi indietro.
PER STELLA
S 18 RIPETI 5 [a 200 d 144]
FINE
E ora aggiungiamo un po' di fantasia.
PER FANTASIA
ASCS BIANCO
ASTRATTOPENNA [120 120] ASCP VIOLA STELLA
ASTRATTOPENNA [100 100] ASCP BLU STELLA
ASTRATTOPENNA [80 80] ASCP MAGENTA STELLA
ASTRATTOPENNA [60 60] ASCP ROSSO STELLA
ASTRATTOPENNA [40 40] ASCP ARANCIONE STELLA
ASTRATTOPENNA [20 20] ASCP GIALLO STELLA
ASTRATTOPENNA [5 5] ASCP VERDE STELLA
FINE
Adesso che avete la fantasia, aggiungiamo qualche
lampo!
PER LAMPO
RIPETI 20 [PS ASCS NERO FANTASIA]
FINE
Ehi! Niente male, vero? Naturalmente, quello a cui assomigli
dipende in qualche maniera dal tipo di computer che state
usando. Un Pentium 120 MHz è molto più veloce
di un sistema 386 a 25 MHz .
Provate qualcosa del genere, forse...
PER TRI
RIPETI 3 [A 200 D 120]
FINE
PER FANTASIA
ASCS TURCHESE PS NASTARTA
SU S 45 A 100 D 45 GIU
ASTRATTOPENNA [120 120] ASCP VIOLA D 30 TRI
SU TANA S 45 A 80 D 45 GIU
ASCP BLU D 30 TRI
SU TANA S 45 A 60 D 45 GIU
ASCP MAGENTA D 30 TRI
SU TANA S 45 A 40 D 45 GIU
ASCP ROSSO D 30 TRI
SU TANA S 45 A 20 D 45 GIU
ASCP ARANCIONE D 30 TRI
SU TANA GIU
ASCP GIALLO D 30 TRI
SU TANA D 135 A 20 S 135 GIU
ASCP VERDE D 30 TRI
FINE
Questo vi dà un altro paio d'idee di cosa potete fare
con i comandi per i colori di base. Li useremo maggiormente
nel resto del lavoro, ma per ora, perché non esplorare
quello che potete fare con il colore e le forme che
già conoscete?
ALCUNE ALTRE IDEE
Avete aggiunto colore alle vostre procedure. Prima di andare
troppo lontano, perché non provate a capire cosa
potete fare con questi nuovi comandi?
Cosa potete fare adesso con le figure? Potete
colorarle?
Perché non colorare una meravigliosa torta e scriverci
sopra Felice Compleanno?
Che ne dite di disegnare linee colorate che attraversano lo
schermo come laser ad un concerto di rock? Ricordate la
procedura LAMPO? Vi darà un'idea di come
cominciare.
Ci sono un sacco di cose che potete fare fin da adesso
iniettando un poco di fantasia nelle vostre procedure.
Provateci. Abbiamo molte altre cose da fare e ci rivedremo
dopo.
Capitolo 5.
Variare le variabili

Quanti siete in famiglia? E nella classe? Siete nello stesso
numero o tale numero è una VARIABILE?
Compare questa parola: "VARIABILE"
Quanti dei vostri amici hanno lo stesso colore dei capelli e
degli occhi? Quanti hanno la stessa età? Quanti sono
nati nel tuo stesso mese e c'è qualcuno che è
nato lo stesso giorno?
Quante cose condividi con il tuo gruppo? Quante sono
"variabili"?
Parliamo un poco di Logo.
Ormai dovresti saper immaginare cosa creerà una
procedura prima di lanciarla. Che ne pensi di questa:
PER SCATOLE
RIPETI 4 [A 100 D 90]
D 90 SU A 120 GIU S 90
RIPETI 4 [A 100 D 90]
FINE
Certamente, questa procedura disegna due scatole
affiancate.
Ma se tu volessi disegnare 20 scatole?
Se volessi che ciascuna scatola fosse più grande della
precedente?
E se la volessi più piccola della precedente?
In altre parole, se tu volessi variare la dimensione o il
numero delle scatole?
Nessun problema...è qui che entrano in gioco queste le
cose chiamate "VARIABILI".
Una variabile è qualcosa che introducete in una
procedura in modo da poterla modificare ogni volta che la
lanciate.
Lo so che tutto ciò sembra confuso, vero?

Per spiegarlo, aiutiamoci dando un'occhiata all'esperimento
che avete realizzato nel capitolo 3. Cercate un grande foglio
di carta e disegnateci una figura utilizzando la forma che
preferite. Usate triangoli, quadrati, rettangoli o anche
cerchi.
Però potete usare solo un tipo di forma e un solo
colore.
Potete variare le dimensioni della figura quanto volete. Ecco
un'altra volta la parola "variare".
Ricordate l'esempio del millepiedi? Era una figura realizzata
utilizzando quadrati (e qualche linea).
Bene, è pronto il vostro disegno? Prima di tentare di
inserire la figura nel computer, date un’altra occhiata
alla procedura SCATOLE:
PER SCATOLE :DIMENSIONI
RIPETI 4 [A :DIMENSIONI D 90]
D 90 SU A :DIMENSIONI + 20 GIU S 90
RIPETI 4 [A :DIMENSIONI D 90]
FINE
Scommetto che avrete già individuato quale grandezza
è variabile, vero?
È la :DIMENSIONE. Corretto.

Ora, quando battete SCATOLE per lanciare la procedura, dovete
fornire un INPUT, ovvero un dato.
Provateci. Battete:
SCATOLE 20
SCATOLE 40
SCATOLE 60
SCATOLE 100
Quando battete SCATOLE 20, state dicendo che il valore che va
dato alla variabile :DIMENSIONE è 20. Cosa succede con
SCATOLE 60? Che valore viene dato ora a :DIMENSIONE?
Le variabili devono essere sempre accompagnate da un INPUT,
ossia un valore. Devono inoltre essere precedute dai due
punti (:). Scoprirete che esse possono risparmiarvi un sacco
di tempo e di dattilografia.
Date un occhiata.
Vi ricordate della procedura TRI?
PER TRI :N
RIPETI 3 [A :N D 120]
FINE

Osservate: potete chiamare le variabili con il nome che
volete. Invece di chiamare la variabile :DIMENSIONE, questa
volta l'abbiamo chiamata :N. La :N sta per :NUMERO. Potevate
chiamarla :X, :Z o :QUALUNQUECOSA.
Ma useremo sempre i due punti, è obbligatorio.
Eccovi altri esempi con cui si è divertita una bimba
di 7 anni, utilizzando la procedura QUADRATO.
PER QUADRATO :N
RIPETI 4 [A :N D 90]
FINE

La cosa è cominciata come un semplice esercizio per
vedere che aspetto avrebbero avuto tanti quadrati di
dimensioni diverse.
PER QUADRATI
QUADRATO 60
QUADRATO 80
QUADRATO 100
QUADRATO 120
FINE

Aggiunse quindi un giro a sinistra e ottenne un disegno che
le ricordava il tavolino ad incastro della mamma:
PER TAVOLI
QUADRATI
S 90
QUADRATI
FINE
Più guardava i tavolini e più le ricordavano la
metà di uno specchio decorato:
PER SPECCHIO
TAVOLI
S 90
TAVOLI
FINE

E cosa succederebbe se impilassimo uno specchio
sull'altro?
PER SPECCHI
SPECCHIO
S 45
SPECCHIO
FINE

Tutto ciò da molto da pensare, così,
perché non ci fermiamo un momento e facciamo qualche
prova utilizzando una forma per realizzare un disegno?
Dopo aver fatto qualche esperimento con una forma, provate ad
utilizzarne due.
Avete già visto cosa potete fare con un quadrato e un
triangolo; le due figure possono essere combinate per fare
una casa, poi per fare una ruota.

Potete anche fare qualche fiore, forse piantare un vostro,
particolare giardino.
POLIGONI ED ALTRE COSE
Poligoni? Eccovi una nuova parola. Sapete cosa
significa?
Pensateci un momento.
Triangoli, quadrati e rettangoli sono poligoni. Altrettanto
lo sono pentagoni, esagoni ed ottagoni.
Tutte queste figura hanno qualcosa in comune: tutte
racchiudono un'area che ha almeno 3 lati (certo non potete
racchiudere nulla tra due lati, vero?)
I triangoli hanno 3 lati, quadrati e rettangoli 4, i
pentagoni 5 e gli ottagoni 8.
Un poligono è una figura chiusa con almeno tre
lati.
Vi ricordate il riepilogo fatto alla fine del capitolo 3?
Calcolaste quanto valeva la somma degli angoli necessari per
costruire triangoli, quadrati e rettangoli. Quale era la
risposta?
In ogni caso, la somma valeva 360, giusto?
Ricordate la traccia del coniglio di Morf, relativa
all'orologio? Quanti gradi ci sono sul quadrante
dell'orologio? 360, vero? Ottimo, tenete bene a mente questo
valore ogni volta che parleremo di poligoni.
La pista del coniglio
nº 12. Imparando con un gomitolo di corda

Avete bisogno di una tavoletta di legno quadrata di lato 30
cm, 13 chiodi lunghi 3 cm, un martello, una matita e 4 metri
di spago.
1) Inchiodate la punta di un chiodo nel centro della
tavoletta, in modo che il chiodo sporga per almeno 2
cm.
2) Legate lo spago al chiodo: lo utilizzerete per fare un
cerchio intorno al chiodo centrale.
3) Stendete lo spago fino al bordo della tavoletta.
4) Posate la matita vicino al bordo della tavoletta e
avvolgetela strettamente con lo spago.

5) Afferrate saldamente la matita e, stirando lo spago,
disegnate un cerchio intorno al chiodo centrale.
Ora siamo pronti per inchiodare gli altri 12 chiodi sul
contorno circolare, ma prima, avete a disposizione una
stampante per stampare disegni? Se sì, la tartaruga vi
può disegnare un modello che potrete usare per
piantare i vostri chiodi in modo più preciso.
Vi ricordate la procedura che usavate per i quadrati
equilateri (con tutti i lati uguali)?
PER TRI
RIPETI 3 [A 100 D 120]
FINE
Utilizziamo la procedura per fare il nostro modello:
RIPETI 12 [TRI D 30]

Accidenti! Abbiamo ottenuto una figura con 12 punti, proprio
come i numeri sul quadrante dell'orologio.
Stampate quanto avete sullo schermo.
Ora, infilate con cura il modello sul chiodo centrale e
fissatelo con del nastro adesivo. Segnate sulla tavoletta i
punti in cui le linee del modello tagliano il cerchio che
avevate disegnato e in quei punti piantate i 12 chiodi.
Assomiglia ad un orologio, vero?
Bene, ora potrete giocare con i grafici della
tartaruga.
Tendete lo spago dal chiodo centrale (che occupa la posizione
TANA sullo schermo) fino al chiodo che corrisponde alle 12:00
dell'orologio.

Fate un giro di spago intorno al chiodo e tendete la corda
fino al chiodo delle 3:00, e quindi ritornate a TANA.
Ora, fate lo stesso, solo utilizzando i chiodi 1:00 e
4:00.
Cosa sta succedendo?
State muovendo un triangolo nel piano, ruotandolo un asse
verticale che passa da TANA.
Potete immaginare un modo migliore per mostrare come gli
oggetti ruotano nel piano?
Ora, continuate a tendere il filo intorno ai chiodi delle
2:00 e delle 5:00, delle 3:00 e delle 6:00, delle 4:00 e
delle 7:00, e così via, fino a completare il
cerchio.

Che figura hai realizzato con lo spago? Ricorda molto quella
stampata, vero? Solo che questa è racchiusa in un
cerchio.
Le vostre mani hanno agito come la tartaruga, muovendosi
intorno al bordo della figura, ma invece di disegnare delle
linee sullo schermo, avete fatto corde di spago.
Osservate attentamente il disegno. Abbiamo usato dei
triangoli per realizzarlo, ma riuscite a vedere altre figure
geometriche?
Vedete dei quadrati?

Quanti quadrati riuscite a trovare?
Osservate attentamente la procedura che ha generato la
figura:
RIPETI 12 [TRI D 30]
Il primo triangolo va da TANA al chiodo delle 12:00, a quello
delle 3:00 e torna al punto di partenza. Quindi, ruotate di
30 gradi, vero?
La pista del coniglio
nº 13. Il gioco del lancio del filo

Questo può essere un bel gioco per un gruppo di
amici.
Vi dà l'occasione per usare i comandi di Logo
disegnando con un gomitolo di spago...o, meglio ancora, di
filo colorato.
Una persona deve stare nel centro del cerchio di gesso. Poi,
gli altri amici devono sistemarsi in corrispondenza dei 12
punti dell'orologio. Un altro amico potrebbe trascrivere i
comandi e un altro trasferire i comandi sul computer.
La persona nel centro rappresenta la tartaruga.
La tartaruga parte sempre guardando verso le 12:00
dell'orologio.
SINISTRA 30.
Lancia lo spago alle 11:00 dell'orologio.
Lancia lo spago dalle 11:00 all'1:00 dell'orologio.
Lancia lo spago a HOME.
Che figura avete ottenuto?
Un altro gioco che potete fare con la corda si chiama A :N.
Abbiamo contrabbandato qui la variabile vista prima. L'idea
è quella di creare un disegno usando lo spago. La
variabile :N può assumere il valore che volete, da 1 a
un valore enorme.
Ammettiamo che vogliate disegnare u quadrato, cosa davvero
molto semplice.
Un ragazzo fa da tartaruga e parte da TANA. La tartaruga
passa lo spago ad un amico e gli dice A :N * 5. L'amico deve
avanzare di 5 passi, poi gira di 90 gradi a destra e passa il
gomitolo ad un altro. Costui avanzerà di A :N*5 e
ruoterà D 90. La terza persona avanzerà di A
:N*5 e ruoterà D 90. E infine il quarto ragazzo
prenderà il gomitolo e tornerà a TANA.
Avete capito come funzione?
È molto più divertente se provate con figure
bizzarre.
ESAGONI E RAGNATELE.
Proviamo ora da usare la procedura TRI :N che avete scritto
in precedenza in questo capitolo.
PER TRI :N
RIPETI 3 [A :N S 120]
FINE

Cosa succede se ripetete questa procedura girando un poco
dopo ogni triangolo?
RIPETI 6 [TRI :N D 60]
Come si chiama una figura che ha
sei lati come questa?
È un esagono, vero?
PER ESAGONO :N
RIPETI 6 [TRI :N D 60]
FINE
Assicuratevi di dire alla tartaruga quanto
grande deve fare l'esagono.

Provate:
ESAGONO 60
ESAGONO 80
ESAGONO 100
A cosa assomiglia? Certamente, è una ragnatela!
Potete immaginare un diverso modo per scrivere questa
procedura affinché la tartaruga faccia la stessa
cosa?
Che ne dite di:

PER RAGNATELA :N
ESAGONO :N
ESAGONO :N + 20
ESAGONO :N + 40
FINE
Avanti. Battete questa procedura e lanciatela:
RAGNATELA 40
Lavorate su questa idea e vedete cosa potete ricavarne.
Create altre forme usando variabili a cui sommerete valori
numerici.
AGGIUNGENDO ALTRE VARIABILI
Riuscite a immaginare un modo di utilizzare più
variabili nella procedura RAGNATELA? Che ne direste di
introdurre, invece di una variabile, dieci variabili?
Venti?
PER RAGNATELA :N :X :Y La cosa si fa complicata: ora avete
tre variabili.
ESAGONO :N :N rappresenta la lunghezza di ciascun lato
ESAGONO :N + :X :X rappresenta l'incremento del lato.
ESAGONO :N + :X*:Y :Y rappresenta un incremento di :X.
FINE
Dopo aver introdotto questa procedura, lanciatela ed
osservate quello che otterrete:
RAGNATELA 30 10 2
Non assomiglia un poco alla prima ragnatela che ha disegnato
la tartaruga? Date un’occhiata:
PER RAGNATELA 30 10 2
ESAGONO 30
ESAGONO 30 + 10
ESAGONO 30 + 10*2
FINE
PER CAMBIARE UNA VARIABILE
Tutto ciò va bene se volete avere tre esagoni di lato
30.40 e 50. Ma se voleste costruire 5 esagoni? Sette esagoni?
Settanta esagoni?
Proviamo qualcosa al proposito.
Quando scrivete una procedura, essa diventa un ulteriore
comando che potrete sempre usare, giusto?
Bene, proviamo a trarne il maggior profitto.
Diciamo alla procedura RAGNATELA di disegnare un esagono
utilizzando la variabile :N:
Quindi diciamo alla RAGNATELA di addizionare 10 e di rifare
la stessa cosa:
PER RAGNATELA :N
ESAGONO :N
ESAGONO :N + 10
FINE
Provateci! Cosa succede?
Questo è un modo per cambiare una variabile ma ce ne
sono altri. Esiste ad esempio un comando che permette di fare
in modo che una variabile assuma il valore che volete.
Avete colto il suggerimento? Avreste dovuto. Date
un'occhiata:
PER RAGNATELA :N
ESAGONO :N
ASSEGNA "N :N+10
RAGNATELA :N

FINE
Proviamo a seguire come si sviluppa questa procedura:
Quando battete RAGNATELA 30, la prima cosa che la tartaruga
farà sarà disegnare un esagono con lato 30.
Quindi la tartaruga passerà a leggere la linea
seguente:
ASSEGNA "N :N + 10
Questa dice di fare in modo che la variabile :N assuma il
valore di :N+10, ossia ASSEGNA "N 30+10, ovvero 40.
La tartaruga quindi disegna un esagono di alto 40 e poi legge
la linea seguente. Cosa succede allora a :N?
Potete vedere cosa succede osservando la tartaruga disegnare
una quantità di esagoni che ben presto riempiranno lo
schermo.
Naturalmente, ciò introduce una nuova domanda: come
ottenere che la tartaruga si fermi?
Un modo per fermare la tartaruga in MSW Logo è
schiacciare il bottone del comando ALT. Ciò blocca la
tartaruga ovunque essa sia. Ma non sarebbe meglio se si
potesse ordinare alla tartaruga di fermarsi dopo aver
disegnato l'ultimo esagono?
CONDIZIONI

Ebbene, esiste un modo. Potete dire alla tartaruga che SE
l'ultimo esagono che è stato disegnato è grande
una quantità voluta, ALLORA la procedura si
fermi.
PER RAGNATELA :N
SE :N > 200 [STOP]
ESAGONO :N
ASSEGNA "N :N+10
RAGNATELA :N
FINE
Osservate la prima linea di questa nuova procedura: quando la
tartaruga legge questa linea, essa impara che SE :N è
maggiore di 200, allora deve smettere di disegnare.
SE :N > 200 [STOP]
Questa cosa che assomiglia alla punta di una freccia posta
dopo :N, ossia >, è il simbolo che significa
"maggiore di". Perciò, se il valore di :N è
maggiore di 200, allora STOP.
Se > significa "maggiore di", cosa vorrà dire il
simbolo <?
Avete indovinato, significa "minore di". Un semplice modo per
ricordarsi il significato di ciascun simbolo, è quello
di pensare che la punta della freccia indica sempre il
più piccolo dei due.
SE :N >100 significa che il valore di :N dev'essere
maggiore di 100, ossia almeno 101.
SE :N < 100 significa che il valore di :N dev'essere
minore di 100, ossia fino a 99.
Nel nostro esempio, abbiamo scelto 200 come il valore a cui
fermare la procedura. Potete scegliere un vostro valore di
arresto, oppure potete stabilire che tale valore sia un'altra
variabile. Come farlo?
Avanti, fate un tentativo, ma ricordate: se volete usare una
variabile come questa, dovrete aggiungerla al nome della
procedura.
PER RAGNATELA :N :V
SE :N > :V [STOP]
ESAGONO :N
ASSEGNA "N :N+10
RAGNATELA :N :V
FINE
Potete semplificare RAGNATELA ricordando che potete variare
:N direttamente chiamando la procedura.
PER RAGNATELA :N :V
SE :N > :V [STOP]
ESAGONO :N
RAGNATELA :N + 10 :V
FINE
Infine, possiamo complicare la procedura introducendo una
terza variabile che permette di modificare lo spazio tra ogni
filo della ragnatela. E’ troppo?
PER RAGNATELA :N :V :K
SE :N > :V [STOP]
ESAGONO :N
RAGNATELA :N + :K :V :K
FINE
ALTRI MODI PER CAMBIARE LE VARIABILI
Avete imparato alcune cose su ASSEGNA e SE. Bene, Logo vi
offre molti altri modi per variare le vostre variabili.
ASSEGNA <nome> <oggetto>
Cioè
ASSEGNA “MICHELE 2
ASSEGNA "SIMONE 4
ASSEGNA "LORENZO :MICHELE + :SIMONE
A cosa sarà uguale :LORENZO? Se avete risposto 6,
appuntatevi al petto una stella d'oro.
Se volete vedere a cosa è uguale :LORENZO, dovete dire
al computer di:
STAMPA :LORENZO
oppure
MOSTRA :LORENZO
Potete anche dire a Logo:
MOSTRA COSA "LORENZO
oppure
STAMPA COSA "LORENZO
Il comando COSA funziona come il due punti (:), recupera il
valore della variabile il cui nome è LORENZO e lo
passa alla procedura STAMPA che lo mostra a video.
Variabili locali e globali
Potete usare due tipi di variabili: globali e locali.
ASSEGNA “N 100 definisce una variabile globale con nome
N e valore 100. Tutte le procedure possono utilizzarla. Ad
esempio posso scrivere STAMPA :N o ESAGONO :N.
Una variabile locale è valida solo per la procedura in
cui è inserita. Potete scriverla così:
PER TRI
LOCALE "X
ASSEGNA "X 100
RIPETI 3 [A :X D 120]
FINE
Avanti. Modificate la vostra procedura TRI. Il risultato
è un triangolo di lato 100, perciò la procedura
sa che X è uguale a 100.
Provate a stampare X (STAMPA :X). Logo vi dirà
che:
X non ha valore
Perché X è una variabile locale.
La pista del coniglio
nº 14. Tangram

Il Tangram è un puzzle orientale fatto di 7 diversi
pezzi. Il gioco consiste nell'usare questi diversi pezzi per
comporre moltissime figure differenti.
Troverete le procedure per disegnare questi pezzi in un
capitolo successivo.
Alla pagina seguente troverete una copia di grandi dimensioni
del quadrato ottenuto con i pezzi del Tangram.
1) Copiate la pagina e incollatela su un cartoncino.
2) Ritagliate con cura i pezzi.
3) Potete ora giocare con questi pezzi creando figure
interessanti: uccelli, navi, draghi e molte altre.
4) Provate poi a disegnarle con il computer.
Potete fare un salto in biblioteca o in una libreria e
troverete che esistono numerosi libri dedicati al Tangram,
che vi daranno una quantità di idee di cosa fare con i
vostri pezzi
La pista del coniglio
nº 15. Altre cose sui puzzle con Logo

Ricordate i puzzle di Logo del capitolo 4?
Usate qualche stuzzicadenti o legnetto per costruire questo
puzzle sul piano del tavolo. Ora, togliete uno stecchino e
fate una figura che abbia solo tre quadrati.
Potreste risolvere il quesito togliendo un qualsiasi
stecchino alla volta e controllando che siano rimasti tre
quadrati sul tavolo. Ma esiste una procedura che potrebbe
risolvere il problema per voi. Vediamo qual è.
Prima di tutto, scriviamo la procedura che crei il puzzle.
Ovviamente, sarà basata sulla procedura
Quadrato.
PER QUADRATO
RIPETI 4 [A 100 D 90]
FINE
Ed ora possiamo scrivere la procedura per disegnare il
PUZZLE:
PER PUZZLE
PS NT
RIPETI 2 [QUADRATO MUOVI]
RIPETI 2 [QUADRATO D 180]
TANA
FINE
PER MUOVI
D 90 A 100 S 90
FINE
Il seguente passo è quello di risolvere il puzzle. Ma
come può farlo il computer? Sa pensare?
Lui semplicemente fa quello che voi gli dite. L'unico
vantaggio è che il computer agisce molto più
rapidamente.
Un modo che avete di farvi aiutare dal computer a risolvere
il problema è quello di cancellare ogni linea del
disegno e poi tornare a disegnarla.
Vi sembra confuso? Provate questo:
PER RISOLVI
RIPETI 2 [QUADRATO MUOVI]
RIPETI 2 [QUADRATO D 180]
TANA
FINE
PER QUADRATO
RIPETI 4 [LATO D 90]
FINE
PER LATO
CANCEPENNA A 100 ASPETTA 100 PENNADISEGNA
GIU I 100 A 100
FINE
ASPETTA
Ci sono delle occasioni che vorreste rallentare il procedere
del computer per vedere quello che viene elaborato, oppure
che vorreste che il procedimento si arrestasse per qualche
secondo. Questo è proprio quanto fa il comando
ASPETTA.
Dovete fare delle prove col coefficiente numerico che
accompagna ASPETTA per avere un'idea dei tempi di pausa.
Alcuni computer sono più veloci di altri. ASPETTA 100
può indurre una pausa troppo lunga o troppo
corta.
IL TACITO ACCORDO.

Eccovi un altro puzzle, il Tacito Accordo. Disegnate questo
modello su carta oppure createlo sullo schermo e
stampatelo.
La sfida è quella di disegnare 4 linee rette che
passino per tutte le 9 stelle.
Potete iniziare dal punto che volete. La condizione è
che non potete sollevare la matita dal foglio fino a quando
non avete terminato.
C'è un sottinteso. La maggioranza delle persone che
cercano di risolvere il gioco,
assumono che devono
restare nei limiti del quadrato determinato dalle nove
stelle. È quello che si chiama un
Accordo
tacito o inespresso.
Questa procedura disegna le 9 stelle:
PER TACITO
PS NASTARTA SU
RIPETI 3 [LINEA MUOVI]
TANA
FINE
PER LINEA
RIPETI 3 [STELLA A 100]
I 300
FINE
PER MUOVI
D 90
A 100
S 90
FINE
PER STELLA
GIU RIPETI 5 [A 10 D 144] SU
FINE
Eccovi una procedura per risolvere il puzzle. Voi dovrete
trovare il valore da attribuire alla variabile :LATO. Tutto
quello che avete da fare è lanciate la procedura
RISOLVI e aggiungere il valore che avete previsto. Se il
vostro tentativo non va bene, lanciate di nuovo TACITO per
ridisegnare il puzzle e provate ancora.
PER RISOLVI :LATO
GIU A :LATO/RADQ 2 D 135
A :LATO D 135
A :LATO/RADQ 2 D 90
D 45 A :LATO/RADQ 2
FINE
La variabile :LATO/RADQ 2 vi potrà sembrare qualcosa
di strano, ma non preoccupatevene troppo: è parte
della formula matematica per calcolare la lunghezza della
ipotenusa di un triangolo rettangolo isoscele (cioè
con i due cateti uguali). Imparerete di più a riguardo
della radice quadrata nel capitolo IL PIANETA DELLA
MATEMATICA.
PUZZLE INFINITI
Ricordate i puzzle relativi alle forme triangolari? Disegna
le figure senza ripassare le linee e senza staccare la matita
dal foglio?
Vi presentiamo qui le procedure. Vi forniscono nuove cose su
cui pensare.
PER TRIPUZZLE
PS PT
ST [ECCOVI UN PUZZLE]
ST "
NSTRI 100 ASPETTA 100 PT
ST [DISEGNA LE FORME TRIANGOLARI SENZA SOLLEVARE]
ST [LA MATITA DAL FOGLIO E SENZA RIPASSARE]
ST [LINEE GIA' TRACCIATE] ASPETTA 200 PT
ST [OPPURE PREMI UN TASTO E LOGO LO FARA' PER TE!]
IGNORA LC
TRI 100
FINE
Eccovi un altro esempio di STAMPA (abbreviato in ST). Questa
volta viene usato per fornire istruzioni su come
procedere.
Ma, cosa significa la linea ST “? Significa: non
stampare nulla e serve per lasciare una linea in bianco
nell'elenco delle istruzioni.
E cosa dire della linea IGNORA LC?
IGNORA è un comando di MSWLogo. Alcune versioni di
Logo non lo prevedono, ma è davvero semplice da
creare:
PER IGNORA :X
FINE
Questa procedura mostra cosa produce questo comando, ossia
assolutamente niente!
Quando sostituite alla variabile :X il comando LC (ovvero
LEGGICAR, che significa leggi il carattere), la procedura
s'arresta e aspetta a che schiacciate un tasto
qualunque.

PER NSTRI :D
PS NASTARTA S 150 A :D D 120 A :D*3
D 120 A :D*3 D 120 A :D*2
D 120 A :D*2 S 120 A :D
S 120 A :D*2 S 120 A :D
S 120 A :D*2 S 120 A :D
FINE
PER TRI :D
PS NASTARTA S 150
A :D D 120 A :D*3
D 120 A :D*3 D 120 A :D*2 ASPETTA 50
D 120 A :D D 120 ASPETTA 50
RIPETI 3[A :D S 120] S 180 ASPETTA 50
RIPETI 3[A :D D 120] ASPETTA 50
S 60 A :D S 120 A :D
FINE
Ricordate questo quesito?
Provate a risolverlo senza incrociare nessuna linea, senza
sollevare la matita dal foglio e senza ripassare su linee
già tracciate.
PER RISOLVI
PS PT
ST [BENE! CHE NE DITE DI PROVARE A FARE LO STESSO CON
QUESTA CASA? SOLAMENTE NON POTETE NEPPURE
INCROCIARE LE LINEE!]
CASA 100 ASPETTA 200 PT
ST [OPPURE PREMETE UN TASTO QUALSIASI E LOGO LO
FARÀ
PER VOI]
IGNORA LC
NSCASA 100
FINE
PER CASA :D
PS A :D S 30
RIPETI 3 [A :D S 120]
S 105 A :D*0.71 S 90
A :D*0.71 D 135 A :D
D 90 A :D D 135
A :D*0.71 D 90
A :D*0.71
FINE
PER NSCASA :D
PS A :D S 30
RIPETI 3 [A :D S 120] ASPETTA 50
S 105 A :D*0.71 S 90 ASPETTA 50
A :D*0.71 D 135 A :D ASPETTA 50
D 90 A :D D 135 ASPETTA 50
A :D*0.71 D 90 ASPETTA 50
A :D*0.71
FINE
Terminiamo con queste costruzioni di case. È arrivato
il momento di lavorare seriamente con la geometria di Logo, a
partire dal prossimo capitolo.
Capitolo 6. Poligoni, cerchi, stelle e altro
ancora
"É tempo di magia!"
"Magia?" chiese Morf. "Cosa significa magico? Non hai mai
parlato prima di un Logo magico."
"Abbiamo parlato di forme e di come puoi unirne due o
più per fare un disegno. Hai parlato di scrivere
procedure e aggiungere variabili e altre cose a tali
procedure."
"Ma tutto ciò sono solo cose comuni. Ora è il
momento di scoprire qualcosa di magico, non un Logo magico,
ma una matematica magica."
GIOCANDO CON POLIGONI
Cominciamo con quell'esagono con cui abbiamo lavorato
nell'ultimo capitolo.
PER ESAGONO
RIPETI 6 [TRI :N D 60]
FINE
Ricordate la procedura TRI :N che era contenuta nella
procedura Esagono? Attribuiamo alla variabile :N il valore
100. Così ora abbiamo:
TRI: RIPETI 3 [A 100 D 120]
Date un'occhiata anche al quadrato:
QUADRATO: RIPETI 4 [A 100 D 90]
IL POTERE DEL PENTAGONO
Avete lavorato con figure di tre, quattro e sei lati. Cosa ne
dite di un figura con cinque lati?
Come si chiama?
È un pentagono, proprio come il grande edificio che
sorge vicino a Washington D.C.
PENTAGONO: RIPETI 5 [A 100 D _____]
Ma come potete sapere di quanto far girare la tartaruga?
Potete tentare alcuni valori e vedere come funzionano? Ma
questo è uno spreco di tempo, proviamo a vedere se
c'è qualcosa che possiamo imparare dalle altre
procedure che creano figure.
Guardate il triangolo: si ripetono 3 volte angoli di 120
gradi = _____________
E nel quadrato? Si ripetono 4 volte angoli di 90 gradi =
______________
E l'esagono? Si ripetono 6 volte angoli di 60 gradi =
____________
Che numero avete messo al posto del totale? Scommetto che 360
gradi. (Riecco comparire questo valore.) Così, se
volete scrivere la procedura per il PENTAGONO, che ne dite di
questa:
RIPETI 5 [A 100 D 360/5]
Provate a lanciarla. Che cosa succede?
QUALUNQUE NUMERO DI LATI
Se potete fare come sopra per una figura di 5 lati, scommetto
che potete farlo per un numero qualunque di lati. Provateci,
perciò:
RIPETI 3 [A 100 D 360/3]
RIPETI 4 [A 100 D 360/4]
RIPETI 6 [A 100 D 360/6]
RIPETI 9 [A 100 D 360/9]
RIPETI 15 [A 100 D 360/15]
Ora provate con qualche figura a vostro gusto:
RIPETI _____ [A 100 D 360/_____]
RIPETI _____ [A 100 D 360/_____]
RIPETI _____ [A 100 D 360/_____]
Cosa succede quando il numero di volte che accompagna RIPETI
è grande? A cosa assomiglierà la figura?
Una delle prime cose che noterete è che la figura esce
dallo schermo. Quando questo succede, occorre diminuire il
numero dei passi di avanzamento:
RIPETI 90 [A 5 D 360/90]
RIPETI 180 [A 2 D 360/180]
Quanto più grande è il numero di volte che
ripetiamo il comando, tanto più la figura
assomiglierà ad un cerchio.
Giocando coi cerchi
Se quanto detto è vero, come sarà una procedura
per fare un cerchio?
RIPETI 360 [A 2 D 360/360]
Che è lo stesso di:
RIPETI 360 [A 2 D 1]
Naturalmente, un cerchio non deve necessariamente andare
verso destra. Perché non proviamo con un cerchio verso
sinistra?
RIPETI 360 [A 2 S 1]
RIPETI 360 [A 2 D 1]
Caspita, assomiglia a degli occhi strabici, vero?
UNA SFIDA DEL CERCHIO
Come potete collocare due cerchi piccoli in uno grande?
Risolvere questa sfida equivale a risolvere dei
problemi.
1) Cominciate con quello che sapete.
La tartaruga disegna due grandi cerchi avanzando di 2 passi e
girando a destra o sinistra di 1 grado 360 volte.
2) Cosa avete bisogno di conoscere?
Avete bisogno di sapere come cambiare la procedura per fare
dei cerchi più piccoli.
Ci sono tre cose che potete cambiare.
Potete cambiare il numero dei RIPETI.
Potete cambiare il numero dei Passi di Tartaruga.
Potete cambiare il numero dei Giri di Tartaruga.
Ma voi avete anche imparato che per disegnare un cerchio
dovete dire alla tartaruga di:
RIPETI 360 [A :N D oppure S 1]
Così, per disegnare un cerchio più piccolo
sembrerebbe proprio che dovreste diminuire il numero di
passi. Perciò provate:
RIPETI 360 [A 1 D 1]
Sembra che funzioni. Disegnate un cerchio sulla
sinistra.

Ora è certo che assomiglia a degli occhi strabici.
Perché non provate ad ottenere altri disegni usando
cerchi ed altre forme che avete già utilizzato?
Disegnate alcune figure circolari qui o nel vostro quaderno.
E quindi disegnatele sullo schermo
Cos'altro sapere riguardo a disegnare cerchi?
Sapete che il numero di volte che il numero di volte che
ripetete il numero di giri della tartaruga deve sommare 360.
Voi avete usato 360 volte 1. Cosa succederebbe se lo
cambiaste con 180 volte 2? Otterreste un cerchio più
grande o più piccolo?
Avanti. Provateci
RIPETI 360 [A 2 D 1]
RIPETI 180 [A 2 D 2]
RIPETI 120 [A 2 D 3]
RIPETI ______ [A 2 D _____]
RIPETI ______ [A 2 D _____]
RIPETI ______ [A 2 D _____]
Ben presto smette di assomigliare ad un cerchio.
PER DEFINIRE UN CERCHIO
Ma cos'è davvero un cerchio? Avete ideato alcune
formule per costruire le altre figure, così, qual
è la formula per il cerchio?
Se chiedete ad un insegnante di matematica, vi dirà
che il cerchio è una linea chiusa formata da punti che
stanno alla stessa distanza da un punto fissato. Sullo
schermo di Logo, potete usare TANA come punto fisso.
Così che il cerchio è una linea chiusa formata
da punti che stanno alla stessa distanza da TANA.
Ha senso? Certo! Ora, siete capaci di scrivere una procedura
che disegni un cerchio in questo modo?
Prendiamo TANA come punto fisso, come centro del cerchio. Il
prossimo passo da fare è disegnare una linea fatta di
punti che stanno alla stessa distanza da TANA. Come
farlo?
Dovete sollevare la penna (SU), andare alla distanza a cui
volete tracciare il cerchio, tracciare un punto, tornare
indietro, spostarvi di un piccolo angolo, ritornare alla
stessa distanza, disegnare un punto, tornare indietro,
spostarvi di un piccolo angolo e così via.
Prima di iniziare a disegnare la linea, proviamo a scrivere
la procedura per disegnare un PUNTO.
PER PUNTO
GIU D 90 A 1
I 1 S 90 SU
FINE
Capite come funziona?
Ora facciamo buon uso di questa procedura.

PER CERCHIO
TANA PS
RIPETI 360 [A 200 PUNTO I 200 D 1]
FINE
La procedura prende avvio da TANA con lo schermo pulito. Poi,
la tartaruga avanza di 200 passi, disegna un punto, torna ad
TANA e gira di un grado di tartaruga. Avete disegnato una
linea in cui i punti distano tutti 200 dal centro.
Come chiamate quella distanza dal centro del cerchio, dal
punto fissato alla sommità del cerchio?
Essa è il raggio del cerchio. Come chiamate la linea
tracciata tutt'intorno al centro? Giusto, è la
circonferenza del cerchio.
Un altro quesito: come chiamate la distanza da una parte
all'altra della circonferenza passando dal centro? Essa
è il diametro del cerchio.
Un'ultima domanda: che rapporto c'è tra il diametro
del cerchio e la circonferenza?
Hm...questa è difficile, vero?
Il diametro moltiplicato per PIGRECO dà la
circonferenza. Ma, cos'è PIGRECO?

NOTA BENE: PIGRECO è la sedicesima lettera
dell'alfabeto greco. È uno di quegli strani numeri
matematici che potrebbero tenere il tuo computer occupato per
ore. I matematici lo chiamano un numero "trascendente"
perché non è possibile attribuirgli un valore
preciso.
C'è una procedura inserita in Logo - PIGRECO - che
calcola il valore di PI:
3.14159265358979
Il ruolo del 360
Ricordate quello che avevate imparato sul numero 360?
C'è un altro ruolo che gioca in altre
situazioni.
Sembra che quando addizionate gli angoli di cui avete bisogno
per disegnare ogni figura chiusa costituita da segmenti
rettilinei, la risposta sia 360.
Un'altra cosa interessante è che quando la tartaruga
compie 360 gradi sempre finisce nel punto da cui è
partita.
Provateci. Aggiungete lo stesso numero negli spazi in bianco
di questa procedura:
RIPETI _______ [ A :LATO D 360/_________]
Date un'ulteriore occhiata a questi comandi. Come dovreste
scrivere una procedura che volesse disegnare ciascuno di
essi?
Triangolo:
RIPETI 3 [ A :LATO D 360/3 ]
Quadrato:
RIPETI 4 [ A :LATO D 360/4 ]
Pentagono:
RIPETI 5 [ A :LATO D 360/5 ]
Esagono:
RIPETI 6 [ A :LATO D 360/6 ]
Ottagono:
RIPETI 8 [ A :LATO D 360/8 ]
In queste procedure usate la variabile :LATO per definire la
lunghezza del lato della figura.
Che vi sembra di questa procedura:
PER FIGURA :LATO
RIPETI ______ [A :LATO D 360/________ ]
FINE
Quando riempite gli spazi in bianco come avete fatto sopra,
potete disegnare ogni tipo di poligono.
Che ve ne sembra di quest'altra?
PER POLIGONO :LATO :VOLTE
RIPETI :VOLTE [ A :LATO D 360/:VOLTE ]
FINE
Dopo aver giocato un poco con questa procedura, scrivetene
una che disegni tutti i poligoni fino a quasi il
cerchio.
PER POLIGONI :LATO :VOLTE
SE :VOLTE = 72 [STOP]
RIPETI :VOLTE [A :LATO D 360/:VOLTE ]
POLIGONI :LATO :VOLTE+1
FINE
La pista del coniglio
nº 16. Fissare le stelle

Disegnate un grosso pentagono sullo schermo. Vi ricordate
come si fa?
RIPETI 5 [ A 100 D 360/5 ]
Ora stampate quello che avete sullo schermo e con penna e
riga tracciate una diagonale da ogni angolo. In questo modo,
ogni angolo è collegato da una linea ad un altro
angolo.
Cosa vedete dentro il pentagono? Io vedo una grossa stella, e
voi?
Disegnate ora un grosso esagono sullo schermo.
RIPETI 6 [ A 100 D 360/6 ]

Tracciate le diagonali per unire tutti gli angoli e cosa
vedete? C'è una stella di Davide, vero? É una
stella a sei punte.
Provateci con un ottagono. Questa volta ci sono una
quantità di linee da tracciare.
Come si potrebbe disegnare una stella sullo schermo?
Potrebbero i disegni fatti su carta aiutarvi a
immaginarvelo?
Diamo un'occhiata al pentagono. Per disegnare il contorno, la
tartaruga AVANZA 100 e RUOTA 360/5 (D 360/5), ovvero D 72.
L'angolo esterno alla figura è 72. Quanto misura
l'angolo interno?
Proviamoci.
Pulite lo schermo e disegnate un altro pentagono come quello
precedente. Assicuratevi di poter vedere la tartaruga. Quindi
scrivete:
A 100
La tartaruga ha ora percorso il primo lato della figura,
vero? Qual è il comando per ruotare completamente la
tartaruga e farla tornare al punto di partenza?
Non è I 100.
La tartaruga non ruota su se stessa usando il comando
INDIETRO. Il comando giusto è D oppure S 180, ovvero
un mezzo cerchio come mostrano i due angoli del disegno sopra
riportato. Avanti, provateci.
D 180 A 100
Dov'è adesso la tartaruga?
Battete TANA e osservate cosa succede.
Tutto quello che la tartaruga fa è girare su se
stessa. É già tornata a casa. Così
proviamo qualcos'altro. Girate S 18 e arrampicatevi sul lato
sinistro del pentagono.
A 100 D 72
Ora la tartaruga deve affrontare il secondo lato del
pentagono.
Ora la gran domanda: di quanto dovete ruotare per far
ritornare in TANA la tartaruga?
Non è difficile, vero? Avete ruotato di 180 gradi la
prima volta, no? E dunque, quanto fa 180 - 72? Io ho ottenuto
108, e voi? Provate:
D 108 A 100 TANA
Ecco fatto, Ernestina è proprio tornata dov'era
all'inizio.
Ci crediate o meno, ma avete fatto una cosa importante. Non
mi credete? Bene, allora provate
S 18 RIPETI 5 [A 150 I 50 D 72]
Caspita, che pentagono bizzarro! Ma che mostra quanto avete
fatto. Per disegnare un pentagono, Ernestina AVANZA 100 (A
100) e RUOTA 72 (D 72). In questo modo potete vedere in modo
più chiaro gli angoli.

Lo stesso succede con l'esagono:
RIPETI 6 [A 150 I 50 D 60]
Per disegnare l'esagono, Ernestina AVANZA 150 (A 150),
RETROCEDE 50 (I 50) e RUOTA 60 (D 60) rispetto all'esterno.
Quindi determina un angolo interno di __________.
Se avete risposto 120, appuntatevi una Stella Dorata.
Riguardate il vostro disegno del pentagono con le diagonali.
Quanti angoli vedete in ogni vertice? Io ne vedo tre, e
voi?
Sono questi angoli tutti uguali? Perfetto; così, se
l'angolo misura 108 gradi, quanto misura ciascuno dei tre
angoli piccoli? Dovrebbe essere 108/3 ovvero sia 36,
giusto?
Ora, prendete matita e riga e disegnate: prolungate ciascuna
delle diagonali all'esterno del pentagono, come faceva
Ernestina quando le lanciavamo i comandi A 150 I 50. In
questo modo avete un angolo maggiore esterno alla stella e
uno più piccolo all'interno. Poiché sappiamo
che l'angolo piccolo misura 36, quanto misurerà
l'angolo grande?
Dobbiamo fare 180 - 36 ovvero 144.
Ora avete davvero ottenuto qualcosa! Ebbene, di che angolo
avete bisogno per disegnare una stella a cinque punte?
RIPETI 5 [A 160 D ________]
Aggiungi il valore trovato.
S 36 RIPETI 5 [A 100 D 72]
Che ve ne pare? Eccovi la stella dentro il pentagono, proprio
come nel disegno fatto sul foglio.
Ma come può Ernestina sapere che la diagonale misura
160? Bene, questo è argomento per un'altra
lezione.
Perché non provate a vedere cosa potete fare con la
stella di Davide? Se guardate attentamente, vedrete che la
stella contiene due triangoli.
Eccovi un suggerimento. Se il lato dell'esagono è 100,
provate 172 come misura del lato del triangolo,
PER ESAGONO
RIPETI 6 [A 100 D 60]
FINE
PER PENTAGONO
RIPETI 5 [A 100 D 72]
FINE
PER STELLA
D 36 RIPETI 5 [A 160 D 144]
FINE
PER STELLA.DI.DAVIDE
D 30 TRI
D 90 SU A 100 GIU
S 150 TRI
FINE
PER TRI
RIPETI 3 [A 172 D 120]
FINE
QUALCOS'ALTRO SU CUI RIFLETTERE
Come potreste disegnare una stella sette punte? Un poligono
di sette lati è facile:
RIPETI 7 [A :LATO D 360/7]
Ora trasformatelo in una stella. Poi provate a vedere come
potreste fare con 8, 9, 10, 11 punte e altre forme di
stelle.
RIPETI * :N
Ricordate il vostro comando per costruire "ogni
poligono"?
RIPETI :VOLTE [A :LATO D 360/:VOLTE]
Per disegnare un pentagono, il comando sarebbe stato:
RIPETI 5 [A :LATO D 360/5]
Cosa succede se scriveste:
RIPETI 5 [A 100 D 360/5*2]
Ciò ripete per cinque volte: Avanza 100, Gira a Destra
di 360 diviso 5, ossia 72, moltiplicato per 2, ovvero
144.
É come dire:
RIPETI 5 [A 100 D 144]
Vi risulta famigliare la figura che questo comando disegna?
Dovrebbe. É di nuovo una stella. Provate ora a fare la
stessa cosa con l'esagono:
RIPETI 6 [A :LATO D 60]
E cambiamolo per:
RIPETI 6 [A 100 D 60*2]
Quando avete fatto questo cambio con il pentagono siete
passati da una figura con cinque lati ad una figura con
cinque punte. Quando lo provate con l'esagono, passate da una
figura con 6 lati ad una figura con sei punte?
Cosa succede? Perché?
Cosa succede con un ottagono?
RIPETI 8 [A 100 D 45]
Che cambiamo in:
RIPETI 8 [A 100 D 45*2]
Cosa succederebbe se cambiaste il *2 con *3?
Fate degli esperimenti con altri numeri per vedere cosa
succede. Fra le altre cose, scoprirete che dovete cambiare un
poco il ruolo che gioca il 360.
Prima abbiamo detto:
"Un'altra cosa interessante è che quando la tartaruga
compie 360 gradi sempre finisce nel punto da cui è
partita. "
Ora dobbiamo cambiarlo:
"Un'altra cosa interessante è che quando la tartaruga
compie 360 gradi, o ogni multiplo di 360
, sempre
finisce nel punto da cui è partita.
FOGLIO DI LAVORO SUL RUOLO DEL 360
Riempite con i numeri corretti la seguente tabella e
disegnate la figura che ottenete sullo schermo. Alcune
caselle sono già state riempite per aiutarvi ad
iniziare il lavoro.
Il numero posto in cima ad ogni colonna della tavola
rappresenta il numero di RIPETI. Il numero nella colonna di
sinistra rappresenta il numero di giri della tartaruga
(Turtle Turns = TT).
Per le figure della prima fila in alto, il numero di RIPETI
è uguale al numero dei lati.
Cerchi, curve, anelli e altre cose

Ormai avete una sufficientemente vasta idea di come lavorare
con le figure: quadrato, rettangolo, triangolo cerchio e
così via.
É arrivato il momento di fare dei Logo salti
attraverso l'anello.
Nel resto del libro, troverete che ci sono molti più
modi di usare il sistema grafico della tartaruga per fare
altre cose che non sia disegnare figure geometriche.
Sapete già che potete fare un cerchio usando una
procedura come questa:
RIPETI 360 [A 1 D 1]
Come potreste disegnare una curva? Come potreste disegnare
solo una porzione di cerchio?
Se ci sono 360 gradi in un cerchio, una sua parte dovrebbe
essere qualcosa di meno, e perciò provate:
RIPETI 90 [A 1 D 1]
Hmmmm......
Rifletteteci un po' sopra. Sapete già che D o S
180
fa che la tartaruga giri su se stessa e vada nella
direzione

opposta. Perciò cosa succederebbe se facesse
un'inversione di 180 gradi in questo punto?
RIPETI 90 [A 1 D 1]
D 90
RIPETI 90 [A 1 D 1]
Non so cosa ne pensate voi, ma a me sembra una foglia
Cosa succederebbe se continuaste intorno in cerchio? Eccovi
la foglia:

PER FOGLIA
RIPETI 90 [A 1 D 1]
D 90
RIPETI 90 [A 1 D 1]
FINE
E ora provate questo:
PER FOGLIE
RIPETI 4 [FOGLIA]
FINE
Vedete, con un poco di lavoro, si può fare di
tutto.
Perché non provate a vedere cosa si può fare
con questa figura muovendola attorno. Forse potrebbe
diventare una farfalla? O forse un copricapo indiano?

Che ne dite di un crisantemo?
Che ne dite di fare un'intera aiuola fiorita, usando
differenti forme di curve, differenti dimensioni di
foglie.
Che altri tipi di fiori potete disegnare?
Capitolo 7. Posizioni della tartaruga e
coordinate

Prima, abbiamo mosso la tartaruga per lo schermo usando i
comandi di direzione: AVANTI, INDIETRO, SINISTRA, DESTRA.
Bene, ci sono due altri modi per muovere la tartaruga che vi
offrono nuove cose da fare. Sono la direzione della tartaruga
e le coordinate x-y.
L'ORIENTAMENTO DELLA TARTARUGA
Quando volete che la tartaruga si muova dalla posizione di
partenza (TANA) in alto a destra, dovete dirle D 45 A 100 S
45.
Un altro modo per fare la stessa cosa è dire alla
tartaruga di prendere la direzione 45, avanzare di 100 passi
e quindi tornare ad assumere la direzione di partenza verso
l'alto dello schermo.
ASDIR 45 A 100 ASDIR 0
Quando scrivete ASDIR 45, che direzione assume la tartaruga?
Gira nella stessa direzione di quando le dite D 45,
vero?
Se scrivete ASDIR -45 A 100 ASDIR 0, cosa pensate che
succeda? Avanti, provate e vedrete.
Ricordatevi di pulire prima lo schermo.
Bene, adesso scrivete di nuovo ASDIR 45 A 100 ASDIR 0, ma
senza pulire lo schermo.
Cosa succede?
Hummmmm? Questo è interessante.
Ora scrivete un'altra volta ASDIR 45 A 100 ASDIR 0. Cosa
succede questa volta?
Bene, sembra che possiate usare il comando ASDIR per far
girare la tartaruga, ma certamente non agisce come i comandi
D e S.

Se volete sapere in quale direzione punta la tartaruga,
scrivete:
MOSTRA DIREZIONE
DIREZIONE è un nuovo comando. Potete facilmente
indovinare cosa significa.
MOSTRA è un altro nuovo comando che assomiglia molto a
STAMPA. Mostra qualcosa nella finestra dei comandi. Vedremo
più cose su MOSTRA in seguito.
Nel frattempo, cerchiamo di ricavare qualcosa di sensato
dall'utilizzo di direzione.
Vi ricordate dell'orologio di spago che avete costruito poco
fa....quello fatto con un pezzo di tavola e qualche chiodo?
Questo è un buon strumento per capire cose che
riguardano le direzioni.
Bene, diamo un'altra occhiata all'orologio.
A quale direzione corrispondono sull'orologio le 12:00? Le
3:00? Le 6:00? Le 9:00?
Colta l'idea? Le direzioni della tartaruga seguono le
lancette dell'orologio.
La direzione alle 12:00 è zero. alle 3:00 è 90,
alle 6:00 è 180, e alle 9:00 è 270.
Ciò non significa che non possiate muovervi in senso
antiorario: verso sinistra.
Avete già visto cosa succede quando battete:
ASDIR -45

Che ore corrisponderanno a ASDIR -90, ASDIR -180, ASDIR
-270?
IL COMPASSO DELLA TARTARUGA
Quando guardate un orologio come questo, con tutte le ore
contraddistinte da gradi, a cosa vi fa pensare? Cosa ne dite
di un compasso?
Ugh, certamente. É come un compasso.
Ora, cosa credete che potete imparare da un compasso?
Morf ha in serbo per voi un grande gioco che vi
aiuterà. Imparerete un poco oltre, in questo capitolo,
le procedure per disegnare questo cerchio marcato.
La pista del coniglio
nº 17. Il rally della tartaruga
Avete sentito parlare dei rally automobilistici?
Bene, i rally automobilistici sono un tipo di corsa. In
questo tipo di corsa non è determinante quanto veloce
correte, ma quanto bene sapete seguire le direzioni.
Su ogni auto siede un pilota e un navigatore. La squadra che
sa incontrare un percorso nel tempo limite è quella
che vince.
Nel Rally della Tartaruga vi viene consegnato un compasso e
una lista di direzioni. Avete bisogno di un orologio digitale
che indichi il passare dei secondi o di un cronometro per
potervi cronometrare.
Ecco come si gioca.
Una persona deve stabilire il percorso: può essere il
vostro insegnante, una mamma, un compagno eletto Capitano del
Rally. Il percorso può snodarsi in una casa, nel
quartiere, intorno al cortile della scuola, o dovunque sia
possibile stabilire un percorso sicuro da seguire.
Le istruzioni potrebbero essere di questo tipo, solo che
molto più numerose:
1) Avete 15 minuti per completare il percorso.
2) Si parte dalla partenza (TANA). Stabilite la vostra
direzione a 0 e avanzate per 40 secondi.
3) Mettetevi in direzione 90 e avanzate di 120 passi.
4) Ponetevi in direzione 30 e correte avanti per 10
secondi.
Potete stabilire tutte le direzioni che volete. Devono essere
semplici. Possono essere buffe. O possono essere difficili.
É più divertente se le mischiate: camminare,
correre, girare... e non scordatevi di andare
all'indietro!
Il Capitano del Rally cronometra ogni squadra, quando parte e
quando arriva. Ogni squadra parte a distanza di uno o due
minuti dalla precedente, cosicché le squadre non si
scontrino lungo il percorso.
É una buona idea stabilire un posto di controllo lungo
il percorso dove le squadre debbano raccogliere qualcosa,
come un pezzo di carta, e restituirlo all'arrivo. Sul foglio
potrebbe esserci una domanda a cui ogni giocatore deve
rispondere correttamente. Usate l'immaginazione. La cosa
più importante è cercare di divertirsi mentre
si fa pratica con le direzioni.
Dopo aver corso il Rally della Tartaruga, perché non
cercare di correrne uno sul computer? Resterete sorpresi da
quello che potete inventarvi utilizzando i comandi di
direzione. Infatti sarà proprio quello che farete tra
poco in questo stesso capitolo.
Coordinate x - y
Immaginate questo schermo con disegnate su di esso 1000
colonne e 680 righe. Questo è quanto vi mostra un
monitor da 15" SVGA. Altri monitor possono presentare
qualcosa di diverso.
Le colonne vanno dall'alto in basso e le righe da lato a
lato. Per stabilire una posizione, dovete sapere quale
colonna e quale riga scegliere.
È esattamente quanto vi permette di fare l'utilizzare
le coordinate X - Y. La coordinata X si riferisce al numero
di colonne esistenti da lato a lato; la coordinata Y al
numero di file dall'alto in basso.
Due linee dividono lo schermo a metà dall'alto in
basso e da destra a sinistra. Il punto in cui s'incrociano si
chiama TANA, e le coordinate valgono: X zero e Y zero.
Se vi muovete verso l'alto a destra, il valori di X e Y sono
entrambi positivi (+).
Se vi muovete verso l'alto a sinistra, il valori di X sono
negativi (-), ma quelli di Y restano positivi.
Se vi muovete verso il basso a sinistra, il valori di X e Y
sono entrambi negativi.
Se vi muovete verso il basso a destra, i valori di X sono
positivi, ma quelli di Y sono negativi .
Se volete inserire nello schermo del vostro computer lo
stesso tipo di griglia, usate la seguente procedura.
PER DUOTRI
PS PT MT
STAMPA [POTETE DISEGNARE ANCHE USANDO LE COORDINATE X-Y]
ASPETTA 100
STAMPA [VAX -100] VAX -100 ASPETTA 100
STAMPA [VAY 100] VAY 100 ASPETTA 100
STAMPA [VAXY 0 0] VAXY 0 0 ASPETTA 100
STAMPA [VAXY 100 100] VAXY 100 100 ASPETTA 100
STAMPA [VAY 0] VAY 0 ASPETTA 100
STAMPA [VAX 0] VAX 0 ASPETTA 100
FINE
PER DX
D 90 A 10 S 90 I 5 A 5 D 90 A 10 S 90 A 2 I 7 A 5
FINE
PER G
RIPETI 50 [DX] D 90 RIPETI 50 [DX]
FINE
PER GRAPH
LINEAX -500 ULTIMOX LINEAY -340 ULTIMOY
SU TANA GIU MT
FINE
PER GRIGLIA
NASTARTA PS PT STAMPA [DIAMO UN'OCCHIATA ALLE COORDINATE
X-Y]
ASPETTA 100 PS G GRAPH PT
STAMPA [LA TARTARUGA È A CASA, ALLE COORDINATE
0,0]
ASPETTA 300 JB
FINE
PER JB
STAMPA [L'ASSE X VA DA LATO A LATO]
STAMPA [OGNI LINEA DISTA 20 COLONNE] ASPETTA 100
STAMPA [L'ASSE Y VA DALL'ALTO IN BASSO]
STAMPA [OGNI LINEA VERTICALE DISTA 20 RIGHE] ASPETTA
100
STAMPA [L'ASSE DELLE X VA DA -500 A SINISTRA,]
STAMPA [A +500 A DESTRA.] ASPETTA 100
STAMPA [L'ASSE DELLE Y VA DA -340 SUL FONDO,]
STAMPA [A +340 ALL'APICE DELLO SCHERMO.] ASPETTA 100
STAMPA [VEDIAMO ADESSO COME STABILIRE LE COORDINATE
X-Y]
DUOTRI
FINE
PER LINEAX :SIZE
SU VAXY :SIZE 340 GIU VAXY :SIZE -340
SE :SIZE = 500 [STOP]
LINEAX :SIZE +20 NASTARTA
FINE
PER LINEAY :SIZE
SU VAXY -500 :SIZE GIU VAXY 500 :SIZE
SE :SIZE = -340 [STOP]
LINEAY :SIZE -20 NASTARTA
FINE
PER ULTIMOX
SU VAXY 500 340 VAXY 500 -340
FINE
PER ULTIMOY
SU VAXY -500 -340 VAXY 500 -340
FINE
XCOR E YCOR
TANA corrisponde alle coordinata X 0 e alla coordinata Y
0.
In Logo possiamo utilizzare le abbreviazioni:
XCOR
YCOR
Pulite lo schermo e quindi battete MOSTRA XCOR. Cosa
succede?
Hummmmmmmm. Molto interessante.
Cosa pensate di necessitare per mandare la tartaruga ad
un'altra coordinata?
Appuntatevi una Stella Dorata se avete risposto VAX... (vai
alla coordinata X).
Avanti, provateci. Scrivete VAX e un numero.
VAX________________
VAX________________
Ora provate a muovere la tartaruga su e giù. Quale
sarà il comando? Questo dovrebbe essere facile:
VAY________________
VAY________________
Scommetto che avete già pensato che potreste combinare
i due comandi. Certamente:
VAXY________ ________
Benissimo. Dovete scrivere sia la posizione di X che quella
di Y con il comando VAXY. Ricordatevi che quando usate il
comando VAXY usate numeri per stabilire i valori di X e
Y.
VAXY________ ________
VAXY________ ________
ASPOS (assegna la posizione della tartaruga) è un
altro comando col quale potete muovere la tartaruga per lo
schermo.
VAXY chiede due numeri, ASPOS una lista di due numeri.
C'è una differenza importante.
Vi ricordate delle liste? Devono essere messe dentro
parentesi quadre. Perciò nel caso di ASPOS,
avrete:
ASPOS [coordinata-X coordinata-Y]
Quali sono le posizioni di x e y in questa
formulazione?
ASPOS [20 45]
La ascissa è 20 e l'ordinata è 45.
Ora, dove stiamo? La penna era abbassata quando abbiamo
battuto i comandi VAX, VAY, VAXY e ASPOS? Cosa è
successo? Avete finito per avere sullo schermo un disegno
pazzo?
Se la penna fosse alzata, abbassatela e poi esercitatevi
ancora un po' con i comandi.
Ecco. Avete visto cosa potete fare con le coordinate e i
comandi di posizione? Li useremo per aiutarci a fare il
cerchio marcato che abbiamo visto all'inizio del
capitolo.
Eccovi le procedure:
PER ARCR :CENTRO :RAGGIO :ANGOLO
LOCALE "AMT
ASSEGNA "AMT :RAGGIO * PIGRECO / 180
SU ASPOS :CENTRO S 90 A :RAGGIO D 90 GIU
RIPETI :ANGOLO [A :AMT D 1]
FINE
PER CERCHIOT :CENTRO :RAGGIO :ANGOLO
RIPETI 360 / :ANGOLO [ARCR :CENTRO :RAGGIO :ANGOLO
TACCA]
SU ASPOS :CENTRO GIU
FINE
PER TACCA
D 90 A :RAGGIO/10
I :RAGGIO/10 S 90
FINE
CERCHIOT disegna un cerchio come una serie di archi con una
tacca fra gli archi.
Per disegnare il singolo arco compreso tra le ore
dell'orologio, battete:
ARCR [100 20] 100 30
In questa procedura la variabile :CENTRO è una lista
che rappresenta l'ascissa e l'ordinata. La tartaruga si
sposta al punto di ascissa 100 e ordinata 20. Quindi ruota e
si sposta all'apice dell'arco disegnandolo un grado alla
volta.
É abbastanza diverso dai cerchi che avete fatto prima,
con i quali semplicemente partivate dall'apice e disegnavate
un cerchio. Dovete dire alla tartaruga quanto deve avanzare e
di quanti gradi ruotare.
RIPETI 360 [A_______ D_________]
In queste procedure, voi dite alla tartaruga dove dev'essere
il centro del cerchio e quanto deve valere il raggio. Sapete
cos'è il raggio, vero? È la distanza dal centro
del cerchio al suo apice. É la metà del
diametro. Il diametro va da capo a capo passando per il
centro.
Sapete quanto Morf adori sperimentare.
Ecco un esperimento per voi.
Cambiate la procedura ARCR affinché utilizzi il
comando VAXY invece di ASPOS.
Cos'è la variabile :AMT?
É parte di una formula matematica per disegnare un
cerchio. Calcola la dimensione del cerchio basato sulla
grandezza del raggio che avete indicato.
PER CERCHIO :CENTRO :RAGGIO
LOCALE "AMT
ASSEGNA "AMT :RAGGIO*PIGRECO/180
SU ASPOS :CENTRO
VAX XCOR - :RAGGIO ASDIR 0 GIU
RIPETI 360 [A :AMT D 1]
SU ASPOS :CENTRO GIU
FINE
Cambiate il PIGRECO/180 con PIPIGRECO/360. Cosa
succede?
Vi ricordate del rapporto tra il diametro del cerchio e
PIGRECO?
DIAMETRO *PIGRECO = CIRCONFERENZA
Così, forse :RAGGIO * PIGRECO/180 avrebbe avuto
più senso se scritta come:
(:RAGGIO*2)*PIGRECO/360
:RAGGIO*2 è uguale al diametro, vero? Quando
moltiplichiamo il diametro per PIGRECO otteniamo la
circonferenza. Quindi la dividiamo per 360.
Terribilmente semplice? O semplicemente terribile?
Coordinate creative
Ora sapete come usare le coordinate per creare immagini nella
procedura GRIGLIA.
Eccovi una semplice procedura che utilizza i comandi
SETXY.
PER BARCA.A.VELA
PS SU VAXY 20 -40 GIU
VAXY -160 -40
VAXY 20 160
VAXY 140 -40
VAXY 20 -40
SU VAXY -120 -60 GIU
VAXY -80 -100
VAXY 80 -100
VAXY 120 -60
VAXY 20 -60
VAXY 20 -40
VAXY 20 -60
VAXY -120 -60
FINE
Ora...vi andrebbe una sfida? Giocate un poco con la seguente
procedura per vedere cosa disegna. COSA1, COSA2 e COSA3 sono
semplici sottoprocedure che servono a suddividere in parti
una larga procedura.
PER CHE.COSA
PS PT SU VAXY 5 25 GIU
COSA1 COSA2 COSA3
FINE
PER COSA1
VAXY 25 25 VAXY 30 25
VAXY 35 25 VAXY 35 15
VAXY 30 0 VAXY 35 -10
VAXY 30 -15 VAXY 25 -5
VAXY 25 -15 VAXY 15 -15
VAXY 5 -5 VAXY 10 -15
VAXY 0 -15
FINE
PER COSA2
VAXY -5 -5 VAXY -5 -15
VAXY -15 -15 VAXY -10 -15
VAXY -15 5 VAXY -20 0
VAXY -25 -10 VAXY -30 -15
VAXY -35 -15 VAXY -40 -10
VAXY -40 -5 VAXY -35 -10
VAXY -35 -10 VAXY -30 -10
VAXY -25 0 VAXY -25 10
FINE
PER COSA3
VAXY -30 15 VAXY -30 25
VAXY -20 35 VAXY -15 35
VAXY -10 30 VAXY -5 25
VAXY -5 30 VAXY 0 30
VAXY 5 25 VAXY 5 10
VAXY -5 5 VAXY -10 5
VAXY -10 10 VAXY -15 5
SU TANA GIU
FINE
Battete questa procedura sul vostro computer e guardate cosa
disegna. Questo è un assaggio...un animale da circo.
Potrete vederlo se lancerete correttamente la procedura
CHE.COSA.
Ora, adorniamo un poco la procedura.
PER PARTENZA
CHE 400
FINE
PER COSA1 :X
VAXY :X+25 25 VAXY :X+30 25
VAXY :X+35 25 VAXY :X+35 15
VAXY :X+30 0 VAXY :X+35 -10
VAXY :X+30 -15 VAXY :X+25 -5
VAXY :X+25 -15 VAXY :X+15 -15
VAXY :X+5 -5 VAXY :X+10 -15
VAXY :X+0 -15
FINE
PER COSA2 :X
VAXY :X-5 -5 VAXY :X-5 -15
VAXY :X-15 -15 VAXY :X-10 -15
VAXY :X-15 5 VAXY :X-20 0
VAXY :X-25 -10 VAXY :X-30 -15
VAXY :X-35 -15 VAXY :X-40 -10
VAXY :X-40 -5 VAXY :X-35 -10
VAXY :X-35 -10 VAXY :X-30 -10
FINE
PER COSA3 :X
VAXY :X-25 0 VAXY :X-25 10
VAXY :X-30 15 VAXY :X-30 25
VAXY :X-20 35 VAXY :X-15 35
VAXY :X-10 30 VAXY :X-5 25
VAXY :X-5 30 VAXY :X+0 30
VAXY :X+5 25 VAXY :X+5 10
VAXY :X-5 5 VAXY :X-10 5
VAXY :X-10 10 VAXY :X-15 5
SU TANA GIU
FINE
PER CHE :X
SE :X<-400 [STOP]
SU VAXY :X+5 25 GIU
COSA1 :X COSA2 :X COSA3 :X
ASSEGNA "X :X-70
CHE :X
FINE
Quale disegno pensate che generi questa procedura? Meritate
il Primo Premio se avete risposto una fila di animali del
circo. Per disegnare la fila d'animali abbiamo usato
variabili nel comando VAXY.
Ma, aspettate un momento. L'ascissa è la sola
coordinata che cambia ogni volta che viene disegnato un
animale.
Ricordatevi: le ordinate sono linee che vanno su e
giù. Se cambiate l'ordinata, alcuni animali
terminerebbero per restare a mezz'aria. E ciò
apparirebbe certamente divertente!
UNA GARA DI TIRO AL BERSAGLIO
Volete divertirvi praticando con le coordinate x e y? Bene,
provate con questo tiro al bersaglio.
PER CHIEDI1
STAMPA [SAI COLPIRE IL BERSAGLIO?] ASPETTA 100
STAMPA [DAMMI LE COORDINATE X E Y.] ASPETTA 100
STAMPA [X= ] ASSEGNA "X1 LEGGIPAROLA
STAMPA [Y= ] ASSEGNA "Y1 LEGGIPAROLA
VERIFICA UNOVERO? (:X1>ASS 480) (:Y1>ASS 340)
SEVERO [STAMPA [IL TUO NUMERO E' TROPPO GRANDE. RITENTA.]
ASPETTA 100 CHIEDI1]
SEFALSO [GIU MT VAXY :X1 :Y1]
SE UNOVERO? (:X1>(:X+12)) (:X1<(:X-12)) [SU TANA GIU
CHIEDI1]
SE UNOVERO? (:Y1>(:Y+12)) (:Y1<(:Y-12)) [SU TANA GIU
CHIEDI1]
CONGRATULAZIONI
FINE
PER CONGRATULAZIONI
PT RIPETI 24 [STAMPA [CONGRATULAZIONI!]]
ASPETTA 100
STAMPA [VUOI GIOCARE ANCORA? (S/N) ]
ASSEGNA "ANS LC
SE :ANS = "S [GIOCO]
SE :ANS = "N [STAMPA [ARRIVEDERCI A PRESTO] ALT]
FINE
PER GIOCO
PS PT TARGET CHIEDI1
FINE
PER TARGET
SU NASTARTA VAXY (ACASO 900)-450 (ACASO 680)-340
ASSEGNA "X XCOR+12 ASSEGNA "Y YCOR
GIU RIPETI 36 [A 2 D 10]
SU TANA MT
FINE
La tartaruga disegna un piccolo bersaglio sullo schermo. Vi
verrà quindi chiesto di indovinare le coordinate del
bersaglio. Se le azzeccherete, verrà lanciata la
procedura CONGRATULAZIONI, altrimenti vi verrà data
una nuova opportunità.
Avanti, è divertente.
Ci sono un paio di cose nuove che avete trovato in questo
gioco.
ACASO :N
Questo comando sceglie a caso un numero compreso tra 0 e il
numero scelto :N.
Provate:
RIPETI 5 [STAMPA ACASO 10]
Cos'è successo? Scommetto che avete avuto numeri da 0
a 9. Diamo un'occhiata alla nostra linea nel gioco:
VAXY (ACASO 900)-450 (ACASO 680)-340
Sembra complicato! Ricordate che ACASO solo sceglie numeri
tra 0 e il numero scelto da voi. Poiché le coordinate
possono assumere valori inferiori a 0, abbiamo bisogno di
numeri casuali che possano situare il bersaglio ovunque sullo
schermo.
Così, leggete la riga:
VAXY (ACASO 900)-450 (ACASO 680)-340
VAXY vuole due variabili, i valori della ascissa e della
ordinata. Prima Logo legge l'ascissa. Sapete che lo schermo
del Logo è largo 1000 passi da tartaruga. Così,
l'ascissa varia da -500 a sinistra a 500 a destra.
Ma, poiché non vogliamo che il nostro bersaglio stia
proprio sul bordo, facciamo in modo che il numero più
alto che viene scelto a caso sia sempre un poco più
piccolo di 500.
(ACASO 900)-450
Se ACASO sceglie il numero maggiore: 900, Logo gli sottrae
450 dandovi una ascissa pari a 450.
Se ACASO sceglie il valore più piccolo: 0, Logo gli
sottrae 450 dandovi un'ascissa pari a -450.
Una volta ottenuta l'ascissa, Logo continua a leggere per
cercare la ordinata.
(ACASO 680)-340
Se facciamo con le ordinate gli stessi calcoli che abbiamo
eseguito con le ascisse, otterremo un campo di valori
compreso tra -340 e 340. In questo modo, questa linea
possiamo collocare il bersaglio in qualunque punto dello
schermo.
VERIFICA UNOVERO? è uno di quegli operatori logici
che chiedono se ciascuna delle due condizioni poste è
vera.
(:X1>ASS 480)
(:Y1>ASS 340)
Per la prima condizione troviamo che
(:X1>ASS 480)
:X1 è maggiore di cosa?
ASS stabilisce i valori assoluti. Ciò che ASS dice
è che non importa se l'ascissa :X1 ha un valore
positivo (alla destra di TANA) o negativo (alla sinistra di
TANA), esso annulla il segno e considera solo il valore
assoluto del numero.
VERIFICA UNOVERO? (:X1>ASS 480) (:Y1>ASS 340)
Questa linea significa che va provato se :X1 è
maggiore di 480 (o minore di -480) O se :Y1 è maggiore
di 340 (o minore di -340).
SEVERO [STAMPA [IL TUO NUMERO E' TROPPO GRANDE. RITENTA.]
ASPETTA 100 CHIEDI1]
Se (SE) la verifica (VERIFICA) risulta vera (VERO), il numero
inserito è troppo grande, e viene stampato il
messaggio: IL TUO NUMERO E' TROPPO GRANDE. RITENTA.
Se è falso, ovvero compreso nel campo appropriato,
allora la tartaruga traccia una linea fino al punto che ha le
coordinate che abbiamo scelto.
Ora, perché non vi costruite da soli qualche
test?
Qui ce n'è uno che abbiamo fatto noi:
PER CONTROLLO
VERIFICA DIREZIONE = 0
SEVERO [A 100]
SEFALSO [NT]
FINE
Un altro modo per scrivere le condizioni di questo test
è quello di usare il comando SEALTRIMENTI:
SEALTRIMENTI DIREZIONE = 0 [A 100] [NT]
Eccovi un altro uso delle posizioni della tartaruga. Questa
procedura disegna una tartaruga delle dimensioni che si
desiderano.
PER TARTARUGA :N
TARTARUGA1
ASSEGNA "P []
RIPETI 6 [TARTARUGA2]
TARTARUGA3
FINE
PER TARTARUGA1
PS GIU NASTARTA D 18 ASSEGNA "TN :N/3
RIPETI 5 [A :TN S 108 RIPETI 3 [A :TN D 72] A :TN S 108 A :TN
D 72]
RIPETI 5 [A :N D 72]
FINE
PER TARTARUGA2
A :N/2 D 90 A :TN
ASSEGNA "Q POS
SE :P = [] [ASSEGNA "P POS]
ASPOS :P ASPOS :Q
ASSEGNA "P :Q I :TN S 90
A :N/2 D 72
FINE
PER TARTARUGA3
SU A :TN S 90 A :N/4 S 18 GIU
RIPETI 5 [A :N/12 D 72]
SU D 18 I :N/4 D 90
SU A :TN S 90 A :N/4 D 18 GIU
RIPETI 5[A :N/12 S 72]
FINE
ALTRI SPAGHI E ARTE COL FILO DI FERRO

Ricordate quando nel capitolo 7 avete fatto arte con fili e
spago? Non l'avreste attribuito a procedure Logo, vero?
Be', l'avete indovinato? Siete a punto d'iniziare questo
lavoro.
La procedura SCATOLA disegna il coperchio della scatola. Voi
definite la grandezza del lato minore e il numero di
suddivisioni su tale lato. Per esempio:
SCATOLA 300 30
La procedura CURVA sembra complicata, ma è
semplicemente la tartaruga che tesse la trama che le avete
ordinato con ago e fili colorati.
CURVA 30 10 -300 0 300 0
Siete sul punto di disegnare 30 linee che distano 10 passi .
Comincerete dal punto :X1, di ascissa
-300 e ordinata 0. La tartaruga avanzerà da :X1, :Y1
fino a :X2, :Y2, e poi avanti e indietro 30 volte.
Avanti. Tentate altre combinazioni. Fate sullo schermo le
stesse cose che fareste con un tessuto. Che altro potreste
escogitare?
PER SCATOLA :N :TACCA
SU VAX :N-:N*2 GIU
RIPETI 2[TACCA.SEGNA :TACCA D 90 RIPETI 2 [TACCA.SEGNA
:TACCA] D 90]
FINE
PER CURVA :T :GAP :X1 :Y1 :X2 :Y2
SE :T = 0 [STOP]
SU VAXY :X1 :Y1 GIU
VAXY :X2 :Y2
ASSEGNA "X1 :X1+ :GAP
ASSEGNA "Y2 :Y2+ :GAP
CURVA :T-1 :GAP :X1 :Y1 :X2 :Y2
FINE
PER TACCA.SEGNA :TACCA
RIPETI :TACCA [A :N/:TACCA TACCHE]
FINE
PER TACCHE
S 90 A 5 I 10 A 5 D 90
FINE
Una volta che avete terminato con SCATOLA, le seguenti
procedure acquisiranno maggior senso:
PER HDG
ASDIR RESTO (:N*5*:DIST) 360
FINE
PER HDG1
ASDIR RESTO (5*(:N-1)) 360
FINE
PER STRING :RAGGIO :DIST :DIR
PS NASTARTA ASSEGNA "N 1 SU VAX :RAGGIO GIU
RIPETI 360 [A :RAGGIO*PIGRECO/180 S 1] SU TANA
RIPETI 36*:DIR [A :RAGGIO ASSEGNA "P POS TANA HDG A :RAGGIO
GIU ASPOS :P SU TANA HDG1 ASSEGNA "N :N+1]
FINE
Giocate un poco con queste procedure, provando ad inserire
variabili diverse.
Non solo creeranno qualche bella figura, ma vi daranno la
possibilità di guardare come possono essere usate le
posizioni e l'orientamento.
A proposito, avete colto il senso del comando RESTO? Fa parte
della Grande Avventura Matematica che sta per arrivare nel
prossimo capitolo.
Parte 2. La Fiaba di Logo
rivisitata
Ricordi la Fiaba di Logo all’inizio del libro? La
tartaruga sfidò la lepre in una corsa attraverso la
foresta e vinse. Era lenta. Ma si mosse un passo alla volta,
osservando ogni cosa intorno a lei, imparando poco alla
volta.
La lepre, d’altra parte, esplorò in ogni
direzione. Era sicura di avere tempo per un cono di gelato,
un pisolino e tante altre divagazioni prima di raggiungere la
linea del traguardo.
Ma si sbagliava e perse la gara.
Pensa però a quante esperienze fece nel percorso.
Seguì innumerevoli piste che la tartaruga neanche
sospettava esistessero.
Se la vedi così, forse la lepre non era del tutto
dalla parte del torto in quell’occasione.
Il metodo della
lepre
Nella prima parte ti abbiamo accompagnato passo passo
perché dovevi cominciare ad imparare un argomento
completamente nuovo.
La seconda parte del libro è più una collezione
di idee da esplorare. Leggendo il resto del libro puoi usare
il metodo della lepre. Salta alcuni argomenti, se vuoi, e poi
ritornaci quando lo desideri.
Utilizza l’help di MSW
Logo
Ci sono molte più cose da imparare su Logo di quelle
trattate in questo libro.
Un buon punto di punto di partenza è l’help di
MSW Logo. Ci sono tante idee... molte altre cose da
fare.
E continua a divertirti con la Grande Avventura di
Logo!
Capitolo 8.
Ricorsività
La ricorsività avviene quando una procedura usa se
stessa come parte della soluzione.
Cosa significa?

Bene, per quanto strano possa sembrare, una procedura
ricorsiva è quella che richiama se stessa come parte
della soluzione finale. Avete già visto alcuni esempi
in altri capitoli. É come nel caso delle due
tartarughe della figura: ciascuna utilizza l'altra per
disegnarsi.
Eccovi una procedura divertente per aiutare a farvi un'idea
della ricorsività, anche se questo non è vero
Logo.
PER AFFRONTARE.LA.VITA
AFFRONTARE.IL.PRESENTE
AFFRONTARE.LA.VITA
FINE
Pensateci un momento. Significa che per affrontare la vita,
si deve affrontare l'oggi. Una volta che avete superato
l'oggi, dovete continuare, non è vero?
Ma dove?
Non potete tornare indietro. Non potete fermare il tempo.
Dovete continuare ad andare incontro alla vita e per
affrontare la vita dovete affrontare l'oggi. Ma ogni giorno
è differente. Così tutto sembra chiudersi in un
cerchio, ed è proprio così.
Lasciatemi aggiungere un altro giro. Immaginatevi che mentre
state davanti a Pearly Gates vogliate dare un'occhiata al
vostro libro dei ricordi.
La ricorsività impressa può in quel momento
aiutarvi . Tutto quello che dovete fare è aggiungere
una linea alla procedura della vostra vita:
PER AFFRONTARE.LA.VITA
AFFRONTARE.L'.OGGI
AFFRONTARE.LA.VITA
PRINT DIARIO
FINE
Così ogni volta che AFFRONTERETE L'OGGI, scriverete
una pagina nel vostro DIARIO. Ma le pagine non verranno
stampate fin quando non fermerete la procedura. Quando
fermerete la procedura, la ricorsività leggerà
l'intero libro iniziando dalle ultime pagine salvate.
Terribilmente semplice.... o semplicemente terribile.
RICORSIVITA’ TERMINALE
Si, la ricorsività genera confusione. Così
mettiamola alla prova con qualcosa che conosciamo:
PER LABIRINTO :N
A :N
D 90
LABIRINTO :N+5
FINE
Questo è un esempio di quello che viene chiamato
"ricorsività terminale". La ricorsività viene
introdotta alla fine della procedura.
Per vedere cosa genera questa procedura, battete:
LABIRINTO 20
Ora osservate cosa succede. La tartaruga avanza di 20 poi
gira a destra di 90 gradi. Quindi la procedura dice che :N
(che per noi vale 20) diventi :N+5 (ovvero 25). Poi la
procedura continua:
LABIRINTO 25

Tutto ricomincia. LABIRINTO 25 diventa LABIRINTO 30.
LABIRINTO 30 diventa LABIRINTO 35, e così via. Lo
schermo assomiglierà presto a qualcosa come questo, e
continuerà, riempiendo tutto lo schermo.
Naturalmente, possiamo inserire uno STOP se vogliamo.
PER LABIRINTO :N
SE :N = 300 [STOP]
A :N
D 90
LABIRINTO :N+5
FINE
La prima linea stabilisce che venga verificata una
condizione: ogni volta che la procedura viene lanciata, si
chiede se :N è uguale a 300. Quando :N è uguale
a 300, la procedura s'arresta.
Diamo un'occhiata a qualche altro esempio.
Avete mai giocato con le costruzioni? Avete mai costruito
ponti o strade? Bene, Logo vi può aiutare con i vostri
progetti.
PER COSTRUZIONE :N :X
SE :X = 0 [STOP]
SEZIONE :N
MOVE :N
COSTRUZIONE :N :X-1
FINE
PER MOVE :N
D 90 A :N S 90
FINE
PER SEZIONE :N
RIPETI 4 [TRI :N A :N D 90]
FINE
PER TRI :N
A :N D 135
A :N/RADQ 2 D 90
A :N/RADQ 2 D 135
FINE

Vi piace il cibo italiano? Che ne dite degli spaghetti?
PER SPAGHETTI
CERCHIOD 5
CERCHIOD 4
CERCHIOD 3
CERCHIOD 2
D 45
SPAGHETTI
FINE
Potete introdurre qualche variazione con poche
modifiche:
PER SPAGHETTI :N
CERCHIOD :N+5

CERCHIOD :N+4
CERCHIOD :N+3
CERCHIOD :N+2
D 45
SPAGHETTI :N
FINE
Che ne pensate di questa?
PER SPAGHETTI :N
CERCHIOD :N
SE :N = 0 [STOP]
D 45
SPAGHETTI :N-1
FINE
Questa è una procedura ricorsiva simile alle altre che
avete usato prima. Disegnerà Spaghetti come le altre?
Perché?
Oltre alla procedura spaghetti, cos'altro potrete fare con
questa procedura per disegnare cerchi?
PER CERCHIOD :N
RIPETI 36 [A :N D 10]
FINE
Che ne dite di una spirale?
PER SLINKY
S 90
CERCHI
FINE
PER CERCHI
CERCHI 5
A 20
CERCHI
FINE
Potete pensare che la ricorsività è solo un
anello, che avanza facendo cerchi. Non completamente!! A
volte le cose non sono come appaiono.
RICORSIVITÀ NON TERMINALE
Per provare come funziona, diamo un'occhiata ad una procedura
che utilizza la "ricorsività non terminale".
PER VERIFICA.RIC :N
STAMPA [E' QUESTA UNA RICORSIVITA'?]
SE LEGGIPAROLA="SI [VERIFICA.RIC :N+1]
STAMPA :N
FINE
In questa procedura la variabile "N" è usata come un
contatore. Viene utilizzata per mantenere una traccia delle
vostre risposte alla domanda: "è questa una
ricorsività?"
Osservate: battete.....
VERIFICA.RIC
1
Quando s'avvia la procedura, la prima cosa che leggete sullo
schermo è la domanda:
É QUESTA UNA RICORSIVITÀ ?
LEGGIPAROLA dice a Logo di fermarsi e aspettare che
introduciate una risposta. Scrivete SI.
Il contatore sa che questa è la vostra prima
risposta.
Quindi giungiamo ad un test. Se la parola che avete scritto
è SI, allora la procedura richiama se stessa. Cosa
succede?
Avete indovinato...eccovi di nuovo la domanda:
É QUESTA UNA RICORSIVITÀ?
Scrivete SI un certo numero di volte quando vi verrà
porta la domanda. Quindi rispondete NO.
Cosa succede questa volta?
Quando scrivete NO, la procedura giunge al test. Questa volta
la parola che avete scritto non è SI e così il
computer passa a leggere la linea seguente:
STAMPA :N
MA.... cosa succede ora? Perché compaiono scritti
così tanti numeri? Questo è quello che rende la
ricorsività diversa da qualunque altra procedura
ripetitiva.
Quando osservate per la prima volta questa procedura, essa
sembra andare avanti e indietro in un circolo chiuso. Ogni
volta che passa dal comando di test, il contatore somma 1.
Infine, quando scrivete NO invece di SI, vi viene da pensare
che la procedura stampi semplicemente l'attuale valore di
:N.
Ma questo non è il modo in cui opera la
ricorsività. Morf ha pronta una delle sue piste per
mostrarvi quello che succede.
La pista del coniglio
nº 18. Pagine ricorsive

Diamo di nuovo un'occhiata alla procedura. Avrete bisogno di
un foglio bianco, una matita e delle forbici per eseguire
quanto segue.
Piegate il foglio in due, di nuovo a metà, e un'ultima
volta ancora.
Calcate bene lungo i margini e quindi spiegate di nuovo il
foglio.
Tagliatelo lungo le piegature. Dovreste aver finito per avere
16 piccoli foglietti di carta. Adesso numerate queste
"pagine" dall'1 al 16 scrivendo un piccolo numero nella parte
superiore del foglio.
Tenete pronta la matita e battete:
VERICA.RIC
1
Per prima cosa apparirà sullo schermo la domanda:
"É QUESTA UNA RICORSIVITÀ?". Perciò
scrivete un grosso 1 sul primo foglietto e mettetelo da
parte.
Battete SI e cosa succede? La domanda riappare sullo schermo
e :N diventa :N+1, ovvero 2.
Scrivete 2 su un secondo foglietto e posatelo sopra il
primo...quello con scritto 1.
Battete di nuovo SI. Cosa sarà diventato :N? Scrivete
3 sul prossimo foglietto e unitelo ai precedenti. Ripetete
tutto altre tre volte, scrivendo ogni volta il nuovo valore
di :N. Ogni foglietto va posto sopra i precedenti.
Infine, quando rispondete NO, cosa succede sullo schermo?
Vedete una fila di numeri che contano al rovescio, vero? Da 7
a 1.
Perché? Guardate lo schermo. Vi si mostrano sette
domande. Se avete battuto per sei volte Si e una volta NO
avete fornito sette risposte.
Dovreste avere due pile di foglietti.
Avrete qualche pagina bianca in una delle pile, le pagine
dall'8 al 16. Nell'altro mucchio le pagine saranno numerate
dall'1 al 7. Ogni pagina porta scritto un grande
numero.
Rimettiamo in ordine le pagine dall'1 al 16.
Così, cosa abbiamo fatto? Abbiamo riportato la pagina
#7, con un grosso 7 disegnato, sopra la pagina 8. Metterete
la pagina #6 sulla #7, la #5 sulla #6, e così via,
fino a quando riavremo tutte le pagine riordinate in un'unica
pila.
Bene, immagina che la memoria del tuo computer sia come il
mucchio di foglietti. Ogni volta che inizia una procedura,
una pagina è scritta e ricordata. Quando si ferma la
procedura, Logo stampa le pagina.
LABIRINTI DIVERTENTI
Ricordate la procedura LABIRINTO, l'esempio di
ricorsività terminale che avete letto all'inizio del
capitolo?
PER LABIRINTO :N
SE :N = 300 [STOP]
A :N
D 90
LABIRINTO :N+5
FINE
Osservate ora questa procedura.
PER ALABIRINTO :N
SE :N > 120 [STOP]
ALABIRINTO :N+10
A :N D 90
FINE
É un altro esempio di ricorsività "non
terminale". Produrrà tale procedura la stessa figura
di LABIRINTO o sarà qualcosa di diverso? Provate ad
immaginarvi a cosa sembrerà prima di lanciarla.
Pensate ora a come lavora la ricorsività, a come
vengono lette e lanciate le procedure. Cominciate attribuendo
a :N il valore 50. Questo è il modo in cui Logo legge
la procedura la prima volta.
PER ALABIRINTO 50
SE 50 >300 [STOP] POICHÉ 50 É MINORE DI
300,
LOGO VA ALLA LINEA SUCCESSIVA.
ALABIRINTO 50+10 ALABIRINTO 50 DIVENTA ALABIRINTO 60 E
RICOMINCIA.
A 50 D 90 QUESTA LINEA É CONSERVATA NELLA
MEMORIA.
FINE
La mossa successiva che avrete sarà:
PER ALABIRINTO 60
SE 60 >300 [STOP] POICHÉ 60 É MINORE DI
300,
LOGO VA ALLA LINEA SUCCESSIVA.
ALABIRINTO 60+10 ALABIRINTO 60 DIVENTA ALABIRINTO 70 E
RICOMINCIA.
A 60 D 90 QUESTA LINEA É CONSERVATA NELLA
MEMORIA.
FINE
La mossa successiva che avrete sarà:
PER ALABIRINTO 70
SE 70 >300 [STOP] POICHÉ 70 É MINORE DI
300,
LOGO VA ALLA LINEA SUCCESSIVA.
ALABIRINTO 70+10 ALABIRINTO 70 DIVENTA ALABIRINTO 70 E
RICOMINCIA.
A 70 D 90 QUESTA LINEA É CONSERVATA NELLA
MEMORIA.
FINE
La mossa successiva che avrete sarà:
PER ALABIRINTO 80
SE 80 >300 [STOP] POICHÉ 80 É MINORE DI
300,
LOGO VA ALLA LINEA SUCCESSIVA.
ALABIRINTO 80+10 ALABIRINTO 80 DIVENTA ALABIRINTO 90 E
RICOMINCIA.
A 90 D 90 QUESTA LINEA É CONSERVATA NELLA
MEMORIA
FINE
Ogni volta che Logo lancia la procedura, non arriva
all'ultima linea. Così trascrive questa linea in una
"pagina" della sua memoria. La va conservando, scrivendo una
nuova pagina per ogni linea che non lancerà, da
ALABIRINTO 90, 100, 110 fino a che finalmente
raggiungerà il valore 300. Quindi si ferma.
Poiché Logo legge "rimetti in ordine inverso le
pagine", invia alla tartaruga i comandi A 300 D 90, quindi A
290 D 90, A 280 D 90, indietro fino a dove è partito:
A 50 D 90.
Perciò, sono identiche le figure prodotte dalle
procedure LABIRINTO e ALABIRINTO? Il risultato finale sembra
lo stesso. La differenza è che LABIRINTO inizia
piccolo e finisce più grande, mentre ALABIRINTO inizia
grande e finisce piccolo.
Eccovi un altro esempio di ricorsività terminale da
investigare. Questa procedura genera un disegno pazzo.
Perché? Potete dirlo prima d'iniziare?
PER TORRE :DIMENSIONI
SE :DIMENSIONI<0 [STOP]
QUADRATO :DIMENSIONI
TORRE :DIMENSIONI-10
QUADRATO :DIMENSIONI
A :DIMENSIONI
FINE
PER QUADRATO :DIMENSIONI
RIPETI 4[A :DIMENSIONI D 90]
FINE
CALCOLO DEL FATTORIALE
Un altro uso comune della ricorsività terminale
è il calcolo fattoriale. Fattoriale 5 è solo un
altro modo di dire:
5 * 4 * 3 * 2 * 1 = 120
Per scrivere ciò in Logo:
PER FATTORIALE :N
SE :N = 1 [RIPORTA :N]
RIPORTA :N*(FATTORIALE :N-1)
FINE
L'unico modo per il quale voi possiate dare un senso a
ciò è usare le Pagine Ricorsive che abbiamo
utilizzato con ALABIRINTO. Quando scrivete FATTORIALE 5,
questo è quello che fa Logo:
PER FATTORIALE 5
SE 5 = 1 [RIPORTA 5]
RIPORTA 5*(FATTORIALE 5-1)
FINE
Questa informazione è messa in salvo sulla prima
pagina e la procedura viene richiamata:
PER FATTORIALE 4
SE 4 = 1 [RIPORTA 4]
RIPORTA 4*(FATTORIALE 4-1)
FINE
E tutto ciò continua fin quando la prima riga della
procedura non verifica:
SE 1 = 1 [RIPORTA 1]
E allora Logo legge alla rovescia le pagine:
5 * 4 = 20 * 3 = 60 * 2 = 120 * 1 = 120
Spirali e frattali
Sapete come vengono chiamati i disegni che hanno generato
LABIRINTO e ALABIRINTO?
Alcune persone pensano che sono i disegni più belli
che si possono fare con Logo. Sono le SPIRALI.
LABIRINTO e ALABIRINTO generano spirali quadrate:
A 50 D 90
A 60 D 90
A 70 D 90
A 80 D 90
A 90 D 90
e così di seguito.
Ma che dire degli altri tipi di spirale?
Vi ricordate della procedura che avete scritto per generare
ogni tipo di poligono regolare?
PER POLIGONO :LATO :NUMERO
RIPETI :NUMERO [A :LATO D 360/:NUMERO]
FINE
Ebbene, eccovi lanciata una sfida. Trasformate questa
procedura in una procedura ricorsiva che disegni la stessa
figura. Come si fa?
PER POLIGONO :LATO :NUMERO
A :LATO
D 360/:NUMERO
POLIGONO :LATO :NUMERO
FINE
Potete renderla più facile cambiando la variabile
:NUMERO per la variabile :ANGOLO.
PER POLIGONO :LATO :ANGOLO
A :LATO
D :ANGOLO
POLIGONO :LATO :ANGOLO
FINE
Se ponete la variabile :LATO pari a 100 e quella :ANGOLO pari
a 120, vedrete la tartaruga impegnata in un viaggio infinito
lungo un triangolo.
Ma questo non è molto divertente. C'è un modo
migliore:
PER POLIGONO :LATO :ANGOLO :AMT
SE :LATO > 300 [STOP]
A :LATO
D :ANGOLO
POLIGONO (:LATO+ :AMT) :ANGOLO :AMT
FINE
Dunque, cosa credete che faccia la variabile :AMT?
Bene, quello che segue è un disegno ottenuto con
questa procedura. Vi aiuta?
Assegnate diversi valori alle tre variabili della procedura
POLIGONO. Resterete sorpresi dalle cose che potrete
fare.
Cosa succede se cambiate da 123 a 120?
POLIGONO 1 120 3
POLIGONO 1 90 5
Come sarebbe mettere sullo schermo più di una spirale
alla volta?
Eccovi una procedura sviluppata da un giovane studente.
L'obiettivo è quello di creare due spirali con la
stessa procedura. Cosa pensate che se ne ricavi... senza
lanciarla, naturalmente.
PER SPIRALE :N
SE :N>100 [STOP]
A :N D 90
SPIRALE :N+5
A 200
SE :N>100 [STOP]
A :N D 90
SPIRALE :N+5
FINE
A questo ragazzo sembrava perfettamente logico che la
tartaruga avrebbe disegnato una SPIRALE e, poi sarebbe
avanzata di 100 passi e ne avrebbe disegnato un'altra. Quello
che lo studente aveva tralasciato è che la
ricorsività rimanda la tartaruga all'inizio. Il
risultato della procedura è un caos.
Ma come venirne a capo? Quello studente trascurò una
lezione assai preziosa su Logo.
Dovete pensare per "porzioni".
Logo deve processare una "porzione" di informazioni alla
volta. Nella procedura precedente, SPIRALE è una
"porzione" d'informazione. Quando volete lavorare con
più di una "porzione" di informazione, avete bisogno
di aggiungere una procedura che permetterà di lavorare
con una delle vostre "porzioni" alla volta.
PER SPIRALE :N
SE :N>100 [STOP]
A :N D 90
SPIRALE :N+5
FINE
PER SPIRALI :N
SPIRALE :N
SU A 200 GIU
SPIRALE :N
FINE
Questa procedura (SPIRALI) disegna due spirali. Cosa avreste
dovuto fare per disegnarne 4? E 6? E un numero
variabile?
La pista del coniglio
nº 19. Arte con corda e filo di ferro

Avete mai visto arte fatta con spago e filo di ferro?
Ci sono bellissimi oggetti creati arrotolando spaghi colorati
o fili metallici intorno a spille o piccoli chiodi infilati
in assi di legno coperte di feltro. Potete trovare corredi di
coloratissimi spaghi e fili metallici in ogni negozio di
hobby.
Quello che è ancora più divertente è
trasferire tali forme artistiche sullo schermo.
Qui potrete cominciare a vedere i rapporti che collaborano a
creare una forma.
Iniziamo con una scatola da scarpe. Dipingete di vernice nera
l'interno del coperchio. Questo formerà uno sfondo
opaco per far risaltare le vostre sculture di fili.
Il lavoro successivo sarà creare una forma regolare
che userete per fare piccoli buchi sul bordo del coperchio in
modo uniforme. Potete fare tutto ciò molto facilmente
sul computer. Eccovi una procedura ricorsiva che dovrebbe
risultarvi abbastanza facile, ormai.
PER MODELLO :DIST :TACCHE
SE :TACCHE=0 [STOP]
A :DIST TACCA :DIST
ASSEGNA "TACCHE :TACCHE-1
MODELLO :DIST :TACCHE
FINE
PER TACCA :DIST
D 90 A :DIST/10
I :DIST/5 A :DIST/10 S 90
FINE
Questa procedura suddivide il compito di disegnare un
modello in tronconi facilmente comprensibili. La porzione
principale disegna il modello. La secondaria, che è
inclusa, ma separata, disegna le suddivisioni.
Le variabili vi permettono di stabilire il numero di
suddivisioni (:TACCHE) e la distanza tra di loro (:DIST). Per
esempio: se volete stampare 20 suddivisioni orizzontali
distanti 25 passi tra loro, battete MODELLO 25 20 e
schiacciate Invio.
Stampate i modelli e ritagliateli in strisce sottili. Quindi
foderate con esse i bordi del coperchio colorato della
scatola da scarpe.
CURVE DERIVATE DA UN LINEA RETTA
Ora, ci sono un sacco di cose che potete fare. Per dirne una,
potete usare un filo colorato e un ago per ottenere curve a
partire da linee rette.
Eccovi il modello del coperchio della scatola da
scarpe.
1) Partite dall'angolo inferiore sinistro.
2) Spingete l'ago attraverso l'angolo della cornice dentro la
scatola e quindi fatelo uscire dall'angolo inferiore
destro.
3) Salite alla prima tacca del bordo laterale destro e
spingete l'ago da fuori a dentro la scatola.
4) Arrivate fino alla prima tacca libera dall'angolo a
sinistra e spingete l'ago da dentro a fuori.
Presto otterrete un modello che assomiglia a questo, una
curva fatta da linee rette.
Ci sono un sacco di forme che potete fare. Perché non
provate queste?
Capovolgetene una e guardate cosa otterrete.
Ci sono modelli di ogni sorta che potrete realizzare. Se
volete abbellirli un poco, usate fili di colore diverso per
le differenti parti del disegno.
Quando avrete usato tutte le vostre vecchie scatole da
scarpe, potrete provare altri disegni sullo schermo di
Logo.
Ma, aspettate un minuto! Come si fa a farlo?
CURVE CON LA RIGA
Bene, iniziamo con la matita, un pezzo di carta e una riga.
Un tavolo da disegno sarà un ottimo strumento per
questo progetto.
1) Appoggia la riga sul foglio in posizione verticale,
così da poterti muovere verticalmente.
2) Traccia una riga di 15 cm circa dall'estremo inferiore
della riga e torna indietro fino a circa tre centimetri
dall'estremo di partenza.
3) Mantieni salda la matita e gira la riga di circa 10
gradi.
4) Ripeti alcune volte i passi 2 e 3.
Il vostro disegno assomiglia a qualcosa del genere?

Niente male! Ecco come potete farlo col computer.
PER VENTAGLIOS :DIST :ANG
SE :DIST <0 [STOP]
A :DIST I :DIST-10 S :ANG
VENTAGIO :DIST-5 :ANG
FINE
Cosa credete che succeda se cambiate l'angolo e la distanza
ogni volta che una linea è stata tracciata?
PER SPERIMENTIAMO :DIST :ANG
SE :DIST <0 [STOP]
A :DIST I :DIST-10 S :ANG
SPERIMENTIAMO :DIST -5 :ANG +2
FINE
Se non riuscite a vedere la differenza nell'esempio dato,
cambiate il numero da sommare all'angolo.

Eccovi una sfida.
Come potreste creare questo disegno?
Eccovi una pista. Date un'occhiata agli angoli tra le
linee.
Eccovi alcune altre idee con ci giocare. Cosa ne dite della
procedura VENTAGIOD? Cosa succederebbe combinando insieme le
due procedure?
PER GIRAINGIRO :DIST :ANG
INIZIA1
VENTAGLIOS :DIST :ANG
INIZIA1
VENTAGLIOD :DIST :ANG
INIZIA2
VENTAGLIOS :DIST :ANG
INIZIA2
VENTAGLIOD :DIST :ANG
FINE
Notate che le procedure VENTAGLIOS e VENTAGLIOD sono
leggermente cambiate per poter produrre questo disegno.
Controllate la formulazione ricorsiva in ciascuna
procedura.
PER VENTAGLIOS :DIST :ANG
SE :DIST <0 [STOP]
A :DIST I :DIST-5 S :ANG
VENTAGLIOS :DIST-3 :ANG+1
FINE
PER VENTAGLIOD :DIST :ANG
SE :DIST <0 [STOP]
A :DIST I :DIST-5 D :ANG
VENTAGLIOD :DIST-3 :ANG+1
FINE
PER INIZIA1
SU TANA GIU
FINE
PER INIZIA2
SU TANA D 180 A 50 GIU
FINE
Un'altra cosa che potreste voler tentare è aggiungere
le procedure INIZIA3 e INIZIAT4 affinché i disegni
girino di 90 e 270 gradi.
Ci sono un sacco di altre cose che potete fare con spaghi e
fili. Troverete più cose nel prossimo capitolo.
Ma prima di abbandonare il capitolo sulla Ricorsività,
dovreste dare un'occhiata al divertimento che potreste
ricavare con i Frattali.
FRATTALI
I frattali venivano una volta considerati delle
mostruosità matematiche. Nessuno riusciva ad
immaginarsi a cosa potessero servire. Ma, grazie ai computer,
sappiamo ora che queste mostri ricorsivi ci aiutano a fare
meravigliosi disegni informatici.
Piuttosto di cercare di spiegare i frattali, diamo
un'occhiata a come funzionano. Eccovi una procedura presa dai
programmi di MSWLogo.
PER C :DIMENSIONI :LIVELLO
SE :LIVELLO = 0 [A :DIMENSIONI STOP]
C :DIMENSIONI :LIVELLO-1 D 90
C :DIMENSIONI :LIVELLO-1 S 90
FINE
Se esaminate la procedura, vedrete che :DIMENSIONI è
la variabile usata per il comando AVANTI. Il significato di
:LIVELLO è un po' più confuso e quindi vediamo
prima come agisce. Scrivete:
C 5 10
Caspita! Questo è un disegno! Pulite lo schermo e
battete:
C 20 3
Bene. Aggiungete questa breve procedura e potrete vedere come
la tartaruga lavora per costruire figure così
complicate.
PER SEE
C :DIMENSIONI :LIVELLO ASPETTA 50 PS
ASSEGNA "LIVELLO :LIVELLO+1
SEE
FINE
ASSEGNA "DIMENSIONI 10
ASSEGNA "LIVELLO 0
Ehi, aspettate un minuto.... la procedura è già
conclusa al momento di inserire i comandi ASSEGNA. Come
è possibile?
É un nuovo trucco. Potete dire a Logo quale valore
volete che assuma la variabile senza scriverlo nella
procedura. Vi risparmia il fastidio di inserire le variabili
nel titolo della procedura.
Ora lanciate la procedura SEE. Vedrete i frattali in
azione.
Per aiutarvi a immaginare i frattali, scrivetevi le procedure
C e SEE su un foglio. Aumentate il valore del comando ASPETTA
a 100 o 150 in modo da avere il tempo di vedere i cambiamenti
da un livello all'altro.
Un'altra cosa da fare è cambiare la variabile LIVELLO
a 5 o 6 in modo da vedere esattamente come lavora la
procedura. Quanto maggiore è il valore di LIVELLO e
tanto più complicata risulterà la figura.
HILBERT, FIOCCO DI NEVE, DRAGO E ALTRE COSE.
Date un occhiata alla procedura DRAGO:
PER DRAGO :DIMENSIONI :LIVELLO
LDRAGO :DIMENSIONI :LIVELLO
FINE
PER LDRAGO :DIMENSIONI :LIVELLO
SE :LIVELLO = 0 [A :DIMENSIONI STOP]
LDRAGO :DIMENSIONI :LIVELLO-1 S 90
RDRAGO :DIMENSIONI :LIVELLO-1
FINE
PER RDRAGO :DIMENSIONI :LIVELLO
SE :LIVELLO = 0 [A :DIMENSIONI STOP]
LDRAGO :DIMENSIONI :LIVELLO-1 D 90
RDRAGO :DIMENSIONI :LIVELLO-1
FINE
Potete vedere coda produce la procedura DRAGO? A cosa
assomiglierà il disegno?
Questa è la figura per
DRAGO 50 1.
A cosa assomiglierà la figura DRAGO 50 0? Provate e lo
vedrete.
Per vedere come lavora DRAGO, attivate TRACCIA. Battete DRAGO
50 1 e schiacciate ENTER. Quindi ingrandite la Finestra
Comandi e guardate la lista di operazioni che Logo mette in
atto.
Ora provate a lanciare DRAGO 20 2
DRAGO 20 3
DRAGO 10 10
Se avete problemi a capire il listato, usate un blocchetto di
fogli e iniziate a fare pile per ogni volta che viene
attivata una ricorsività, come avevate fatto
precedentemente.
Diamo ora un'occhiata alla procedura FIOCCO DI NEVE
PER FIOCCO.DI.NEVE :DIMENSIONI :LIVELLO
RIPETI 3 [D 120 LATO :DIMENSIONI :LIVELLO]
FINE
PER LATO :DIMENSIONI :LIVELLO
SE :LIVELLO = 0 [A :DIMENSIONI STOP]
LATO :DIMENSIONI/3 :LIVELLO-1 S 60
LATO :DIMENSIONI/3 :LIVELLO-1 D 120
LATO :DIMENSIONI/3 :LIVELLO-1 S 60
LATO :DIMENSIONI/3 :LIVELLO-1
FINE
Questa procedura è un poco più complessa. A
cosa somiglierebbe FIOCCO.DI.NEVE 50 0 ... non vale provarci
col computer!

Eccovi l'immagine generata da
FIOCCO.DI.NEVE 100 1
FIOCCO.DI.NEVE 100 4
Per alcuni disegni complicati, date un'occhiata alle
procedure Serpinski mostrate alla pagina successiva.
PER TAPPETO :DIMENSIONI :LIVELLO
PS NASTARTA SU TANA
ASDIR 45 I :DIMENSIONI/2 GIU ASDIR 0
RIPETI 4 [CGEN :DIMENSIONI :LIVELLO D 90]
SU D 45 A :DIMENSIONI/2 GIU ASCR [000 000 255] RIEMPI
FINE
NOTA BENE: Qualcosa di nuovo. Se volete scrivere una nota
all'interno della procedura, battete un punto e virgola. Logo
ignorerà qualunque cosa segua in quella linea. Potete
inserire il punto e virgola in qualunque punto della
linea:
A 100 D 90 ;questo è un angolo
PER CGEN :DIMENSIONI :LIVELLO
SE UNOVERO? (:LIVELLO=0) (:DIMENSIONI<3) [A :DIMENSIONI
STOP]
(LOCALE "DIMENSIONI3 "LEV1)
ASSEGNA "DIMENSIONI3 :DIMENSIONI/3
ASSEGNA "LEV1 :LIVELLO-1
RIPETI 3 [CGEN :DIMENSIONI3 :LEV1]
SU I :DIMENSIONI I :DIMENSIONI3 S 90 A :DIMENSIONI3 S 90
GIU
RIPETI 4 [CGEN :DIMENSIONI3 :LEV1 D 90]
SU D 45 A :DIMENSIONI3/2 GIU ASCR [255 000 000] RIEMPI
SU I :DIMENSIONI3/2 S 45 I :DIMENSIONI GIU
RIPETI 4 [CGEN :DIMENSIONI3 :LEV1 D 90]
SU D 45 A :DIMENSIONI3/2 GIU ASCR [150 150 150] RIEMPI
SU I :DIMENSIONI3/2 S 45
SU I :DIMENSIONI3 D 90 I :DIMENSIONI3 D 90 GIU
FINE
PER GASKET :DIMENSIONI :LIVELLO
;SERPINKI GASKET: MANDELBROT P. 142
;VERIFICA CASE: GASKET 100 2
PS NASTARTA SU I 3*:DIMENSIONI/4 GIU
S 30 RIPETI 3 [GGEN :DIMENSIONI :LIVELLO D 120]
D 30 SU A :DIMENSIONI/2 GIU RIEMPI
FINE
PER GGEN :DIMENSIONI :LIVELLO
SE UNOVERO? (:LIVELLO=0) (:DIMENSIONI<2) [A :DIMENSIONI
STOP]
(LOCALE "LIVELLO1 "DIMENSIONI2)
ASSEGNA "LIVELLO1 :LIVELLO-1
ASSEGNA "DIMENSIONI2 :DIMENSIONI/2
GGEN :DIMENSIONI2 :LIVELLO1
S 120 RIPETI 3 [GGEN :DIMENSIONI2 :LIVELLO1 D 120]
SU D 30 A :DIMENSIONI2/2 GIU ASCR [255 000 000] RIEMPI
SU I :DIMENSIONI2/2 S 30 GIU
D 120 GGEN :DIMENSIONI2 :LIVELLO1
FINE
Ci sono moltissimi libri di frattali, dal livello più
semplice a quello più complesso.
Date un'occhiata ad alcuni di essi, specialmente a quelli che
hanno a che fare con la computer art e i paesaggi.
Capitolo 9. La grande avventura della
matematica

"Per qualche ragione, fare i compiti di aritmetica,
assomiglia più ad un dolore nel collo che ad
un'avventura matematica."
"Abbastanza vero!"
Ma pensateci su un momento...
Quale parte della vostra vita non ha a che fare con la
matematica...non comporta qualche tipo di calcolo o
misura?
Cosa ne pensate del tempo... il misurare e il contare secondi
ed ore? O le distanze...la misura dello spazio in pollici e
piedi... o centimetri e metri?
Pensate un momento a Logo e al computer. Ogni cosa che voi
fate con il computer è tradotto in segnali elettrici
che sono contati come zeri e uno.
Ogni cosa che abbiamo fatto finora nella nostra Grande
Avventura nel Logo è stata parte della geometria della
tartaruga, vero? Detesto dirvelo, ma questa è
matematica. Avanti...diamoci un'occhiata
L'aritmetica con Logo
Se vi ricordate, nelle pagine antecedenti, nella prima Pista
del Coniglio, voi avete intrapreso una Passeggiata da
Tartaruga. Avete usato il simbolo della
moltiplicazione:
A 10 * 5
Cosa sarebbe successo se quella linea avesse riportato:
A 10 + 5 oppure
A 10 - 5 o anche
A 10 / 5
Prova questi comandi usando le variabili:
ASSEGNA "A 50
ASSEGNA "B 100
ASSEGNA "C :A + :B
A :A + :B oppure A 100 + 50
A :C/ :A * 10
Quanto segue è un po' più interessante.
A 150 / 50 * 10
Che equivale ad A 150 diviso 50 = 3. 3*10= 30 Ovvero A
30.
A :C/ (:A*3)
Questo comando equivale al precedente? Perché? O
perché no?
Quando Logo obbedisce a comandi che utilizzano l'aritmetica,
opera nel modo standard previsto dall'aritmetica...
moltiplicazioni e divisioni seguite da addizioni e
sottrazioni.
Così... Logo legge quella linea come dicesse A 150,
diviso per 50*3, ovvero 150. Perciò alla fine
otteniamo A 150/150 ossia A 1. Visto come le parentesi
cambiano le cose?
Le parentesi sono tra le delimitazioni di Logo quelle che si
usano per cambiare l'ordine delle operazioni.
"Delimitazioni...che parola buffa!"
"Può sembrare un poco strana, ma, se ci rifletti,
esprime proprio il compito che svolgono.
Le delimitazioni definiscono i limiti di un'operazione. Date
un'occhiata...
I comandi elencati sotto utilizzano segni aritmetici per dire
alla tartaruga di andare aventi 200.
A 100 + 1000/10
A 10 * (5+15)
A (20-10) * (18+2)
Scrivete qui sotto altri comandi che faranno avanzare la
tartaruga di 200. Assicurati di usare parentesi nei tuoi
esempi; quindi provali.
A ________ ________ __________ ________
A ________ ________ __________ ________
A ________ ________ __________ ________
OPERAZIONI MATEMATICHE
Ci sono moltissimi modi in cui puoi usare l'aritmetica con
Logo.
Queste sono le operazioni che sono incluse in MSW Logo.
SOMMA DIFFERENZA MINUS PRODOTTO
QUOZIENTE RESTO INTERO ARROTONDA
RADQ POTENZA ESP LOG10
LN SEN RADSEN COS
RADCOS ARCTAN RADARCTAN
Alcune sono molto avanzate, ma altre sono molto comuni a
tutti gli utenti.
A SOMMA 50
Cosa pensate significhi? Avete ragione...A 100.
Avanza della somma di 50 e 50 oppure 50 + 50. Che ne pensate
di...
A DIFFERENZA 300 200
Avanza della differenza tra 300 e 200 oppure 300 - 200
A PRODOTTO 10 10
Avanza del prodotto tra 10 e 10 oppure 10 * 10.
A QUOZIENTE 1000 10
Avanza del quoziente tra 1000 e 10 oppure A 1000 / 10.
A RESTO 1000 300
Avanza del resto di 1000 diviso per 300. Quanto
sarà?
A INTERO (121.8 - 21.1) (NOTA: In inglese si usa, per
separare le unità dai decimali, invece della virgola,
il punto.)
Avanza dell'intero ottenuto facendo 121,8 - 21, 1. Il
risultato della sottrazione è uguale a 100,7 ma,
poiché abbiamo chiesto la parte intera (o il numero
intero) la parte decimale è annullata.
A ARROTONDA (121.8 - 21.1)
Avanzare del risultato arrotondato dell'operazione 121,8 -
21,1. Il risultato esatto è 100,3
che viene arrotondato a 100.
Tutti questi esempi si potrebbero aver semplificato di molto
dicendo semplicemente A 100, perché alla fin fine, una
volta svolti i calcoli, dicono tutti ad Ernestina, la
tartaruga, di avanzare 100. E allora? Ebbene, come fareste se
vorreste addizionare o moltiplicare un pugno di
variabili?
A SOMMA PRODOTTO :A :X QUOZIENTE :B :Y
RIPETI PRODOTTO :A :B [A SOMMA :C :D D 90]
Vedrete alcuni esempi con questo genere di cose più
avanti.
Le procedure per il tangram
Diamo prima un'occhiata alle procedure necessarie per
disegnare i pezzi del Tangram che vedremo al più
presto.
PER MED.TRI.D :LATO
A 2*(:LATO/(2*RADQ 2)) D 135
A :LATO/2 D 90
A :LATO/2 D 135
FINE
PER MED.TRI.S :LATO
A 2*(:LATO/(2*RADQ 2)) S 135
A :LATO/2 S 90
A :LATO/2 S 135
FINE
PER PARGRAM.D :LATO
RIPETI 2[A :LATO/(2*RADQ 2) D 45 A :LATO/2 D 135]
FINE
PER PARGRAM.S :LATO
RIPETI 2[A :LATO/(2*RADQ 2) S 45 A :LATO/2 S 135]
FINE
PER PICCOLO.TRI.D :LATO
A :LATO/2 D 135
A (:LATO/RADQ 2)/2 D 90
A (:LATO/ RADQ 2)/2 D 135
FINE
PER PICCOLO.TRI.S :LATO
A :LATO/2 S 135
A (:LATO/RADQ 2)/2 S 90
A (:LATO/ RADQ 2)/2 S 135
FINE
PER QUADRATO.D :LATO
ASSEGNA "LATO1 :LATO/(2*RADQ 2) RIPETI 4 [A :LATO1 D
90]
FINE
PER QUADRATO.S :LATO
ASSEGNA "LATO1 :LATO/(2*RADQ 2)
RIPETI 4[A :LATO1 S 90]
FINE
PER TRIANGOLO.D :LATO
A :LATO D 135
A :LATO/RADQ 2 D 90
A :LATO/RADQ 2 D 135
FINE
PER TRIANGOLO.S :LATO
A :LATO S 135
A :LATO/RADQ 2 S 90
A :LATO/RADQ 2 S 135
FINE
Per avere un'idea di cosa potete fare con le forme del
tangram, lanciate questa procedura:
PER TANGRAM :LATO
ASDIR 90 TRIANGOLO.S :LATO
A :LATO ASDIR 0
TRIANGOLO.S :LATO
A :LATO ASDIR 270
PICCOLO.TRI.S :LATO
A :LATO/2 ASDIR 225
MED.TRI.D :LATO
QUADRATO.S :LATO A :LATO1
PARGRAM.S :LATO
FINE
Questa procedura utilizza le differenti procedure che servono
a fare i pezzi del tangram per costruire una figura
più grande. Quale?
Dovete solo lanciare la procedura per scoprirlo.
Ricordate: quando lanciate la procedura Tangram dovete
introdurre un valore per la variabile :LATO.
TANGRAM 200
C
HE COS'È UN PARALLELOGRAMMA
"Logy, succede qualcosa di strano qui? Hai ottenuto un
rettangolo che sembra sul punto di cadere."
"Hai ragione, sai. Non avevo mai pensato a un parallelogramma
in questo modo. Potresti chiamarlo il nonno del quadrato,"
rispose Logy.
"Non ho capito. Cosa intendi per nonno?"
"Dai un'occhiata a questa procedura, che ho chiamato, per
abbreviarla, PARGRAM."
PER PARGRAM :LATO
RIPETI 2[A :LATO/(2*RADQ 2) S 45 A :LATO/2 S 135]
FINE
"Cosa succederebbe se cambiassi gli angoli da D 45 e D 135 a
D 90?"
"Ehi, diventerebbe un rettangolo," disse Morf, saltando
eccitato su e giù.
"Così puoi dire che il rettangolo è come il
'figlio' del parallelogramma.
Ora osserva i lati: ne hai due che misurano :SIDE e due che
misurano :SIDE diviso 2. Cosa succederebbe se eliminassimo
quel 'diviso 2'?"
"Be', vediamo. Avremmo due gruppi di variabili che utilizzano
lo stesso dato. Ciò significa che avranno la stessa
misura."
"E se tutti gli angoli sono D 90, cosa significa?"
"Ehi, è un quadrato!"
"OK. Ti sembra perciò che si possa dire che il
quadrato e 'figlio' del rettangolo?"
"Direi di sì."
"Bene! Possiamo perciò aggiungere un nuovo grado di
parentela."
Un Quadrato ha i quattro lati uguali e i quattro angoli
uguali.
Un Rettangolo ha due coppie di lati e gli angoli
uguali.
Un parallelogramma ha due coppie di lati e due coppie di
angoli uguali.
GIOCARE COL TANGRAM
Basta con lo studio. Vogliamo divertirci un poco col
Tangram?
Mettete insieme i due triangoli piccoli. Quale forma
otterrete? Potete costruire un quadrato con i due
triangoli piccoli? E un triangolo
più
grande? Un parallelogramma?
Mettete insieme il parallelogramma e i due triangoli piccoli.
Che forma avete ottenuto? Potete fare un quadrato? E un
trapezio?
"Un che?"
"Un tra-pe-zio! È un'altra figura, Morf. È come
un parallelogramma, ma ha solo una coppia di lati paralleli
invece di due."
"Questo non è nessun trap-chissacosa. È il
disegno della tenda da campo che abbiamo montato nel giardino
dietro casa!"
"Sii serio, Morf. Puoi fare un triangolo usando cinque pezzi
del puzzle?"
Troverai un sacco di libri sui puzzle dove compare il
Tangram. Ma non hai bisogno di libri, vero? Scommetto che sei
capace di pensare per tuo conto ogni tipo di figure.
COSTRUENDO FIGURE PAZZE
Perché non facciamo che il computer inventi alcune
figure al vostro posto?
Potrebbero saltare fuori figure un poco strambe, ma che
importa? Questa è la cosa piacevole di avere una
tartaruga che fa cose per voi.
PER FIGURE.PAZZE :LATO
FORME :LATO
MUOVI :LATO
FIGURE.PAZZE :LATO
FINE
PER FORME :LATO
ASSEGNA "SHAPE INTERO ACASO 10
SE :SHAPE=0 [TRIANGLE.D :LATO]
SE :SHAPE=1 [TRIANGLE.S :LATO]
SE :SHAPE=2 [MED.TRI.D :LATO]
SE :SHAPE=3 [MED.TRI.S :LATO]
SE :SHAPE=4 [SMALL.TRI.D :LATO]
SE :SHAPE=5 [SMALL.TRI.S :LATO]
SE :SHAPE=6 [SQUARE.D :LATO]
SE :SHAPE=7 [SQUARE.S :LATO]
SE :SHAPE=8 [PARGRAM.D :LATO]
SE :SHAPE=9 [PARGRAM.S :LATO]
FINE
PER MUOVI :LATO
ASSEGNA "MOVE INTERO ACASO 5
SE :MOVE=0 [ASDIR DIREZIONE +45]
SE :MOVE=1 [ASDIR DIREZIONE +90]
SE :MOVE=2 [A :LATO]
SE :MOVE=3[A :LATO/2]
SE :MOVE=4 [A (:LATO/RADQ 2)/2]
FINE
QUADRATI E RADICI QUADRATE
Tornate ad esaminare la procedura TRIANGOLO.D. Avete qualche
idea di cosa significhi RADQ 2?
Usiamo questo numero per calcolare la lunghezza dei lati
minori del triangolo. Il lato a sinistra è il
maggiore, vero? E noi sappiamo che abbiamo due lati uguali
uniti a formare un angolo di 90 giri di tartaruga, o 90º
(gradi).
Molto tempo fa, alcuni matematici scoprirono che, quando
conosci il lato maggiore di un triangolo che ha i lati minori
uguali e un angolo di 90 gradi, allora i lati minori
misurano:
<lato grande>/ RADQ 2
Ci sono molti rapporti notevoli come questo per triangoli ed
altre figure. Abbiamo già scoperto un certo numero di
essi.
"Ma cosa significa RADQ 2?"
Attualmente, sta per radice quadrata di 2, che suona un po'
più complesso di quello che realmente è. Non ha
niente a che vedere con la figura quadrato, ma fa parte del
problema aritmetico che chiede quale numero, moltiplicato per
se stesso dà come risultato 2.
Quanto vale RADQ 100? RADQ 9? RADQ 16?
Riflettete un minuto. Quale numero moltiplicato per se stesso
dà 100? 10 * 10 = 100
Quale numero moltiplicato per se stesso dà 9? 3 * 3 =
9
Quale numero moltiplicato per se stesso dà 16? 4 * 4 =
16
Ora rovesciamo la radice quadrata. Estrarre la radice
quadrata è come dire, "Qui hai il risultato. Dimmi
qual era la domanda...eccoti un 16, dimmi: come l'ho
ottenuto?"
Osserviamo il problema: 4 moltiplicato per se stesso, quanto
dà? Nell'elenco delle operazioni aritmetiche di Logo
corrisponde al comando POTENZA.
A POTENZA 4 2
Che è come dire Avanza di 4 elevato a 2, ovvero 4 al
quadrato, ossia 4 volte 4.
A POTENZA 10 3
Che è come dire Avanza di 10 elevato a 3, ovvero 10 al
cubo, ossia 10 *10 *10.
Il 2 e il 3 sono chiamati "esponenti".
"Cos'è la cosa che abbiamo chiamato ACASO?"
"Aspetta un momento. È in arrivo un grande esempio di
tale comando.
CONTARE NUMERI E OGGETTI
CONTA è un altro comando di Logo molto usato. Fornisce
il numero di elementi presenti nel materiale che è
stato introdotto. Tale materiale può essere una parola
o un elenco di parole.
MOSTRA CONTA "LOGO
4
MOSTRA CONTA [LOGY AND MORF]
3
Eccovi una linea presa da una procedura di cui parleremo in
un altro capitolo. È un esempio molto ricco, ma per
adesso ci interessa solo questa prima linea...la unica che
presenta il comando CONTA. Vediamo se possiamo utilizzarla
per comprendere il significato di CONTA.
RIPETI ((CONTA :NUMS2) -1) [
ASSEGNA "NUMSI MENPRI :NUMS1
SE (PRIMO :NUMS1) = PRIMO :NUMS [
ASSEGNA "CARRY PRIMO MENPRI :NUMS]
]
Avete una variabile chiamata :NUMS2. Facciamo che tale
variabile sia uguale ad un elenco di numeri.
ASSEGNA "NUMS2 (LISTA 22 11 30 576 982)
MOSTRA :NUMS2
[22 11 30 576 982]
MOSTRA CONTA :NUMS2
5
RIPETI DIFFERENZA CONTA :NUMS2 1 [A 100 D 90]
Cosa permetterà di disegnare questo ordine? Dovreste
saperlo già...avete imparato cose in relazione a
questa figura nel capitolo 2.
ELEMENTI, PARTI E OGGETTI
Ci sono alcune altre cose eccezionali che si possono fare con
parole ed elenchi di parole.
Nell'esempio precedente, avete usato il comando CONTA con la
variabile :NUMS2 per costruire un quadrato. È
possibile scegliere un ELEMENTO da una parola o da un elenco
e usarlo.
Eccovi un esempio. Scommetto che saprete indovinare a cosa
assomiglierà. Ci servirà anche per verificare
come agisce il comando ELEMENTO in una procedura di
Logo.
RIPETI ELEMENTO 3 :NUMS2 [ QUADRATO D 12]
PER QUADRATO
RIPETI DIFFERENZA CONTA :NUMS2 1 [A 100 D 90]
FINE
ASSEGNA "NUMS2 (LISTA 22 11 30 576 982)
Cosa pensate che sia ELEMENTO :NUMS2? Sapete che :NUMS2
è un elenco: [22 11 30 567
982]. E allora, cosa sarà l'ELEMENTO 3 di
:NUMS2?
Appuntatevi un'altra medaglia se avete risposto 30.
Il comando ELEMENTO estrae il terzo elemento della variabile
:NUMS2, e non importa se la variabile è un elenco o
una parola.
MOSTRA ELEMENTO 2 "CAT
A
MOSTRA ELEMENTO 2 7861236
8
Avete colto l'idea?
Nell'esempio visto con :NUMS2, sapevate quale numero stavate
cercando: il terzo elemento, 30; ma cosa succede se non lo
sapete?
Logo vi permetterà di chiederlo. State a vedere.
PER CONTROLLO :X
SEALTRIMENTI ELEMENTO? :X :NUMS2 [
RIPETI ELEMENTO 3 :NUMS2 [QUADRATO D 12]
] [
QUADRATO]
FINE
PER QUADRATO
RIPETI ((CONTA :NUMS2)-1) [A 100 D 90]
FINE
ASSEGNA "NUMS2 (LISTA 22 11 30 576 982)
Nella procedura CONTROLLO, Logo chiede se :X fa parte
(ELEMENTO?) della variabile :NUMS2. Se lo è, lancia la
riga (ciò che è compreso tra la prima coppia di
parentesi quadre):
RIPETI ELEMENTO 3 :NUMS2 [QUADRATO D 12]
Altrimenti lancia la procedura QUADRATO (ciò che
è compreso nella seconda coppia di parentesi
quadre).
Logo coglie queste istruzioni da SEALTRIMENTI. Equivale a
dire: SE una condizione è certa, allora fai una certa
cosa ...ALTRIMENTI fanne un'altra.
Ci sono molte altre domande che potete rivolgere a
Logo.
UGUALE?... sono due parole o liste identiche?
Per esempio:
SE UGUALE? :X (ELEMENTO 3 :NUMS2) [RIPETI... ]
VUOTO?...è una parola o una lista vuota (" oppure [
])?
Per esempio:
SEALTRIMENTI VUOTO? :NUMS2 [STOP] [RIPETI... ]
dove se :NUMS2 è una lista vuota il procedimento si
ferma ( [STOP]), altrimenti viene lanciata la linea con
RIPETI.
NUMERO?...è quell'oggetto un numero?
Per esempio:
SE NUMERO? (ELEMENTO 3 :NUMS2) [RIPETI... ]
dove se ELEMENTO 3 di :NUMS2 è un numero, allora viene
lanciata la linea del RIPETI, altrimenti salta la linea e
prosegue con le istruzioni contenute nella linea
successiva.
PAROLA?
LISTA?
Queste istruzioni funzionano come NUMERO?, solo che questi
comandi chiedono se l'oggetto è una PAROLA o una
LISTA.
Operazioni logiche
Ci sono tre altre primitive che abbiamo bisogno di osservare
prima di abbandonare l'aritmetica di Logo: TUTTIVERI,
UNOVERO?, NON.
TUTTIVERI verifica che tutte le istruzioni che seguono il
comando siano vere.
ASSEGNA "X 210
ASSEGNA "Y 724
SE TUTTIVERI :X > 200 :Y < 800 [A 100]
Entrambe le condizioni sono vere e perciò la tartaruga
avanza di 100 passi.
Quando ci sono più di due condizioni da verificare,
allora il comando TUTTIVERI e le condizioni devono essere
poste tra parentesi.
ASSEGNA "Z 555
SE (TUTTIVERI :X > 200 :Y < 800 :Z > 500) [A
100]
Le tre condizioni sono tutte rispettate e quindi la tartaruga
avanza 100 passi.
UNOVERO? Così come TUTTIVERI verificava che tutte le
condizioni fossero vere, UNOVERO? controlla che almeno una di
esse lo sia. Se le condizioni sono più di due,
è necessario usare le parentesi, come nel caso
precedente.
SE UNOVERO? :X > 200 :Z > 1000 [A 100]
SE (UNOVERO? :X < 200 :Y < 800 :Z > 1000) [A
100]
Poiché in entrambi i casi almeno una delle condizioni
poste è vera, la tartaruga avanzerà di 100
passi.
NON se le condizioni poste sono false, le istruzioni che
seguono il comando NON vengono attuate. In altre
parole:
SE NON :Z > 1000 [A 100]
Se :Z non è maggiore di 1000, la tartaruga
avanzerà di 100 passi.
Sfide matematiche
Una sfida matematica può suonarvi come l'assegnazione
di compiti per casa, ma questi problemi sono divertenti...
sono una piccola sfida a dimostrare quanto avete imparato
finora.
Questo è un Mandala. Gli Indiani credono che sia un
simbolo dell'infinità dell'universo.
Le procedure per creare questo disegno sono riportate nella
pagina seguente. Prendetevi un po' di tempo per immaginarvi
il loro funzionamento. Rappresentano un'interessante
esercitazione di geometria della tartaruga.
PER CIRC
SU ASPOS :CENTRO
VAX XCOR-:RAGGIO
GIU CERCHIOR :RAGGIO
SU ASPOS :CENTRO
FINE
PER CERCHIOR :RAGGIO
LOCALE "PASSO
ASSEGNA "PASSO 2* :RAGGIO *3.1416/36
RIPETI 36 [D 5 A :PASSO D 5]
FINE
PER MANDALA :RAGGIO :CENTRO
CIRC
QUADRATO
SE :RAGGIO < 10 [STOP]
MANDALA :RAGGIO :CENTRO
FINE
PER QUADRATO
ASDIR 225 A :RAGGIO ASDIR 0
ASSEGNA "SIDE RADQ (2*(:RAGGIO * :RAGGIO))
GIU RIPETI 4 [A :SIDE D 90]
ASSEGNA "RAGGIO :SIDE/2
FINE
Bene...ora che avete ottenuto la procedura per il Mandala
tutta risolta, tentate di fare la stessa cosa usando
triangoli al posto dei quadrati.
Eccone un'altra....

Disegnate un triangolo sul computer...qualunque tipo di
triangolo può andare bene.
Ora disegnate un cerchio intorno ad esso in modo che la
circonferenza tocchi i tre punti del triangolo.
Questo sembra più complicato. Dunque ricordate...la
idea fondamentale di Logo è smontare il problema nelle
sue componenti più piccole. Partite da quello che
sapete. Scoprite quello che non sapete, quindi iniziate a
cercarlo.
Cosa sapete?
Sapete che i tre punti del triangolo dovranno essere sulla
circonferenza del cerchio. Se potete trovare un punto
equidistante da questi punti, avrete trovato il centro del
cerchio, corretto?
Per rendere le cose semplici da capire, diamo un nome ai
punti sul cerchio. Li chiameremo A, B, e C.
Dobbiamo trovare il punto D...un punto interno al triangolo
che stia alla stessa distanza da A, B e C.
Se il punto D è alla stessa distanza da A, B e C,
allora il punto D dev'essere il centro del cerchio e le tre
linee, AD, BD e CD sono ciascuna un raggio del cerchio che
vogliamo disegnare.
Ora, come possiamo dimostrarlo.
Disegnate la linea EF in modo che sia perpendicolare ad AB
nel suo punto medio.
Perpendicolare significa che EF stacca angoli retti su
AB.
Cosa potete ricavare dal disegno?
Avete due triangoli rettangoli...ADE e BDE... che hanno un
lato in comune (ED) e un altro lato uguale (BE = EA). Di
conseguenza anche i lati BD e AD devono essere uguali.
Bene...se possiamo trovare il punto sulla retta EF che renda
questi due segmenti uguali al segmento CD, avremo trovato il
centro del cerchio che vogliamo disegnare.
Facciamolo.
IL TRIANGOLO CASUALE.
Il primo passo è quello di creare un triangolo
qualsiasi...come quello che avevamo disegnato prima.
PER ACASO.TRI
ASSEGNA "PUNTOA POS
A 100 D 120 - ACASO 30
ASSEGNA "PUNTOB POS
ASSEGNA "DIST 250 - ACASO 100
A :DIST
ASSEGNA "PUNTOC POS TANA
FINE
Questa procedura inizia da TANA, il PUNTO A con coordinate
0,0. La tartaruga avanza di 100 passi e poi gira a destra di
un angolo a caso, con ampiezza compresa tra 90 e 120
gradi.
Questo è il PUNTO B, di coordinate 100,0.
La tartaruga avanza di un valore a caso, compreso tra 250 e
150 e determina il PUNTO C. Quindi la tartaruga fa ritorno
alla TANA.
Il passo successivo è quello di disegnare la
perpendicolare.
PER ANGOLO.D
ASPOS :PUNTOA
A 100/2 D 90
ASSEGNA "PUNTOE POS
A 200 SU TANA GIU
FINE
Avremo disegnato qualcosa di simile, ma senza le linee
tratteggiate.
Di cosa abbiamo bisogno per completare il nostro
cerchio?
Dobbiamo trovare il punto D sulla linea EF che sia
equidistante da B e da C.
Sappiamo già che AD e BD saranno comunque uguali e
rappresenteranno raggi della nostro cerchio. Così, se
possiamo rendere uno di essi uguale a DC, l'altro
automaticamente sarà uguale a DC.
La prima cosa di cui abbiamo bisogno è una procedura
per trovare distanze.
PER DIST :X1 :Y1 :X2 :Y2
RI DIST1 :X1 - :X2 :Y1 - :Y2
FINE
PER DIST1 :DX :DY
RI INTERO RADQ (:DX * :DX) + (:DY * :DY)
FINE
La procedura DIST misura la distanza tra due serie di
coordinate. MSWLogo misura tale differenza in modo
estremamente preciso. Per rendere le cose semplici e facili
da confrontare, arrotondiamo il valore all'unità
(è molto più semplice confrontare numeri interi
che non sfilze di decimali).
Ora mettiamo al lavoro la procedura DIST. La useremo per
calcolare due distanze, tra B e D e tra C e D. Quando esse
saranno uguali, disegneremo il cerchio.
PER VERIFICA.DIST
ASSEGNA "BD DIST PRIMO :PUNTOB ULTIMO :PUNTOB PRIMO :PUNTOD
ULTIMO :PUNTOD
ASSEGNA "CD DIST INTERO PRIMO :PUNTOC INTERO ULTIMO :PUNTOC
PRIMO :PUNTOD ULTIMO :PUNTOD
(STAMPA [BD = ] :BD)
(STAMPA [CD = ] :CD)
VERIFICA :BD = :CD
SEVERO [NASTARTA CERCHIO :PUNTOD :BD]
SEFALSO [A 0.1 ASSEGNA "PUNTOD POS VERIFICA.DIST]
FINE
Ecco qui due nuovi comandi: PRIMO e ULTIMO. Sapete già
che :PUNTOB è una lista di due coordinate. Se
ciò è vero, allora ULTIMO :PUNTOB deve essere
l'ultimo elemento di tale lista ovvero la coordinata y.
Imparerete ulteriori cose su caratteri, numeri, parole,
liste, PRIMO, ULTIMO, ed altri utili attrezzi nel capitolo
11.
Proviamo ora a lanciare la procedura VERIFICA.DIST.
Le prime due linee calcolano le distanze BD e CD. Potete
vedere come variano tali distanze, che vengono scritte
nell’Elenco dei Comandi.
Quindi Logo verifica i due numeri. Se :BD = :CD è
vero, se sono uguali, allora Logo disegna il cerchio con
:PUNTOD per centro e :BD per raggio. Se le due distanze non
sono uguali, la tartaruga avanza di un passo e ricontrolla le
distanze.
PER CERCHIO :CENTRO :RAGGIO
LOCALE "AMT
ASSEGNA "AMT (:RAGGIO * 2) * PIGRECO/360
SU ASPOS :CENTRO
VAX XCOR - :RAGGIO ASDIR 0 GIU
RIPETI 360 [A :AMT D 1]
SU ASPOS :CENTRO GIU
FINE
Per inserire tutto in una procedura, questo è un modo
per iniziare.
PER INIZIA
ACASO.TRI
ASPOS :PUNTOA
A 50 D 90
ASSEGNA "PUNTOD POS
VERIFICA.DIST
FINE
Dedica un poco del tuo tempo a questa procedura. Tornaci
sopra quando ti senti pronto. È una buona base di
partenza per altre procedure che vedrai nel resto del
libro.
Numeri e sistemi numerici
Io so cosa sono i numeri, ma cos'è un sistema
numerico?
C'è una enorme differenza tra numeri e sistemi
numerici. I numeri formano le tabelline numeriche che avete
imparato a scuola: 2 + 2 = 4, 4 + 4 = 8, 8 + 8 = 16, e
così via.
I sistemi numerici, d'altra parte, vi permettono di
inoltrarvi ben oltre le tabelline aritmetiche, fin dove la
matematica diviene un linguaggio a sé stante.
Diamo un'occhiata in tale direzione.
Ci sono 26 lettere nell'alfabeto inglese. Vengono usate per
formare parole e frasi. Ma le parole da sole non formano una
lingua. Dovete avere un metodo per unire queste parole
perché abbiano un senso per la persona con cui cercate
di comunicare.
Lettere e parole non valgono molto se non se ne conosce il
significato e il modo di collegarle.
Ancora più importante, tali lettere e parole devono
avere lo stesso significato per la persona o le persone alle
quali vi rivolgete. Se significano per voi una certa cosa e
una diversa per gli altri, ciò genera una bella
confusione.
Quando utilizziamo i numeri, facciamo servire cifre da 0 a
9...0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Così come le lettere
si combinano a formare parole, le cifre si combinano a
formare numeri . Ma i numeri non significano nulla se non
sapete come e perché sono stati messi insieme.
Cosa significa 1.487.653? È qui dove interviene il
nostro sistema di numerazione, il sistema decimale. Decimale
significa che è basato sul numero 10...o, come dicono
i matematici, è in base 10. Nel sistema decimale,
impariamo ad usare decina, centinaia, migliaia, decine di
migliaia, e così via. Perciò leggiamo quel
numero come 1 milione, quattrocento ottantasette mila,
seicento cinquantatrè.
BITS E BYTES
Avete mai sentito parlare dei "byte"? Sicuramente sì.
Avete incontrato un sacco di volte le abbreviazioni KB e MB,
ne sono certo. Significano kilobyte ovvero mille byte, e
megabyte ossia un milione di byte. La memoria dei computer
sono organizzate in byte.
Un byte equivale a 8 bit. Così, Cos'è un
bit?
Un bit è un'unità di memoria, sia essa 0 oppure
1. Se la memoria è accesa l'unità è 1,
se è spenta è 0. Tali zero e uno sono chiamati
"linguaggio macchina". È il linguaggio che il computer
utilizza per comunicare. Date un'occhiata:
1 + 1 = 10
Per il computer, tale somma è corretta. Il suo sistema
numerico utilizza soltanto due cifre, 0 e 1.
Quando a 9 sommi 1 devi spostarti dalla colonna delle
unità a quella delle decine, vero? La ragione è
che nel sistema decimale non esiste una cifra che rappresenti
il valore dieci. Così devi scrivere uno zero con
davanti un uno.
10 * 1 = 10
10 * 10 = 100
10 * 100 = 1.000
10 * 1.000 = 10.000
Cosa ti suggerisce rispetto al 10 questa serie di
moltiplicazioni?
La stessa idea si applica al sistema binario. Hai solo zero e
uno. Non esiste la cifra due.
Così quando moltiplichi i numeri binari...
10 * 1 = 10 due * uno = due
10 * 10 = 100 due * due = quattro
10 * 100 = 1.000 due * quattro = otto
10 * 1.000 = 10.000 due * otto = sedici.
TRADURRE I NUMERI
Sì, è un po' confuso. Così eccovi una
procedura che trasforma i numeri da un sistema all'altro. Si
chiama CONVERT.LGO. Per lanciarla, scrivete qualcosa del
tipo:
MOSTRA CONVERTI 12 10 2
ovvero: trasforma 12 da Base 10 a base 2.
Cosa otterrete?
PER CONVERTI :N :DABASE :ABASE
RI DEC.PER.OGNIBASE OGNIBASE.PER.DEC :N :DABASE 1
:ABASE
FINE
PER OGNIBASE.PER.DEC :N :BASE :POTENZA
SE VUOTO? :N [RI 0]
RI ( :POTENZA * C.PER.N ULTIMO :N ) + OGNIBASE.PER.DEC MU :N
:BASE :POTENZA * :BASE
FINE
PER C.PER.N :N
SE NUMERO? :N [RI :N]
RI (ASCII :N) - 55
FINE
PER DEC.PER.OGNIBASE :N :BASE
SE :N < :BASE [RI N.PER.C :N]
RI PAROLA DEC.PER.OGNIBASE INTERO QUOZIENTE :N :BASE :BASE
N.PER.C RESTO :N :BASE
FINE
PER DIVISORP :A :B
RI 0 = RESTO :B :A
FINE
PER N.PER.C :N
SE :N < 10 [RI :N]
RI CAR 55 + :N
FINE
Aggiungiamo due serie di procedure: due trasformano numeri da
BASE 10 a BASE 16 e due trasformano numeri da BASE 10 al
sistema binario (BASE 2) e viceversa.
PER ESAADEC :N
RI CONVERTI :N 16 10
FINE
PER DECAESA :N
RI CONVERTI :N 10 16
FINE
PER BINADEC :N
RI CONVERTI :N 2 10
FINE
PER DECABIN :N
RI CONVERTI :N 10 2
FINE
Altre due procedure che possono tornare utili sono:
PER OTTADEC :N
RI CONVERTI :N 8 10
FINE
PER DECAOTT :N
RI CONVERTI :N 10 8
FINE
Perché abbiamo inserito i numeri a base otto?
Perché i computer usano numeri binari, ottonari e
esadecimali.
Ricordate: un "bit" di memoria è un minuscolo circuito
che può essere SPENTO o ACCESO, ovvero 0 oppure
1.
I primi elaboratori da tavolo usavano circuiti da 8 bit. Otto
bit equivalgono a 1 byte. Sebbene oggi i computer utilizzano
tecnologia da 32 bit, continuiamo a misurare la memoria in
Kilobyte e Megabyte.
I numeri ottonari sono a Base 8, usano cifre da 0 a 7; le
cifre 8 e 9 non esistono. Così avete il caso in
cui:
7 + 1 = 10
I numeri esadecimali creano ancor più confusione.
Hanno Base 16. Poiché abbiamo simboli solo per le
prime dieci cifre, dobbiamo utilizzare delle lettere per i
digiti da 10 a 15:
9 + 1 = A nove + uno = dieci
A + 1 = B dieci + uno = undici
B + 4 = F undici + quattro = quindici
9 + 7 = 10 nove + sette = sedici
10 + B = 15 dieci + undici = ventuno.
PAROLE AL COMPUTER
Sarebbe impossibile comunicare con un computer se la sua
memoria fosse soltanto un miscuglio di circuiti aperti o
chiusi. Così organizziamo i circuiti in "parole" di 16
bit.
00000000 00000001
00000000 00000001 +
00000000 00000010
00000000 00001111 = 15
00000000 11111111 = 255
11111111 11111111 = 65.535
Vi immaginate cosa sarebbe un programma in linguaggio
macchina che usa solo zero e uno?
Pensateci un momento! Il computer non pensa, ma, se certe
combinazioni di circuiti sono attivate, il computer esegue
certe cose.
Perciò...sembrerebbe che il computer debba usare un
certo tipo di codice per trasformare apertura e chiusura di
circuiti in numeri binari, e questi in istruzioni.
Ogni microprocessore, il circuito integrato che controlla il
computer, usa una speciale dotazione di istruzioni per
trasformare gli zero e gli uno in azioni sullo schermo. I
linguaggi informatici come il Logo trasformano i vostri
comandi in istruzioni che possono essere capite dalla
dotazione di istruzioni del computer.
Mrtle, il robot, possiede un intero libro su come si svolge
questo lavoro, così non ci dilungheremo eccessivamente
nello spiegare questo aspetto. Ricorda solo che tutto
dev'essere fatto utilizzando determinati codici.
Non so cosa ne pensate, ma a me questo sembra un buon esempio
di numeri utilizzati come linguaggio.
SIMBOLOGIA TECNICA
La simbologia tecnica è strana, ma non così
complicata. In realtà risulta abbastanza
semplice.

Proviamo a fare qualche esperimento.
Proviamo a giocare un poco con la numerazione tecnica.
MOSTRA 1.E+2 * 9
MOSTRA 1.E-5 * 9
MOSTRA 1.E+14 * 128
Che accidenti di risposta è .... 1.28e+16?
Se continuate a giochicchiare con la numerazione tecnica,
scoprirete come funziona. Provate a sommare un po' di numeri
a 1.E, Sottraetene un'altra manciata. Cosa succede?
Scoprirete che è un modo abbreviato per scrivere
numeri molto grandi o molto piccoli, e presto sarete in grado
di leggere tali numeri con la stessa facilità con cui
leggete gli altri numeri.
1.28e+16 equivale a 128 seguito da 14 zeri ovvero 1 al
sedicesimo posto dalla virgola, ossia 12.800.000.000.000.000,
quasi 13 milioni di miliardi.
A quanto equivarrà MOSTRA 1.E-14 * 128 ?
La matematica non deve essere per forza noiosa, qualcosa
senza senso. Può essere divertente, a volte anche
eccitante!
Ci sono altre avventure matematiche in arrivo, e anche
avventure con Logo.
Capitolo 10. Quante
tartarughe!
"Uff!...Lavorare con una tartaruga è già
abbastanza faticoso, ma MSW Logo offre 1024 tartarughe!
È peggio che lavorare con conigli!"
Sì, ci sono tantissime tartarughe in MSW Logo, 1024
per l'esattezza. Ma prima di cominciare a lavorare con le
"tartarughe multiple", date un'occhiata a come potete
ottenere l'effetto "tartarughe multiple".
È un ripasso completo delle cose che avete fatto
finora.
Questa procedura mostra un buon uso di comandi tra loro
coordinati.
La figura che appare sembra disegnata da quattro
tartarughe.
PER CALEIDOSCOPIO
DEFINIRE
RIPETI 50 [DIMOSTRARE]
FINE
PER DEFINIRE
ASSEGNA "C 1
ASSEGNA "PASSO 20
ASSEGNA "ANGOLO 5 NASTARTA
FINE
PER DIMOSTRARE
SE :PASSO > 100 [ASSEGNA "PASSO 10]
ASSEGNA "PASSO :PASSO+5 MUOVERE D :ANGOLO
SE UNOVERO? :ANGOLO >45 :ANGOLO <-45 [ASSEGNA "ANGOLO
:ANGOLO-(:ANGOLO*2)]
ASSEGNA "ANGOLO :ANGOLO+5
SE :C = 3 [ASSEGNA "C 0]
ASSEGNA "C :C+1
FINE
PER MUOVERE
ASSEGNA "X1 XCOR ASSEGNA "Y1 YCOR A :PASSO
ASSEGNA "X2 XCOR ASSEGNA "Y2 YCOR
SU VAXY :X1 - (:X1*2) :Y1
SU VAXY :X2 - (:X2*2) :Y2
SU VAXY :X1 - (:X1*2) :Y1- (:Y1*2)
SU VAXY :X2 - (:X2*2) :Y2- (:Y2*2)
SU VAXY :X1 :Y1- (:Y1*2)
SU VAXY :X2 :Y2- (:Y2*2)
SU VAXY :X2 :Y2 GIU D 15
FINE
Immaginate come sarebbe apparso questo se si fosse disegnato
utilizzando differenti colori.
Ecco un altro buon esempio dell'uso di comandi coordinati in
una procedura. In quello precedente, le "tartarughe" hanno
agito tutte secondo un piano prestabilito. Qui sotto siete
voi a dire a ciascuna che cosa fare.
Quattro "tartarughe" sono descritte in questa procedura anche
se poi ne viene usata una sola. Qattro procedure descrivono
ciascuna "tartaruga" definendone la posizione e
l'orientamento. XCOR, YCOR e DIREZIONE sono dettagliatamente
esplicitati per ogni tartaruga, così potete vedere
come funziona questa procedura.
Battete VAI per cominciare. Poi CHIEDI alla tartaruga 0, 1, 2
o 3 di fare qualcosa.
Avrete notato che CHIEDI richiede che introduciate la
variabile NUMERO DELLA TARTARUGA e una serie di ISTRUZIONI.
Perciò accertatevi di avere inserito le vostre
istruzioni per la tartaruga designata tra parentesi
quadre.
Es: CHIEDI 2 [RIPETI 4 [A 100 D 90] ]
PER FISSA.DUE
ASSEGNA "OLDX2 XCOR
ASSEGNA "OLDY2 YCOR
ASSEGNA "OLDH2 DIREZIONE
FINE
PER FISSA.TRE
ASSEGNA "OLDX3 XCOR
ASSEGNA "OLDY3 YCOR
ASSEGNA "OLDH3 DIREZIONE
FINE
PER FISSA.UNO
ASSEGNA "OLDX1 XCOR
ASSEGNA "OLDY1 YCOR
ASSEGNA "OLDH1 DIREZIONE
FINE
PER FISSA.ZERO
ASSEGNA "OLDX0 XCOR
ASSEGNA "OLDY0 YCOR
ASSEGNA "OLDH0 DIREZIONE
FINE
PER INIZIALIZZA
FISSA.ZERO
FISSA.UNO
FISSA.DUE
FISSA.TRE
FINE
PER TIMER
ASPETTA 150 PT
FINE
PER VAI
PT STAMPA [BENVENUTI ALLA PROCEDURA DELLE TARTARUGHE
MULTIPLE]
TIMER
STAMPA [PUOI COMANDARE 4 TARTARUGHE]
STAMPA [ESEMPIO: CHIEDI 0 [RIPETI 3 [A 100 D 120]]]
TIMER
STAMPA "
STAMPA [PRONTO? OK, PROVA...]
INIZIALIZZA
FINE
OK, ma come fate tutto ciò?
È abbastanza facile. Nell'MSW Logo dovete
semplicemente chiedere (CHIEDI) ad ogni tartaruga o gruppo di
tartarughe di fare qualcosa.
UN NUOVO GIOCO DI TIRO AL BERSAGLIO
Ecco qui un nuovo gioco di tiro al bersaglio. Avete
l'opportunità di colpire un bersaglio mobile.
PER PIATTELLO
PT
STAMPA [BENVENUTI AL GIOCO]
STAMPA [*****FULMINA LA TARTARUGA*****]
STAMPA[]
STAMPA [UNA DELLE TARTARUGHE APPARIRÀ SULLO
SCHERMO.]
STAMPA [RIUSCITE AD INDOVINARE LA DIREZIONE E LA
VELOCITÀ]
STAMPA [GIUSTE PER COLPIRE LA TARTARUGA MOBILE?]
STAMPA []
ASPETTA 200 PT
STAMPA [AVANTI!] ASPETTA 50
STAMPA [FATE UNA PROVA!]
STAMPA [PER GIOCARE PREMETE T E POI ENTER]
FINE
PER T
PS PT SU
ASSEGNA "ANS1 (ACASO 500)-(ACASO 250)
ASSEGNA "ANS2 (ACASO 200)-(ACASO 100)
DIRE 1 TANA DIRE 0 SU VAXY :ANS1 :ANS2 GIU
ASDIR (ACASO 180)-(ACASO 45)
SE DIREZIONE<45 [ASDIR DIREZIONE+45]
ASSEGNA "DIR ACASO 2
SE :DIR = 1 [ASDIR DIREZIONE - 180]
STAMPA [POTETE COLPIRE IL BERSAGLIO?]
ASPETTA 80 PT
DEFINIRE
FINE
PER DEFINIRE
RIPETI 3 [DIRE 0 A ACASO 25]
STAMPA [INDOVINATE L'ORIENTAMENTO NECESSARIO PER COLPIRE IL
BERSAGLIO?]
ASSEGNA "ANS3 LEGGI.NUMERO
DIRE 1 ASDIR :ANS3
STAMPA [INDOVINATE LA VELOCITÀ NECESSARIA PER
INTERCETTARE IL BERSAGLIO?]
ASSEGNA "ANS4 LEGGI.NUMERO
CIRCOLARE
MUOVERE
FINE
PER MUOVERE
DIRE 0 A ACASO 10
ASSEGNA "ANS1 XCOR
ASSEGNA "ANS2 YCOR
DIRE 1 A :ANS4
ASSEGNA "ANS5 XCOR
ASSEGNA "ANS6 YCOR
SE :ANS5<:ANS1-10 [MUOVERE]
SE :ANS5>:ANS1+10 [MUOVERE]
SE :ANS6<:ANS2-10 [MUOVERE]
SE :ANS6>:ANS2+10 [MUOVERE]
APPLAUSI
FINE
PER LEGGI.NUMERO
RIPORTA PRIMO LL
FINE
PER DIRE :TNUM
ASTARTA :TNUM
FINE
PER APPLAUSI
PT RIPETI 5 [STAMPA [CONGRATULAZIONI!]]
T
FINE
Questo è soltanto il principio di quello che si
può fare con questo gioco.
Ci sono tante cose che potete fare per arricchirlo
Per prima cosa procediamo per gradi.
La procedura PIATTELLO serve per cominciate. Vi dice cosa
dovete fare. Per cominciare il gioco vero e proprio, premete
T. La procedura T prepara il gioco. La tartaruga 0 viene
posta sullo schermo in posizione casuale. Ha una penna che
disegnerà una breve linea che vi mostrerà la
direzione nella quale si sta muovendo.
Vostro compito sarà indovinare la direzione e la
velocità della vostra tartaruga necessarie per
intercettare la prima tartaruga. Questa continuerà a
muoversi sullo schermo nella direzione che sta
seguendo.
Dovete predisporre l'orientamento per intercettare la
tartaruga 0.
Dovete anche stabilire la velocità. Diventerete degli
esperti procedendo per tentativi ed errori. Più alta
è la velocità, maggiore è la
possibilità di sbagliare. Tenetela bassa, fra 5 e
20.
Una volta inserite direzione e velocità, il computer
farà il resto.
Se vi avvicinate entro i dieci passi alla tartaruga 0,
lancerete la procedura APPLAUSI, altrimenti dovrete fermarvi
e riprovare.
Leggete attentamente le istruzioni, poi provate alcune volte
il gioco.
Che cosa potete fare per renderlo più facile?
Che cosa potete fare per renderlo più difficile?
Che cosa potreste fare per rendere la procedura APPLAUSI un
po' più divertente? Stampare "CONGRATULAZIONI!"
è un po' noioso.
Ci sono tante cose che potete fare per migliorare questo
gioco. Avanti, provate a farlo!
Che cosa ne dite di cambiare la forma della
tartaruga....usando un BITMAP per farlo?
Controllate MSW Logo Dimostrazione (programma dimostrativo
che viene caricato automaticamente quando si installa MSW
Logo. Si trova nel menù AIUTO). Notate come la
tartaruga è diventata un'immagine BITMAP. Non fatevi
confondere dalla parola "BITMAP", significa soltanto che
state usando un'immagine grafica, così come lo
è anche un triangolo.
Leggete anche la sezione dell’AIUTO che parla delle
funzioni di BITMAP. Vi darà molte idee. Tra l'altro vi
spiegherà cosa è stato fatto in MSW Logo
Dimostrazione.
State proprio diventando bravi con tutte queste cose.
Allora, perché non provate qualche altra cosa usando
le procedure delle "tartarughe multiple" da soli?
Capitolo 11. Per parlare con il tuo
computer
Una delle cose più interessanti del linguaggio Logo
è poter elaborare frasi. I primi linguaggi per
computer erano conosciuti come "mastica-numeri". Ogni cosa
doveva essere rappresentata da numeri. Logo è diverso,
utilizza "la computazione simbolica", che vi permette di
elaborare idee.
Potete dunque parlare col tuo computer?
Questa è una procedura breve e semplice. Scrivetela e
quindi lanciatela. Cosa succede? È come una breve
conversazione, vero?. Ma no, non state davvero parlando con
il computer.
PER PARLARE
STAMPA [CIAO, COME TI CHIAMI?]
ASSEGNA "NOME LEGGIPAROLA
STAMPA FRASE [NON CREDO CI SIAMO INCONTRATI,] :NOME
STAMPA [HAI MAI PARLATO CON UN COMPUTER?]
VERIFICA LC = "N
SEFALSO [STAMPA [CASPITA! PARLI ANCHE CON LE
TARTARUGHE?]]
SEVERO [STAMPA [O CIELO, UN PRINCIPIANTE.]]
FINE
Avete già letto qualcosa riguardo ai caratteri di
Logo, a parole, numeri e frasi. Ma c'è dell'altro da
imparare, specialmente se volete lavorare con l'elaborazione
di frasi. Perciò, assicuriamoci che conosciamo le
differenze prima di passare all'opera.
Caratteri, parole e liste
"Cosa significa elaborare liste?
"Una delle cose davvero ben fatte di Logo è che vi
permette di elaborare informazioni o dati in molti modi
diversi. Possono essere numeri, parole, liste, elenchi o
raggruppamenti."
"Raggruppamenti?"
"I raggruppamenti sono come delle tabelle...informazioni
ordinate per file e colonne. Ma non fatevi confondere, vedete
tabelle ogni giorno: un calendario è un esempio di
raggruppamento. Comunque, non abbiamo intenzione di
angosciarci con le tabelle in questo libro, magari nel
prossimo.
"Ma dovete fare attenzione al tipo di informazione, al tipo
di dati con cui state lavorando. Dovete identificarlo in modo
preciso, cosicché Logo sappia di cosa state
parlando.
"Lo capirete in seguito.
NUMERI
I numeri possono avere una o più interi. Gli interi
sono numeri come: 3, 25, 423.
Le frazioni e i numeri decimali non sono numeri interi, sono
parti di numeri.
AVANTI 5 ASDIR 45
RIPETI 4 ASDIR 0
DESTRA 20 ASDIR -90
INDIETRO 30 ASDIR -270
Esistono numeri positivi, che hanno un segno di più
(+) davanti. Comunque, per semplificare la vita, possiamo
anche tralasciare questo segno +. Segnaleremo solo i numeri
negativi, quelli il cui valore è minore di 0.

I numeri decimali comprendono una parte di un numero intero,
come:
1.25; 3.24; 89.23. MSW Logo (ricordi che usa il punto al
posto della virgola decimale? ) vi permette di usare i
decimali.
A 100.125 I 21.75
Logo scrive numeri molto grandi o molto piccoli utilizzando
la cosiddetta notazione tecnica, come 1.0E-2. L'argomento
è un po' troppo complesso per il livello di questo
libro, ma se vi compare qualcosa del genere, saprete almeno
che il vostro computer non è impazzito.
CARATTERI
Logo mostra anche caratteri alfabetici e numerici usando le
primitive CAR o ASCII (Codice Standard Americano per
l'Interscambio d'Informazioni).
MOSTRA CAR 65 mostra la lettera A
MOSTRA CAR 67 mostra la lettera C
MOSTRA CAR 49 mostra il numero 1
MOSTRA CAR 32 mostra uno spazio.
Proprio così, c'è un carattere anche per lo
spazio vuoto.
CAR <numero di codice da 0 a 127> mostra la lettera, il
numero o il segno di punteggiatura specifico per quel
carattere ASCII. No, non dovete impararvi i codici di
ASCII.
Se volete conoscere il codice ASCII per un determinato
carattere, dovete solo battere:
MOSTRA ASCII <carattere>
MOSTRA ASCII "A mostra 65.
MOSTRA ASCII "a mostra 97.
Provate a lanciare qualche comando CAR e ASCII per verificare
se avete capito bene quello a cui servono. Solo ricordate che
i codici ASCII tradizionali comprendono 128 caratteri,
numerati da 0 a 127.
PAROLE
Notate che quando identificate una lettera, dovete metterle
davanti delle virgolette; la stessa cosa non succede con i
numeri. Logo identifica come un numero 3 allo stesso modo che
325491587.
Può sembrare strano, ma Logo tratta una singola
lettera come una parola. Lui identifica:
STAMPA "T allo stesso modo che
STAMPA "Tirannosauro.
Naturalmente, non è così strano se ci
riflettete un poco.
"A" è una parola, non è vero? È una
preposizione o un complemento di termine in italiano, oppure
un articolo in inglese.
Cosa potete dire della parola "I"?
Una parola in Logo è ogni possibile combinazione di
lettere, numeri e segni di punteggiatura, senza spaziatura
intermedia.
MOSTRA "ABC_456 mostra ABC_456
MOSTRA "A93HK8 mostra A93HK8
.
LISTE
Le liste sono qualcosa che sta dentro a delle parentesi
quadre [ ]. Una lista può includere
parole,
numeri o altre liste. Naturalmente, se una lista contiene una
lista, entrambe dovranno essere incluse tra parentesi
quadre.
STAMPA [Questa è una lista] mostra Questa è una
lista
STAMPA [1 2 3 anche questa è una list_A B C?] mostra 1
2 3 anche questa è una list_A B C?
Cosa ne pensate di questo?
STAMPA [1 2 3 [anche questa è una list_A B C]]
Eccoti una lista che contiene un'altra lista, che
verrà mostrata come:
1 2 3 [anche questa è una list_A B C]
Date un'occhiata alla procedura PARLARE. Contiene un'unica
vera novità. Avete capito come agisce il comando
FRASE? FRASE, oppure FR, prende due input e li stampa
insieme. Possono essere due parole, due liste di parole o una
combinazione di parole e liste.
STAMPA FRASE [NON CREDO CI SIAMO INCONTRATI,] :NOME
NON CREDO CI SIAMO INCONTRATI, è una lista. È
il primo input. :NOME è il secondo. È la parola
che avete scritto quando la procedura vi ha chiesto "come ti
chiami?".
_
NOTA BENE: quando volete aggregare più di due
input in una frase, dovete usare le parentesi. Per
esempio:
STAMPA (FRASE :NOME ", [COME STAI?])
Se ammettiamo che :NOME è la variabile che sta per
Ernestina, la linea risulterà:
ERNESTINA, COME STAI?
Anche se vi può sembrare strano, Logo tratta la
virgola come una parola a sé stante. Ogni cosa che
segue un singolo segno di punteggiatura è una parola.
La parola finisce con una spaziatura.
Potete includere numeri, caratteri, parole e liste in una
frase di Logo.
STAMPA (FRASE :NOME "ha CAR 49 CHR 52 [anni
d'età!])
Che risulta essere: ERNESTINA ha 14 anni d'età!
Modifichiamo un poco la procedura PARLARE per vedere
ulteriori cose che il comando FRASE può fare.
PER PARLARE
STAMPA [CIAO, COME TI CHIAMI?]
ASSEGNA "NOME PAROLA LEGGIPAROLA ",
ASSEGNA "RIPETI FRASE :NOME [MI CHIAMO ERNESTINA.]
STAMPA FRASE [NON CREDO CI SIAMO INCONTRATI,] :RIPETI
STAMPA [HAI MAI PARLATO CON UN COMPUTER?]
VERIFICA LEGGIPAROLA = "SI
SEVERO [STAMPA [CASPITA! PARLI ANCHE CON LE
TARTARUGHE?]]
SEFALSO [STAMPA [O CIELO, UN PRINCIPIANTE.]]
FINE
Accidenti, è stato introdotto un nuovo comando,
PAROLA. Abbiamo parlato anche prima di parole. Vedete la
differenza tra FRASE e PAROLA?
Guardate attentamente. FRASE combina numeri, caratteri,
parole e liste. PAROLA combina solo caratteri, numeri e altre
parole. FRASE produce una lista, PAROLA una parola.
Per vedere la differenza, provate a lanciare qualcosa
come:
STAMPA PAROLA "A "B
STAMPA FRASE "A "B
o questo:
STAMPA PAROLA "1 "2
STAMPA FRASE "1 "2
La cosa si fa interessante.
Cosa succederà se facciamo:
ASSEGNA "A PAROLA 1 2
ASSEGNA "B PAROLA 3 4
STAMPA :A+:B
Provate questo:
STAMPA PAROLA :A :B
Cosa succede? Scommetto che vi ha scritto 1234, vero?
E allora proviamo qualche altra cosa per vedere cosa abbiamo
tra le mani:
STAMPA :A
SE NUMERO? :A [STAMPA "VERO]
NUMERO? dice a Logo che SE :A è un numero, si deve
scrivere VERO.
Un altro modo di dirlo sarebbe questo, utilizzando una nuova
primitiva:
STAMPA :A
SE NON NUMERO? :A [STAMPA "FALSO]
Questa volta Logo scrive FALSO se :A non è un
numero.
Prima di fare chiarezza, facciamo ancora un po' di
confusione.
Cosa scriverà questa linea?
STAMPA (PAROLA 1 CAR 32 2 CAR 32 3)
Il risultato sembra una frase, ma dovrebbe in realtà
essere una parola.
1 2 3
Di fatto si legge: 1 spazio 2 spazio 3 , perché gli
spazi sono stati deliberatamente inseriti come caratteri. In
Logo, questa è in effetti un'unica parola.
Solo per provare la differenza, prova questa volta:
STAMPA (PAROLA 1 2 3)
Dove sono finiti gli spazi?
COMANDI DI ETICHETTATURA
Il comando ETICHETTA significa cose differenti nelle diverse
versioni di Logo. In MSW Logo, l'input di ETICHETTA, che
può essere una parola o una lista, viene stampato
sullo schermo.
Per definire il
font nella quale la parola o la lista
viene mostrata - un font determina l'aspetto dei caratteri
sullo schermo (tipo di carattere, in grassetto, corsivo,
dimensione, ...) - potete usare il comando ASFONTETICHETTA.
Un font determina a cosa assomiglierà il testo sullo
schermo quando si usa il comando ETICHETTA.
ASFONTETICHETTA [font]
L'input di SETTEXTFONT è una lista che descrive
completamente una fonte. La lista contiene:
[[Nome del font] altezza spessore italico sottolineato
scelta]
[Nome del font] specifica il nome della fonte di
scrittura. Potete usare ogni font disponibile sul vostro
computer.
Altezza: è un numero che specifica l'altezza
desiderata per il font. Se questo valore è maggiore di
zero, specifica l'altezza della celletta del font. Se esso
è minore di zero, specifica l'altezza del
carattere.
Spessore: è un numero che specifica lo spessore
del font. Varia tra 0 e 900 di 100 in 100. Il valore 0
significa omissione dello spessore.
Italico: è un numero che specifica un font
italico. Usate lo 0 per indicare una scrittura normale.
Scelta: è un numero che specifica la scelta di
un font. Usate 0 per una scrittura normale.
Eccovi un esempio:
ASFONTETICHETTA [[Arial] -21 0 0 700 0 0 0 0 3 2 1 34]
PS D 90 ETICHETTA "CIAO S 90 SU A 100 GIU ETICHETTA
“CIAO
Un modo però più facile è quello di
utilizzare il comando del Menu e poi catturare gli attributi
da inserire in ASFONTETICHETTA con il comando
FONTETICHETTA.
Provate ora a scrivere qualche etichetta pensata da
voi.
GARE DI PAROLE
Che ne dite di un gioco di parole, come il gioco di
Nim?
PER CORRETTO
STAMPA [PROVACI ANCORA!]
ASSEGNA "CHIAVE LC
FINE
PER FINE.GARA
RIPETI 3 [STAMPA "]
STAMPA [QUESTA È L'ULTIMA PIETRA CHE RESTA. HO VINTO
ANCORA.]
FINE
PER GARA
(SCRIVI [VI SONO ] CAR 32 :TOTAL CAR 32) STAMPA [PIETRE IN
UNA PILA.]
(SCRIVI [PRENDINE DA UNA A ] CAR 32 :COGLI CAR 32) STAMPA [
PIETRE.]
ASSEGNA "CHIAVE LEGGICAR
IGNORA LC
SE UNOVERO? :CHIAVE >:COGLI :CHIAVE <1 [CORRETTO]
(SCRIVI [IO PRENDO] CAR 32) STAMPA :COGLI2 - :CHIAVE
ASSEGNA "TOTAL :TOTAL - :COGLI2
SE :TOTAL >1 [GARA]
SE :TOTAL = 1 [STOP]
FINE
PER NIM
PT
RIPETI 5 [STAMPA "]
STAMPA [BENVENUTI AL GIOCO DI NIM]
STAMPA "
STAMPA [QUESTO È UN GIOCO DOVE TU E IL]
STAMPA [COMPUTER RACCOLGONO A TURNO DEI SASSOLINI]
STAMPA [DA UNA PILA. PERDE CHI RESTA]
STAMPA [CON L'ULTIMO SASSO.]
STAMPA "
STAMPA [TU SCEGLI: QUANTE PIETRE POTRÀ]
STAMPA [RACCOGLIERE OGNI VOLTA CIASCUN GIOCATORE?]
ASSEGNA "COGLI LEGGIPAROLA
ASSEGNA "COGLI2 :COGLI + 1
STAMPA [QUANTI TURNI DI RACCOLTA PREVEDI?]
ASSEGNA "TURNI LEGGIPAROLA
ASSEGNA "TOTAL :COGLI2*:TURNI+1
GARA
FINE.GARA
FINE
Perché Logo vince sempre?
Puoi immaginarti come fa?
Se ripercorri la gara passo a passo troverai che non è
molto difficile. poi potrai sfidare i tuoi amici quando
vorrai giocare senza il computer
Ora, segue una vera sfida.
Puoi cambiare la procedura di Nim in modo che il computer non
vinca sempre?
È complesso, ma ci potete riuscire senza grandi
cambiamenti.
L'ORACOLO DIVERTENTE
C'è un gioco divertente da giocare in un gruppo di
amici o in una classe.
L'Oracolo pensa una storia. Il senso del gioco è
ricostruire la storia ponendo all'Oracolo domande dirette che
ammettano per sole risposte SI oppure NO.
Bene, l'Oracolo è oscuro.
Dai un'occhiata alle procedure e vedi se riesci a immaginare
come funziona.
PER CHIEDERE
STAMPA "
STAMPA [QUAL È LA DOMANDA?]
ASSEGNA "DOMANDA LEGGILISTA
SE NON (ULTIMO ULTIMO :DOMANDA) = "? [STAMPA [LE DOMANDE
DEVONO TERMINARE CON ?.] CHIEDERE]
SE ELEMENTO? (ULTIMO MU ULTIMO :DOMANDA) [a e i o u] [STAMPA
"Sì CHIEDERE]
SE (ULTIMO MU ULTIMO :DOMANDA) = "E [STAMPA "FORSE
CHIEDERE]
STAMPA "No
CHIEDERE
FINE
PER ORACOLO
PULISCITESTO
RIPETI 20 [STAMPA " ]
STAMPA [STO PENSANDO UNA STORIA. FAMMI DOMANDE
DIRETTE,]
STAMPA [ALLE QUALI IO POSSO RISPONDERE CON SI OPPURE
NO.]
STAMPA [POI TI RISPONDERÒ.]
CHIEDERE
FINE
L'Oracolo comincia a rispondere alla prima domanda.
ASSEGNA "DOMANDA LEGGILISTA
Quando scrivete una domanda, state introducendo una lista di
parole.
Logo verifica che abbiate inserito un punto di domanda.
SE NON (ULTIMO ULTIMO :DOMANDA) = "? [STAMPA [LE DOMANDE
DEVONO TERMINARE CON ?.] CHIEDERE]
Questo significa che se l'ultimo (ULTIMO) carattere
dell'ultima parola della lista non è un punto di
domanda (?), viene scritta la frase tra parentesi quadre e si
ritorna all'inizio della procedura CHIEDERE.

Facciamo una pausa per provare qualche esperimento.
Provate con questo:
MOSTRA ULTIMO "TEST
Cosa credete che vi verrà mostrato?
MOSTRA PRIMO "TEST”
Cosa credete che vi verrà mostrato adesso?
Che ne pensate di questi altri:
MOSTRA MENPRI "TEST
MOSTRA MENPRI [Questo è un test.]
MOSTRA ULTIMO MENPRI [Questo è un test.]
MOSTRA ULTIMO PRIMO MENPRI [Questo è un test.]
Provate un po' da soli.
Usando i comandi PRIMO, ULTIMO, MENPRI, MENULT (attenzione,
nella versione italiana di MSW Logo attualmente MENULT non
funziona, si deve usare l’abbreviazione MU), tu puoi
scegliere ogni lettera di ogni parola di una lista.
TORNANDO ALL'ORACOLO...
SE ELEMENTO? (ULTIMO MU ULTIMO :DOMANDA) [a e i o u] [STAMPA
"Sì CHIEDERE]
Questo acquisisce un senso perché quello che la
condizione stabilisce è che se il carattere successivo
all'ultimo carattere dell'ultima parola è un termine
della lista (a e i o u), venga stampato "Sì e quindi
viene rilanciata la procedura CHIEDERE.
Questa volta, Logo chiede se il carattere successivo è
"E. In tal caso, Logo stampa Forse e richiama la procedura
CHIEDERE.
Ora che avete avuto una sana boccata di come si gestisce una
lista, date un'occhiata ai comandi per la strutturazione dei
dati nel comparto Aiuto del programma MSW Logo.
Otterrete una visione d'insieme degli altri comandi che
riguardano la gestione di liste.
Ne userete qualcuno nel prossimo esercizio.
SOMMA DI PAROLE
"Quanto fa due più due?"
"Non sai niente di più facile? Fa quattro,
naturalmente!"
"Come hai ottenuto la risposta?"
"Ho aggiunto due a due e ho ottenuto quattro. Che
pensi?"
"Hai sommato 2 + 2 oppure due più due? Sei stai
parlando con Logo, c'è una certa differenza tra le due
opzioni, lo sai bene."
"Già, non ci avevo mai riflettuto bene."
"Bene, facciamo un rapido volo."
Aggiungere parole a parole è un buon esercizio per la
gestione di liste. Eccovi una rapida descrizione di come
funziona.
SOMMAPAROLE "NOVE "CINQUE
La risposta è 14. Ma questa volta viene attivata la
procedura DECINE che stampa:
La risposta è quattordici.
Eccovi l'intera procedura.
PER SOMMANUMERI
ASSEGNA "NUMS1 FRASE :NUMS1 :NUMS
ASSEGNA "NUMS3 (PRIMO :NUMS)
RIPETI (CONTA :NUMS2) - 1 [ASSEGNA "NUMS1 MP :NUMS1 SE (PRIMO
:NUMS1) = (PRIMO :NUMS) [ASSEGNA "NUMS3 PRIMO MP
:NUMS]]
SEALTRIMENTI :NUMS3 = "ZERO [SCRIVI [LA RISPOSTA E':\ ]
STAMPA (PRIMO :NUMS1)][DECINE]
FINE
PER FISSA1 :NUM1 :NUMS
SE (PRIMO :NUMS) = :NUM1 [RI :NUMS]
RI FISSA1 :NUM1 MP :NUMS
FINE
PER FISSA2 :NUM2 :NUMS
SE (ULTIMO :NUMS) = :NUM2 [RI :NUMS]
RI FISSA2 :NUM2 MU :NUMS
FINE
PER INIZIA
PT ASSEGNA "NUMS [ZERO UNO DUE TRE QUATTRO CINQUE SEI SETTE
OTTO NOVE]
FINE
PER SOMMAPAROLE :NUM1 :NUM2
INIZIA
ASSEGNA "NUMS1 FISSA1 :NUM1 :NUMS
ASSEGNA "NUMS2 FISSA2 :NUM2 :NUMS
SOMMANUMERI
FINE
PER DECINE
SE (PRIMO :NUMS1) = "ZERO [SCRIVI [LA RISPOSTA E':\ ]
STAMPA "DIECI]
SE (PRIMO :NUMS1) = "UNO [SCRIVI [LA RISPOSTA E':\ ]
STAMPA "UNDICI]
SE (PRIMO :NUMS1) = "DUE [SCRIVI [LA RISPOSTA E':\ ]
STAMPA "DODICI]
SE (PRIMO :NUMS1) = "TRE [SCRIVI [LA RISPOSTA E':\ ] STAMPA
"TREDICI]
SE (PRIMO :NUMS1) = "QUATTRO [SCRIVI [LA RISPOSTA E':\
]
STAMPA "QUATTORDICI]
SE (PRIMO :NUMS1) = "CINQUE [SCRIVI [LA RISPOSTA E':\ ]
STAMPA "QUINDICI]
SE (PRIMO :NUMS1) = "SEI [SCRIVI [LA RISPOSTA E':\ ]
STAMPA "SEDICI]
SE (PRIMO :NUMS1) = "SETTE [SCRIVI [LA RISPOSTA E':\ ] STAMPA
"DICIASSETTE]
SE (PRIMO :NUMS1) = "OTTO [SCRIVI [LA RISPOSTA E':\ ] STAMPA
"DICIOTTO]
FINE
La prima domanda, se guardate la procedura SOMMAPAROLE,
è quanto valgono :NUMS1 e :NUMS2.
Premete il comando TRACCIA e quindi rilanciate la
procedura.
Questo vi permette di seguire i richiami ricorsivi di FISSA e
FISSA2. Poi si passa a SOMMANUMERI.
Le due prime righe sono abbastanza facili. (:NUMS3 è
un numero che serve a determinare se la risposta è
dieci o un valore superiore).
È dalla terza linea che le cose si complicano, ma voi
già conoscete tutti questi comandi.
Così, basta che iniziate da destra e leggiate un
comando alla volta.
RIPETI (CONTA :NUMS2) -
1
Immaginiamo che abbiate scritto: SOMMAPAROLE "OTTO
"SEI.
Che valore avrà assunto :NUMS2?
[ZERO UNO DUE TRE QUATTRO CINQUE SEI]
Così CONTA :NUMS2 -1 io dico che sarà SEI, e
tu, che ne pensi?
Perciò, la linea inizia con RIPETI 6. E poi?
Il comando successivo è:
ASSEGNA "NUMS1 MP
:NUMS1
Prima di tutto, cos'è :NUMS1?
OTTO NOVE ZERO UNO DUE TRE QUATTRO CINQUE SEI SETTE OTTO
NOVE
Cosa significa MP :NUMS1? Ricordate, MP significa MENPRI.
Perciò MP :NUMS1 è la lista soprascritta senza
il primo elemento, ossia:
NOVE ZERO UNO DUE TRE QUATTRO CINQUE SEI SETTE OTTO
NOVE
Quindi arrivate a:
SE (PRIMO :NUMS1) che
è ora NOVE, vero?
SE (PRIMO :NUMS1) = (PRIMO :NUMS)
[ASSEGNA "NUMS3 PRIMO MP :NUMS]]
:NUMS è definito all'interno della procedura INIZIA.
Cos'è PRIMO :NUMS? Sarà uguale a PRIMO :NUMS1?
No, e allora la procedura si ripeterà.
Al sesto passaggio, quanto vale PRIMO :NUMS1? QUATTRO,
vero?
Che valore avrà assunto :NUMS3? Sarà diventato
UNO al terzo passaggio, sicché :NUMS· non
è uguale a zero e quindi verrà lanciata la
procedura DECINE.
Banalmente semplice o semplicemente banale?
"Ehi, è fantastico! C'è qualcosa che non si
possa fare con LOGO?"
"Be', Morf, la lezione più importante da apprendere
è "Mai dire mai." Tu ed io non siamo degli esperti, ma
hai mai trovato qualcosa che puoi fare senza averci prima
riflettuto sopra?"
Un'altra cosa che devi capire è che hai appena
graffiato la superficie di quanto puoi fare con MSW
Logo.
C'è molto, molto di più che tu puoi
fare."
"Bene, stiamo perdendo tempo! Cosa segue?"
Capitolo 12. Giochi e gare
A questo punto avete visto un pezzo abbastanza grande di MSW
Logo. È arrivato il momento di proseguire per vostro
conto un poco. C'è rimasto molto, ma molto di
più da scoprire. Noi vi aiuteremo a farlo.
PER PROGETTARE I VOSTRI PROPRI GIOCHI
Progettare i vostri propri giochi non è così
difficile come può sembrare. Avrete probabilmente
giocato a moltissimi giochi col computer.
Ci sono giochi di ruolo dove voi vi immedesimate con uno dei
protagonisti. Ci sono giochi di abilità, di strategia,
con le carte e di ogni altro tipo. Cos'hanno in comune tutti
questi giochi?
Cosa fa sì che alcuni siano molto divertenti e altri
meno?
Sono sufficienti una grafica bizzarra e gli effetti sonori a
fare un buon gioco?
Perché non vi riunite in un gruppo di amici a parlare
dei giochi che vi piacciono...e di quelli che non vi
piacciono.
Provate a vedere se potete elencare una serie di cose che
rendono un gioco divertente.
Cosa rende un gioco divertente?
1) Dovete poter vincere! Questa è probabilmente la
parte più importante del gioco. Se non potete vincere
almeno qualche volta, perché giocare?
2) Dev'esserci una sfida. Se vincere è troppo facile,
non c'è gusto. Anche se vincere è troppo
difficile ci si diverte poco.
3) Dev'esserci una gara. Potete giocare con un'altra squadra
o un'altra persona, oppure contro il computer. In alcuni
casi, dovete giocare contro voi stessi.
4) La gara dev'essere ragionata. I giocatori devono essere
capaci di progettare la prossima mossa. I ruoli e l'azione
che caratterizzano il gioco devono avere un senso.
Queste sono probabilmente le cose più importanti da
considerare al momento di progettare un gioco.
Dev'essere intelligente! Dovete "pensare ad ogni cosa".
Ciò significa che dovete progettarlo con cura. E qui
può diventare davvero importante avere un "diario di
bordo".
1) qual è lo scopo del gioco?
È un gioco sportivo? D'azione? Di strategia? Un
puzzle? Coi dadi?
2) Come comincia il gioco?
Qual è la sfida? Come spiegherete il gioco ai
partecipanti? Come li introdurrete nel gioco affinché
venga loro voglia di parteciparvi?
3) Qual è la centralità del gioco?
Cosa devono fare i giocatori? Come si muovono? Come
giocheranno?
Come li sorprenderete? Ulteriori sfide?
4) Come finirà il gioco?
Cosa dovranno fare i giocatori per vincere? Cosa
succederà quando avranno vinto?
Queste sono alcune delle cose a cui dovete pensare quando
vorrete creare un gioco. Non è così difficile.
C'è solo bisogno di un po' d'attenzione e di pensiero
logico. E voi avete fatto tutto ciò seguendo il
cammino proposto in questo libro.
Gli sport con logo
Vi abbiamo già presentato il Football e il Baseball
con Logo.
Vi ricordate il Baseball con Logo?
È facile trasformarlo in un gioco grafico. Eccovi
alcune idee.
1) Fate che il lanciatore lanci una tartaruga che assomigli a
una palla.
2) Usate dei numeri casuali (comando ACASO) per provare se il
tiro è dentro (strike) o fuori (ball).
3) Programmate una procedura che tenga conto degli strikes e
dei balls.
4) Quando il battitore colpisce, fate che la tartaruga assuma
un orientamento (comando DIREZIONE) casuale.
Se la direzione è maggiore di 315 o minore di 45, la
palla è fuori, altrimenti è in gioco.
5) Create dei bersagli sul campo: uno grande per la battuta
valida, uno un po' più piccolo per una doppia, un po'
più piccolo ancora per una tripla e uno davvero
minuscolo per l'homerun.
Se la palla non colpisce uno dei bersagli, il battitore
è eliminato.
6) Utilizzate tartarughe multiple che agiscano come i diversi
giocatori che raggiungono le basi e avanzano quando un
compagno fa una battuta valida. Come fare ad eliminare i
giocatori sulle basi?
C'era poi il Football con Logo. Che potete fare con
esso?
Eccovi una procedura che disegnerà sul campo gli
undici difensori in posizione casuale, undici cerchi con
dentro una croce.
UNA SFIDA PER VOI
Modificate la seguente procedura in modo che gli undici
difensori siano sempre abbastanza lontani da permettere alla
tartaruga di passare tra essi senza toccarli.
Per giocare, scrivete una procedura che mandi la tartaruga
dalla linea di meta di sinistra a quella di destra senza
toccare nessun giocatore della difesa.
PER CERCHIO :CENTRO :RAGGIO
LOCALE "AMT
ASSEGNA "AMT (:RAGGIO*2)*PIGRECO/360
SU ASPOS :CENTRO
VAX XCOR-:RAGGIO ASDIR 0 GIU
RIPETI 360 [A :AMT D 1]
D 90 A :RAGGIO*2 I :RAGGIO
D 90 A :RAGGIO I :RAGGIO*2
SU ASPOS :CENTRO GIU
FINE
PER DIFESA
RIPETI 11 [GIOCATORE]
FINE
PER FOOTBALL
PS NASTARTA SU I 100 S 90 A 240 D 90 GIU
RIPETI 22 [RIPETI 2 [A 10 D 90 A 40 D 90] A 10]
D 90
RIPETI 10 [A 40 RIPETI 2[A 40 D 90 A 220 D 90]]
A 40 D 90
RIPETI 22 [RIPETI 2 [A 10 S 90 A 40 S 90] A 10]
RTGOAL LTGOAL DIFESA
FINE
PER LTGOAL
I 110 S 90 A 480 D 90 A 110 S 45 A 50 D 45
A 30 S 45 A 70 I 70 D 45 I 60 S 45 A 70 I 70
FINE
PER MARK
D 90 A :RAGGIO/10
I :RAGGIO/10 S 90
FINE
PER GIOCATORE
SU NASTARTA VAXY (ACASO 200) (ACASO 95)-90 GIU
ASSEGNA "CENTRO POS
CERCHIO :CENTRO 10 SU TANA
FINE
PER RTGOAL
S 90 A 40 D 90 I 110 S 135 A 50 S 45 A 30
D 45 A 70 I 70 S 45 I 60 D 45 A 70 I 70 S 45
A 30 D 45 I 50 S 45
FINE
GLI ANIMALI DELLO ZOO
Logy e Morf qualche anno fa fecero a gara per trovare le
migliori procedure per disegnare animali.
Alcune di esse erano molto semplici, altre abbastanza
complicate. Tutte usano posizioni della tartaruga e
coordinate in un modo o nell'altro.
Potete cominciare con una tra le più facili,
MORPH.
Sapevate che i conigli fanno parte della famiglia dei
"lagomorfi"?
Assomiglia molto alla parola Logomorfo, così Morf lo
ha abbreviato e ne è venuto fuori il nuovo nome,
Morph.
Alcuni amici del New Jersey hanno elaborato una serie di
disegni di animali per partecipare alla gara.
Scommetto che questo è uno dei granchi più
carini che abbiate mai visto.
È tratto da uno dei libri di Ron Ebberly.

I ragazzi che hanno disegnato il granchio e il cucciolo di
tigre usavano una versione di Logo che non possedeva il
comando FILL, così se lo sono scritti da soli.
Eccovi lo schizzo di un elefante. Proprio così!
È stato fatto usando il comando ASXY
Avete mai visto un Dodo? Ci sembrò un buon nome per un
uccello bizzarro come questo.
Ed ora, che tipo di animale potete immaginarvi? Perché
non fate qualche schizzo e poi provate a tradurlo sul
computer?
Puff, il Drago Magico, vi può dare un paio di
idee.
Puff servì per introdurre una gara di animazione tra
Logy e Morf qualche hanno fa.
Puff respirava fumo e sputava fiamme
SU, SU E VIA!
Una disputa molto popolare che sostennero Logy e Morf fu la
cosiddetta Sfida del Su, Su e Via.
Venne bandita per celebrare il primo volo in pallone.
Ai ragazzi venne detto di lasciar correre liberamente la loro
fantasia e di creare un disegno che rappresentasse una
mongolfiera a aria calda.
Eccovi il pallone di Gretchen. Risultò uno dei
vincitori, soprattutto perché era l'unico che
contemplava l'animazione. I due passeggeri del pallone vi
salutano con la mano.
Perché non ci provate anche voi? Cominciate con un
pallone semplice, come quello qui disegnato
Poi provate a vedere coda potete fare con esso.
Cosa ne dite di inserire il pallone in una procedura che lo
faccia galleggiare sul
paesaggio?
VOLA, VOLA LONTANO
La sfida del Su, SU e Via ebbe così successo che Logo
e Morf lanciarono la sfida del Vola, Vola Lontano per vedere
chi riusciva a creare il velivolo più bello.
FIREFOX è la realizzazione di una delle molte
procedure inviate da un gruppo di ragazzi della Scuola
Statale dello Utah per bambini sordi.
Queste sono tre viste dello X2, una procedura molto creativa
di un undicenne di San Diego.
Geografia con logo
Tutto cominciò con l'idea
dell’impacchettare.

Alcuni ragazzi di un club informatico di una scuola
elementare erano curiosi di cosa avveniva quando la tartaruga
spariva dalla parte superiore dello schermo per poi comparire
dalla parte opposta.
Si era mossa dietro lo schermo?
Era lo stesso gruppo che aveva lavorato sul calcio.
Avevano capito l'idea di appiattire il mondo in una mappa a
due dimensioni, dove, se viaggi al termine del foglio,
ricompari automaticamente nello stesso punto all'altro
lato
No, questo è un diverso modo di avvolgere.
MURO E FINESTRA
Come potete impedire alla tartaruga di uscire dallo
schermo?
Il comando adatto è FINESTRA che le impedisce di fare
il giro del mondo dietro lo schermo.
MURO è invece il comando che blocca la tartaruga alla
sommità dello schermo. Esso ferma la procedura e vi
dice che la tartaruga è "oltre il limite".

Torniamo alla geografia.
Dopo aver parlato di ogni tipo di mappa, gli studenti
decisero di creare una loro propria mappa sullo
schermo.
Eccovi l'immagina del Texas che realizzarono.
La mappa del Texas include le città di Amarillo,
Austin, Dallas, El Paso, Houston, San Antonio e
Texarcana.
E poiché il disegno era un'importante attività
di questo gruppo, decisero di farne un gioco.
Eccovi la procedura del gioco.
PER GIOCO
STAMPA [LOGY, CHE DIREZIONE DEVO PRENDERE?]
STAMPA [QUANTI CHILOMETRI DEVO FARE?]
ASPETTA 80
STAMPA [PUOI DARMI UNA MANO?]
STAMPA [CHE DIREZIONE DEVO PRENDERE?]
ASSEGNA "DIR LP
STAMPA [QUANTO LONTANO?]
ASSEGNA "TIRI LP
SE :DIR = :TIRI [S :TIRI]
SE :DIR = "D [D :TIRI]
STAMPA [QUANTI CHILOMETRI DEVO PERCORRERE?]
ASSEGNA "LONTANO LP SU
A :LONTANO*0.1162
CHECK
FINE
Ci volle una lunga discussione, ma infine il gruppo decise
che ogni chilometro rappresentasse sulla mappa dello schermo
0.1162 passi di tartaruga.
Così 500 km * 0.1162 = 58 passi di tartaruga, che sono
una buona approssimazione.
Il gioco rappresenta un buon esercizio per pensare direzioni
e disegnare mappe in scala.
Dopo aver lavorato col Texas, il gruppo fece le cartine di
alcuni altri stati. Ogni volta cercavano di aggiungere altre
caratteristiche.
1. Date un'occhiata alla procedura per il Texas e provate a
vedere se siete in grado di realizzare lo stesso tipo di
lavoro per il vostro stato.
2, Aggiungetevi altre caratteristiche fisiche, come laghi,
fiumi, parchi, ecc.
3. Se un giocatore si muove correttamente da un luogo
all'altro, fate che debba rispondere ad alcune domande sul
posto in cui è giunto.
Pensate a 5 o 6 domande che potete fare per ogni luogo
segnato sulla vostra mappa.
Riuscite ad immaginare altri modi di esplorare la geografia
con Logo?
Animazione con logo
Le realizzazioni grafiche sono molto più divertenti se
gli date vita. Ciò vi darà la
possibilità d'interpretare i ruoli del produttore, del
regista, dello sceneggiatore e dell'attore cinematografico
allo stesso tempo.
Ci sono alcuni diversi modi per poter produrre pellicole
usando la tartaruga. Cominciamo con il più
facile.
Anche in questi tempi di avanzata grafica al computer, questo
metodo è ancora usato per animare i personaggi.
Questa procedura disegna una figura stilizzata che sembra
agitare il braccio come se facesse ginnastica.
PER ANIMAZIONE :N
NASTARTA GAMBE CORPO TESTA
BRACCIA MUOVI :N
FINE
PER BRACCIA
S 90 A 20 S 90 A 80 I 160 A 80
FINE
PER CORPO
D 165 A 120 S 90
FINE
PER GAMBE
D 165 A 120 I 120 D 30 A 120 I 120
FINE
PER MUOVI :N
SE :N = 0 [STOP]
MUOVI.SU MUOVI.GIU
MUOVI :N-1
FINE
PER MUOVI.GIU
CP A 80
I 160
A 80 PENNADISEGNA
D 10 A 80 I 160 A 80
FINE
PER MUOVI.SU
CP A 80 I 160 A 80 PENNADISEGNA
S 10 A 80 I 160 A 80
FINE
PER TESTA
RIPETI 60 [A 4 D 6]
FINE
Questa procedura disegna le braccia in una posizione, le
cancella, le sposta e così via.
Ma date un'occhiata a come può iniziare un
animazione.
Un altro modo per creare animazione è quello di usare
diverse tartarughe, ciascuna mostrando parte
dell'azione.
Eccovi tre disegni molto grezzi di un soldato che
marcia.
Leggete la sezione dedicata alla funzione BITMAP nel menu
Aiuto di Logo. Date un'occhiata anche alla procedura
Dimostrazione. Esse vi diranno come tagliare la figura del
soldato come bitmap perché possiate usarla come una
tartaruga singola.
Ora potete far camminare il soldato attraverso lo
schermo.
Potete aggiungere immagini di sfondo e rendere l'azione
più raffinata.
Potete creare disegni usando PAINT o altri programmi grafici
e quindi animare questi disegni
Pensate a una procedura che potreste chiamare
CORRIDORE.
La tartaruga arriva allo STOP, si ferma, guarda da entrambi i
lati, suona e quindi attraversa la strada.
Fisica con logo
Fisica? Ma questo capitolo s'intitola giochi e divertimento,
non scienza!
Siete a punto di vedere come la scienza possa trasformarsi in
gioco e divertimento.
Avete mai giocato a guidare una modulo lunare che dev'essere
fatto atterrare sulla Luna o qualche altro pianeta?
State usando la fisica.
Avete mai giocato a un videogioco dove dovete sparare ai
vostri nemici?
State lavorando con la fisica.
Le leggi della fisica descrivono come funzionano le cose...
come stanno in orbita i pianeti, come agiscono le diverse
forze, compresa la forza di gravità.
La maggior parte della fisica è costituita da una
serie di equazioni matematiche. A meno che non siate dei
matematici, queste equazioni non vi diranno molto. Avete
bisogno di vedere la fisica in azione per comprendere come
funzionano le cose. E se siete a punto di vedere le cose in
azione, perché non divertirci con esse?
LA GRAVITÀ CON LOGO
Quando lasciate cadere una pietra dall'alto di una torre, la
gravità la spinge fino a terra. La pietra accelera
cadendo, muovendosi più veloce.
E infine... SPLAT!... colpisce il terreno.
Ma, cos'è l'accelerazione? Qual è la differenza
tra accelerazione e velocità?
VELOCITÀ La velocità misura il modo in cui la
vostra posizione cambia. Se correte
100 metri in 10 secondi, la vostra velocità
sarà:
distanza / tempo = velocità
100 metri / 10 secondi = 10 metri al secondo
Questa è la vostra velocità media lungo il
percorso di 100 metri.
Ma voi siete partiti da fermi, a 0 metri al secondo;
così capite e potete immaginarvi come interviene
accelerazione.
ACCELERAZIONE La velocità misura il grado di
cambiamento della vostra posizione.
Accelerazione misura il grado di cambiamento della vostra
velocità.
differenza di velocità / tempo = accelerazione.
Un altro modo per esprimerlo è
(velocità finale - velocità iniziale) / tempo
= accelerazione.
Poniamo che la velocità al momento di tagliare il
traguardo fosse 50 metri al secondo.
Questo ci darà:
(50 m/sec - 0 m/sec) / 10 sec = 5 m al secondo per secondo
di accelerazione.
Proviamo ora a inserire in una procedura che dimostri
cos'è accelerazione
Quando lasciate cadere un sasso da una torre, le leggi della
fisica ci dicono che l’accelerazione sarà di 9,8
metri al secondo per ogni secondo che dura la caduta.
Ciò è troppo rapido per vederlo su un computer,
Così dovremo rallentarlo un poco.
Se risulterà ancora troppo veloce, o troppo lento, per
il vostro computer, potrete cambiarlo. Nella procedura
CADUTALIBERA c'è una linea che dice:
ASSEGNA "ACC 0.2
Cambiate questo 0.2 a qualunque valore che funzioni sul
vostro computer.
PER ACCELERA
(STAMPA "TEMPO :TEMPO "VELOCITA :VEL "DISTANZA
(:ALTEZZA-YCOR))
I :VEL + :ACC/2
ASSEGNA "VEL :VEL+:ACC
ASSEGNA "TEMPO :TEMPO+1
SE YCOR <-200 [STOP]
ACCELERA
FINE
PER CADUTALIBERA :ALTEZZA
PS GIU TERRA SU VAY :ALTEZZA
ASSEGNA "VEL 0
ASSEGNA "ACC 0.2
ASSEGNA "TEMPO 0
MT GIU ACCELERA
STAMPA "
STAMPA [LA TARTARUGA HA TOCCATO TERRA]
FINE
PER TERRA
NASTARTA SU ASPOS [-100 -200] GIU
ASPOS [100 -200]
SU TANA GIU
FINE
Per lanciare la procedura, battete CADUTALIBERA e l'altezza
da cui volete lasciar cadere la pietra.
Uno dei primi giochi, se non il primo, col computer era una
gara d'artiglieria giocata molto prima che i personal
computer fossero stati inventati. Eccovi una procedura che
descrive i principali movimenti di un obice.
Per sparare un obice, ossia un proiettile d'artiglieria,
dovete conoscere tre cose: la velocità del proiettile
al momento di salire dal cannone, l'angolo al quale è
lanciato e la gravità locale (o fattore
accelerazione).
Ciò rende la cosa più complicata di quanto
basti per lamentarsene.
È inteso che quanto più in alto si va, tanto
minore è l'effetto della gravità.
Provate questo per cominciare OBICE 10 45 .4
Quindi sperimentate parametri diversi.
PER ACCELERA :SX :SY
SE YCOR <-50 [STOP]
ASDIR 90 A :SX
ASDIR 0 A :SY-:AC/2
FINE
PER OBICE :VEL :ANGOLO :AC
NASTARTA TERRA
ASSEGNA "SX :VEL*COS :ANGOLO
ASSEGNA "SY :VEL*SEN :ANGOLO
ACCELERA :SX :SY
(STAMPA [DIREZIONE = ] XCOR+150)
FINE
PER TERRA
SU ASPOS [150 -50] GIU
ASPOS [-150 -50]
FINE
Quando si spara un obice, il proiettile vola attraverso
l'aria, e l'aria produce resistenza. Così, proviamo ad
introdurre il fattore resistenza dell'aria nella
procedura.
Avete mai sentito parlare della barriera del suono? Quando un
jet vola in aria, esso spinge l'aria che si trova davanti.
Più veloce va, più aria spinge.
Quando un jet vola alla velocità del suono, esso
attraversa la grande bolla d'aria che aveva spostato davanti
a sé. Se voi siete sotto l'aeroplano, sentirete un
rumore come di tuono.
I nostri proiettili non romperanno al barriera del suono, ma
spingeranno aria davanti a sé, e tale aria li
rallenterà.
Nella nostra procedura, dobbiamo inserire un fattore di
resistenza dell'aria che rallenterà l'obice:
:FRIZIONE.
Osservate:
PER ACCELERA :SX :SY
ASPOS LISTA XCOR+:SX YCOR+:SY
SE YCOR <-50 [STOP]
ACCELERA (:SX-:FRIZIONE*:SX) (:SY-:FRIZIONE*:SY-:ACC)
FINE
PER OBICE :VEL :ANGOLO :ACC
ASSEGNA "FRIZIONE 0.1
NASTARTA TERRA
ASSEGNA "SX :VEL*COS :ANGOLO
ASSEGNA "SY :VEL*SEN :ANGOLO
ACELLERA :SX :SY
(STAMPA [DIREZIONE = ] XCOR+150)
FINE
PER TERRA
SU ASPOS [150 -50] GIU
ASPOS [-150 -50]
FINE
Questo vi darà informazioni sufficienti per
progettarvi da soli una gara d'artiglieria.
Perché non vi proponete di progettare un gioco in cui
artiglieri debbano bombardarsi a vicenda.
Pensateci.
Ci sono molte possibilità.
Capitolo 13. Che succede
ora?
Che lo crediate o no, avete appena cominciato ad approfondire
Logo.
C'è molto do più da scoprire, ma ora avete
alcuni strumenti da usare nella vostra avventura.
Ma prima di addentrarci eccovi alcuni argomenti su cui
riflettere.
Da due a tre dimensioni
Eccovi una sfida...costruire sullo schermo la matrice per
fabbricare un pallone di calcio.
La prima cosa che noterete, osservando un pallone di calcio,
è un pugno di figure esagonali. Quando chiedemmo ad
alcuni ragazzi che appartenevano ad di un club del computer
di disegnare la sagoma sullo schermo, essi pensarono che
fosse facile.
PER PALLONE :DIS
RIPETI 6 [RIPETI 6 [A :DIS D 60] A :DIS S 60]
PER
I ragazzi pensarono che tutto quello che avevano da fare era
disegnare una serie di esagoni.
Provate a lanciare la procedura PALLONE. Non va molto bene,
vero?
Il gruppo delle ragazze fu il primo a pensare che non si
doveva riportare sullo schermo la sagoma del pallone
così come appare nella realtà. Dovevano
appiattirla.
All'inizio pensarono che la seguente procedura fosse
sbagliata, ma era abbastanza corretta.
PER PALLONE :DIS
RIPETI 5 [RIPETI 6 [A :DIS D 60] A :DIS S 72]
FINE
.
Le ragazze stamparono 12 delle loro sagome, le colorarono, le
unirono tutte insieme e ottennero il loro pallone da calcio.
Quando terminarono, decisero di farne un miglior uso: lo
riempirono di caramelle e fecero una festa
Quando la loro storia venne pubblicata su
Il Notiziario
della Tartaruga, fece divertire diversi gruppi e classi
di tutto il mondo. Eccovi come rispose un ragazzo. La sua
sfida fu di ridurre la sagoma nel minor numero di
parti.
Due parti fu il miglior risultato che ottenne.
PER PALLONE.DI.ADAM
PT
STAMPA [Questa procedura e' di Adam Johnson]
STAMPA [dodicenne del Computer Learning Center]
STAMPA [Caldwell, Idaho 83605.]
FINE
PER C
D 120 A 30 S 60

FINE
Questo è quanto stampa la procedura M.
Questo è quanto stampa la procedura M2
PER F
S 120 A 60 D 60
FINE
PER H
RIPETI 6 [A 60 D 60]
FINE
PER K
A 60 D 72 A 60 S 180
FINE
PER K2
S 72 I 60 D 108
FINE
PER L
A 60 D 60 A 60 D 42
FINE
PER M
D 90 SU A 180 GIU
H A 60 S 90 P
K H L P K2 H P2 P
K H L P K2 H P2 P
FINE
PER M2
SU S 90 A 240 D 180 GIU
H A 60 S 90
P D 108 H P2 P K H
L P K2 H P2 P K H L P
FINE
PER P
S 90
RIPETI 5 [A 60 D 72]
FINE
PER P2
S 60 I 60 D 210
FINE
PER TOP
P D 108 H D 120
H C H C H C H
FINE
La traccia del coniglio
nº 20. Diventimenti con la carta piegata

Costruire un pallone di calcio di carta è solo una
delle molte cose che potete fare con carta e MSW Logo.
Potete costruire ogni sorta d'oggetti tridimensionali.
Che ne dite di un semplice cubo? Questa procedura vi conduce
dal quadrato bidimensionale alle tre dimensioni del
cubo.
PER CUBO :D :X1 :Y1
SU VAXY :X1 :Y1 ASDIR 0 GIU
RIPETI 4 [QUADRATO :D VAX :X1+:D ASSEGNA "X1 XCOR]
ASSEGNA "X1 XCOR-(:D*3)
ASSEGNA "Y1 YCOR-:D
SU VAXY :X1 :Y1 GIU
RIPETI 3 [QUADRATO :D A :D]
NASTARTA
FINE
PER CUBI :D :X1 :Y1
CUBO :D :X1 :Y1
CUBO :D :X1+(:D*4) :Y1
FINE
PER QUADRATO :D
RIPETI 4 [A :D D 90]
FINE
Che ne dite di costruire figure tridimensionali usando il
triangolo?
PER MOVEL :D
S 60 A :D D 60
FINE
PER TETRAEDRO :D
D 30 TRI :D MOVER :D TRI :D
MOVEL :D TRI :D
FINE
PER MOVER :D
D 60 A :D S 60
FINE
PER TRIS :D
SU VAX -120 GIU
D 30
RIPETI 6 [TRI :D MOVER :D]
FINE
PER TRIR :D
D 60 A :D TRI :D
FINE
PER TRI :D
RIPETI 3 [A :D D 120]
FINE
PER OTTAEDRO :D
S 30 TRI :D D 30 TETRAEDRO :D
S 60 TRI :D TRIR :D TRIF :D
FINE
PER TRIF :D
A :D D 60 TRI :D
FINE
Queste procedure sono solo l'inizio di quello che potete fare
con Logo e una stampante. Proseguite. Provatele, stampatele,
piegatele e disegnate delle figure pensate da voi.
Qualcos'altro con 3-d logo
Quando degli studenti liceali videro il lavoro che i
più piccoli avevano fatto progettando e costruendo il
pallone da calcio, si chiesero se fosse possibile lavorare in
tre dimensioni sullo schermo di Logo.
Avevano abbastanza familiarità con le due dimensioni e
il sistema di coordinate x - y.

Si sarebbe potuto espandere il
sistema per utilizzarlo nelle tre
dimensioni: X, Y e Z?
Sì, si può.
Inoltre, le procedure risultanti offrono un buon panorama
dell'elenco delle proprietà e di alcune spesso
malintese peculiarità di Logo.
Nelle procedure che seguono, l'unità base è la
coordinata del punto, come definite dalla procedura
PUNTO.
I punti sono indicati con lettere e possiedono valori delle
coordinate x, y e z per posizionarli nello spazio
tridimensionale.
Una volta che abbiate definito i punti richiesti con nome e
posizione, potete costruire figure come questa.

La procedura FIGURA contiene il nome della figura e un elenco
di coppie di punti, ad esempio:
[A B] [A C] [A E] [B F] [B D] [C D] [C G] ...., che
rappresentano i segmenti che formano l'ossatura con le
lettere che ne indicano gli estremi.
La procedura vi permette di creare tutte le forme che volete,
ma possono essere manipolate solo una alla volta.
Una volta che abbiate definito la vostra figura, potete
espanderla o contrarla, ruotarla, ingrandirla,
rimpicciolirla, e quindi riportarla alla grandezza
originale.
Per espandere una figura, si usa ESPANDI. Dite alla procedura
quale figura espandere, su quali assi d'espansione deve
operare e di quanto la volete espandere.
Con la figura generata dalla procedura DIAMANTE (GEMMA) un
esempio è il seguente:
ESPANDI "GEMMA "X 2
Si può anche dire: INGRANDISCI “GEMMA 3
RUOTA agisce in un piano: xy, xz oppure yz. Specificate la
figura, il piano e i gradi di rotazione che volete
vedere.
Ad esempio:
RUOTA “GEMMA “XY 45
Mentre muovete la figura nello spazio, la tartaruga ricorda
le posizioni occupate. Quando volete iniziare con una nuova
figura o ripartire dalla posizione originale, usate:

RIPRISTINA "GEMMA.
Ora siete pronti a cominciare da soli.
PER DIAMANTE
PUNTO "A [60 0 60]
PUNTO "B [0 51.961 51.961]
PUNTO "C [30 51.961 103.92]
PUNTO "D [90 51.961 103.92]
PUNTO "E [120 51.961 51.961]
PUNTO "F [90 51.961 0]
PUNTO "G [30 51.961 0]
PUNTO "I [30 81.961 51.961]
PUNTO "J [45 81.961 77.941]
PUNTO "K [75 81.961 77.941]
PUNTO "L [90 81.961 51.961]
PUNTO "M [75 81.961 25.98]
PUNTO "H [45 81.961 25.98]
FIGURA "GEMMA [[A B] [A C] [A D] [A E] [A F] [A G] [B C] [B
I] [C J] [C D] [D K] [D E] [E L] [E F] [F M] [F G] [G H] [G
B] [I J] [J K] [K L] [L M] [M H] [H I]]
FINE
PER DISEGNA :FIGURA
ASSEGNA "S9 COSA (PAROLA :FIGURA "PTS)
RIPETI CONTA :S9 [ASSEGNA "P9 PRIMO :S9 ASSEGNA :P9 (LISTA
(ELEMENTO 1 :MATRIX) * (ELEMENTO 1 COSA :P9) + (ELEMENTO 2
:MATRIX) * (ELEMENTO 2 COSA :P9) + (ELEMENTO 3 :MATRIX) *
(ELEMENTO 3 COSA :P9) (ELEMENTO 4 :MATRIX) * (ELEMENTO 1 COSA
:P9) + (ELEMENTO 5 :MATRIX) * (ELEMENTO 2 COSA :P9) +
(ELEMENTO 6 :MATRIX) * (ELEMENTO 3 COSA :P9) (ELEMENTO 7
:MATRIX) * (ELEMENTO 1 COSA :P9) + (ELEMENTO 8 :MATRIX) *
(ELEMENTO 2 COSA :P9) + (ELEMENTO 9 :MATRIX) * (ELEMENTO 3
COSA :P9)) ASSEGNA "S9 MP :S9]
PS MT ASSEGNA "S9 COSA :FIGURA
RIPETI CONTA :S9 [SU ASPOS MU COSA (PRIMO PRIMO :S9) GIU
ASPOS MU COSA (ULTIMO PRIMO :S9) ASSEGNA "S9 MP :S9]
FINE
PER ESPANDI :FIGURA :ASSE :AMT
SE NON ELEMENTO? :ASSE [X Y Z] [STAMPA [ASSE DEVE ESSERE X,
Y, O Z.] STOP]
SE NON (PROP :FIGURA "FIGURA) = "VERO [(STAMPA :FIGURA [NON
E’ UNA FORMA.]) STOP]
SE :ASSE = "X [ASSEGNA "MATRIX (LISTA :AMT 0 0 0 1 0 0 0
1)]
SE :ASSE = "Y [ASSEGNA "MATRIX (LISTA 1 0 0 0 :AMT 0 0 0
1)]
SE :ASSE = "Z [ASSEGNA "MATRIX (LISTA 1 0 0 0 1 0 0 0
:AMT)]
DISEGNA :FIGURA
FINE
PER FIGURA :NOMEFORMA :LP
SE (PROP :NOMEFORMA "PUNTO) = "VERO [(STAMPA :NOMEFORMA [E'
GIA' UN PUNTO.]) STOP )]
ASSEGNA :NOMEFORMA :LP
ASPROP :NOMEFORMA "FIGURA "VERO
ASSEGNA "SX (PAROLA :NOMEFORMA "PTS)
ASSEGNA :SX [] ASSEGNA "N9 1
RIPETI CONTA :LP [TSF :N9 TSL :N9 ASSEGNA "N9 :N9 + 1]
ASSEGNA "MATRIX [1 0 0 0 1 0 0 0 1]
DISEGNA :NOMEFORMA
(STAMPA :NOMEFORMA [E' STATA DEFINITA.])
FINE
PER INGRANDISCI :FIGURA :AMT
SE NON (PROP :FIGURA "FIGURA) = "VERO [(STAMPA :FIGURA [NON
E’ UNA FORMA.]) STOP]
ASSEGNA "MATRIX (LISTA :AMT 0 0 0 :AMT 0 0 0 :AMT)
DISEGNA :FIGURA
FINE
PER PUNTO :NOMEPUNTO :COORDS
ASSEGNA :NOMEPUNTO :COORDS
ASPROP :NOMEPUNTO "PUNTO "VERO
ASPROP :NOMEPUNTO "ORIG :COORDS
FINE
PER RIPRISTINA :FIGURA
SE NON (PROP :FIGURA "FIGURA) = "VERO [(STAMPA :FIGURA [NON
E’ UNA FORMA.]) STOP]
ASSEGNA "N9 COSA (PAROLA :FIGURA "PTS)
RIPETI CONTA :N9 [ASSEGNA PRIMO :N9 PROP (PRIMO :N9) "ORIG
ASSEGNA "N9 MP :N9]
ASSEGNA "MATRIX [1 0 0 0 1 0 0 0 1]
DISEGNA :FIGURA
FINE
PER RUOTA :FIGURA :ASSE :AMT
SE NON ELEMENTO? :ASSE [XY XZ YZ] [STAMPA [L’ ASSE DEVE
ESSERE XY, XZ, O YZ.] STOP]
SE NON (PROP :FIGURA "FIGURA) = "VERO [(STAMPA :FIGURA [NON
E’ UNA FORMA.]) STOP]
SE :ASSE = "XY [ASSEGNA "MATRIX (LISTA (COS :AMT) 0 - (SEN
:AMT) 0 (SEN :AMT) (COS :AMT) 0 0 0 1)]
SE :ASSE = "XZ [ASSEGNA "MATRIX (LISTA (COS :AMT) 0 0 - (SEN
:AMT) 0 1 0 (SEN :AMT) 0 (COS :AMT) 0)]
SE :ASSE = "YZ [ASSEGNA "MATRIX (LISTA 1 0 0 0 (COS :AMT) 0 -
(SEN :AMT) 0 (SEN :AMT) (COS :AMT))]
DISEGNA :FIGURA
FINE
PER TSF :N9
SE NON ELEMENTO? PRIMO (ELEMENTO :N9 :LP) COSA :SX [ASSEGNA
:SX INPRI PRIMO (ELEMENTO :N9 :LP) COSA :SX]
FINE
PER TSL :N9
SE NON ELEMENTO? ULTIMO (ELEMENTO :N9 :LP) COSA :SX [ASSEGNA
:SX INPRI ULTIMO (ELEMENTO :N9 :LP) COSA :SX]
FINE
Per capire le liste delle
proprietà
Il lungo esempio precedente utilizza diversi comandi nuovi,
come PROP o ASPROP.
Un altro modo di considerare la procedura ASPROP è
usare alcuni termini famigliari.
ASPROP "MUSICA "COUNTRY "CHITARRA
ASPROP "MUSICA "ROCK "RUMOROSO
Poni nella variabile (lista di proprietà) MUSICA una
coppia di elementi, il primo la proprietà considerata
e l’altro il suo valore. Ad esempio, la variabile
MUSICA contiene due coppie di elementi, il primo COUNTRY e
CHITARRA, il secondo ROCK e RUMOROSO.
Dunque, una volta che avete definito la variabile MUSICA, che
potete fare con esse? Per prima cosa, il valore di una
proprietà con il comando PROP.
MOSTRA PROP "MUSICA "COUNTRY
dà come risultato CHITARRA.
Fate qualche esercizio da voi: ne scoprirete degli altri
usi.
NASCONDI E SCOPRI
NASCONDI è una di quelle primitive di Logo che spesso
ignoriamo, ma è assai utile e di usata.
Proviamo qualcosa del tipo:
1. Caricate una qualsiasi procedura.
2. Digitate NASCONDITUTTI e premete Invio.
3. Digitate EDTUTTI e premete Invio.
Cosa fa la procedura?
4. Cercate di lanciare la procedura nascosta. Cosa
succede?
5. Caricate un'altra procedura.
6. Digitate SCOPRITUTTO e premete Invio.
7. Digitate EDTUTTI e premete Invio.
Entrambe le procedure sono ora visibile in Editor,
vero?
Quello che significa è che potete nascondere certe
condizioni e quindi cancellare tutto il resto. Se state
scrivendo un gioco d'avventura, potete trasportare pezzi di
procedura da una procedura all'altra.
Fate delle prove con questo comando. Gli troverete un sacco
di usi.
Logo e l'intelligenza artificiale
La stessa idea d'intelligenza artificiale genera molta
confusione. Potreste domandarvi: cos'è l'intelligenza?
E come può essere artificiale?
Una delle cose che rendono intelligenti gli esseri umani
è la capacità d'imparare. E se potete insegnare
ad un computer come imparare, allora forse è
intelligente.
Ma i computer non imparano davvero. Sono i programmi che il
computer processa che danno l'impressione che essi imparino.
Così l'apprendimento è davvero qualcosa di
"artificiale"
Perciò questa sarà la nostra breve e semplice
definizione d'intelligenza artificiale.
Avete mai giocato a "Stati e Capitali"? Un partecipante
nomina uno stato e voi dovete dire la sua capitale. Eccovi la
procedura di una versione di Stati e Capitali in cui il
computer si comporta come se stesse imparando.
PER CONTROLLARISPOSTA
ASSEGNA "CONTROLLA LEGGILISTA
SE VUOTO? :CONTROLLA [RI "VERO]
SE :CONTROLLA = [QUIT] [RI "FALSO]
VERIFICA :CONTROLLA = ULTIMO COGLI :ELEMENTO :SLIST
SEVERO [STAMPA (FRASE [GIUSTO,] :CHIAMA)]
SEFALSO [STAMPA (FRASE "PECCATO, :CHIAMA "LA "CAPITALE "E'
ULTIMO COGLI :ELEMENTO :SLIST)]
FINE
PER CHIEDI
ASSEGNA "ELEMENTO ((ACASO CONTA :SLIST) + 1)
ASSEGNA "CAP COGLI :ELEMENTO :SLIST
STAMPA FRASE [QUAL E' LA CAPITALE DEL] PRIMO :CAP
FINE
PER COGLI :N :LISTA
VERIFICA :N = 1
SEVERO [RIPORTA PRIMO :LISTA]
SEFALSO [RIPORTA COGLI (:N - 1) (MENPRI :LISTA)]
FINE
PER INIT
ASSEGNA "SLIST []
FINE
PER INIZIALIZZA
PT STAMPA [VUOI CANCELLARE LA LISTA CORRENTE? (SI/NO)]
ASSEGNA "ANS PRIMO LEGGILISTA
SEALTRIMENTI :ANS = "S [INIT INSEGNA][INSEGNA]
QUIZ
FINE
PER INSEGNA
PT
STAMPA [QUALE STATO?]
ASSEGNA "DOMANDA LEGGILISTA
STAMPA []
STAMPA (FRASE [CAPITALE DELLO STATO] :DOMANDA )
ASSEGNA "RISPOSTA LEGGILISTA
ASSEGNA "GROUP []
ASSEGNA "GROUP INULT :DOMANDA :GROUP
ASSEGNA "GROUP INULT :RISPOSTA :GROUP
PULISCITESTO
SCRIVI (FRASE [LO STATO E'] :DOMANDA ". CAR 32 )
STAMPA (FRASE [LA CAPITALE E' ] :RISPOSTA ".)
STAMPA [AGGIUNGO ALLA LISTA (SI/NO) ?]
ASSEGNA "ANS PRIMO LEGGILISTA
SE :ANS = "S [ASSEGNA "SLIST INULT :GROUP :SLIST]
STAMPA []
STAMPA [< < < < NUOVA LISTA > > >
>]
STAMPA []
MOSTRA :SLIST
STAMPA []
STAMPA [ALTRE AGGIUNTE (SI/NO)?]
ASSEGNA "ANS PRIMO LEGGILISTA
SE :ANS = "S [INSEGNA]
FINE
PER QUIZ
CHIEDI CONTROLLARISPOSTA QUIZ
FINE
PER SALUTE
PT STAMPA [COME TI CHIAMI?]
ASSEGNA "CHIAMA LEGGILISTA
STAMPA (FRASE "CIAO, :CHIAMA ". [BENVENUTO!])
STAMPA [TI DIRO' IL NOME DI UNO STATO E TU RISPONDERAI CON LA
CAPITALE]
STAMPA [PER FINIRE IL GIOCO SCRIVI QUIT]
STAMPA [VUOI AGGIUNGERE NUOVI STATI O GIOCARE
(AGGIUNGI/GIOCA)?]
ASSEGNA "REP PRIMO LL
SEALTRIMENTI :REP = "A [INIZIALIZZA][QUIZ]
FINE
Potreste ancora avere delle difficoltà ad immaginare
come funziona la procedura. Sicuramente richiede un po' di
tempo, ma potreste farcela.
La procedura principale del gioco è una lista,
contenuta in un'altra lista, contenuta in una terza
lista.
Prima c'è la lista di Stati e Capitali: SLIST.
Quindi c'è la lista che collega ogni stato con la sua
capitale: GROUP.
Infine c'è una lista dei soli stati: DOMANDE e quella
delle sole capitali: RISPOSTE
Insieme, il tutto appare così:
ASSEGNA "SLIST [[[ITALIA] [ROMA]] [[FRANCIA] [PARIGI]]
[[POLONIA] [VARSAVIA]]]
Logo "impara" nuovi Stati e nuove Capitali per mezzo della
procedura INSEGNA.
La prima cosa che fa INSEGNA è chiedervi di creare le
variabili :RISPOSTA e :DOMANDA. Crea quindi una nuova lista
vuota chiamata GROUP.
ASSEGNA "GROUP []
Il passaggio successivo è aggiungere gli stati
(:RISPOSTA) alla lista :GROUP.
ASSEGNA "GROUP INULT :DOMANDA :GROUP
INULT e INPRI sono comandi interessanti; si usano per
aggiungere parole o altre liste a una lista.
Per esempio:
INULT "Logo [MSW]
risulta nella lista [MSW Logo]
INPRI "MSW [Logo]
dà anch'esso come risultato [MSW Logo].
Nel caso di Stati e capitali, INULT dice a Logo di aggiungere
:RISPOSTA alla fine della lista :GROUP.
Una volta che avete inserito in elenco gli stati, avete
bisogno di elencare le capitali.
ASSEGNA "GROUP INULT :RISPOSTA :GROUP
Questa linea aggiunge :RISPOSTA come seconda lista dentro la
lista :GROUP.
ASSEGNA "SLIST INULT :GROUP :SLIST
Ed infine, quest'altra linea aggiunge la lista dei due
elenchi nella lista principale :SLIST.

È il momento di fare degli esperimenti.
Cambiate la procedura INSEGNA per poter aggiungere un terzo
elemento alla lista GROUP, magari la popolazione dello stato,
oppure la seconda città più importante.
Come dovrete cambiare le altre procedure per chiedere
informazioni riguardo questo terzo elemento?
Avanti, provateci. Non è certo difficile.
COS'ALTRO C’È?
Sembra che abbiamo appena iniziato e siamo già alla
fine del capitolo; e ci sono tante altre cose che si possono
fare. Che dovrete esplorare da soli tutto quanto resta.
Potete partire dando un occhiata alle procedure contenute nel
Direttorio ESEMPI.
Se avete domande su MSWLogo, non dimenticate il file di
AIUTO.
NOTA BENE:
qualunque cosa facciate, fatela divertendovi!
LA GRANDE AVVENTURA DI LOGO!