TDBitv100.png


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




TDBitv1000.doc




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.


TDBitv102.png

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!"

TDBitv103.png


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.

TDBitv104.png


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

TDBitv105.png

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


TDBitv106.png



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."


TDBitv107.png
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ò.

TDBitv108.png
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.


TDBitv109.png
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.

TDBitv110.png
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!."

TDBitv111.png
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.

TDBitv112.png
"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.

TDBitv113.png
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.

TDBitv114.png
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


TDBitv115.png


“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.


TDBitv116.png


PARTI DELLO SCHERMO


TDBitv117.png
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



TDBitv118.png
È 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.

TDBitv119.png



Ma probabilmente lo sapete già, perciò avanti col divertimento!


TDBitv120.png
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:

TDBitv121.png


AVANTI





INDIETRO




A SINISTRA


TDBitv122.png



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.


TDBitv123.png
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?


TDBitv124.png

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.


TDBitv125.png
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 .

TDBitv126.png




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?



TDBitv127.png


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.






TDBitv128.png
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

TDBitv129.png


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.


TDBitv130.png


PENNADISEGNA
La tartaruga traccia linee





CANCEPENNA
La tartaruga cancella i suoi passi.



TDBitv131.png
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.


TDBitv132.png
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


TDBitv133.png
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



TDBitv134.png

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.


TDBitv135.png
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


TDBitv136.png
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



TDBitv134.png

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.


TDBitv137.png




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.



TDBitv138.png
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?"




TDBitv139.png


FATEVI DA SOLI LE VOSTRE AVVENTURE

Bene, che ne dite di farvi da soli le vostre avventure?

TDBitv140.png
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


TDBitv141.png


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?

TDBitv142.png
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?

TDBitv143.png



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.


TDBitv144.png


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....

TDBitv1001.doc



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!

TDBitv146.png


Fate un quadratino!


RIPETI 4 [A__________D 90]


TDBitv147.png
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.

TDBitv148.png
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?"

TDBitv149.png

TDBitv150.png




TDBitv151.png
E per disegnare delle bandiere?


TDBitv152.png


TDBitv153.png

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


TDBitv154.png

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



TDBitv155.png
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


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


TDBitv157.png
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.

TDBitv158.png

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

TDBitv159.png

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

TDBitv160.png
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

TDBitv161.png

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?


TDBitv162.png
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


TDBitv1002.doc
Ora digitate TANA.
Quale pensate sia il comando per rivedere la tartaruga? Certo: MOSTRATARTA (MOSTRA LA TARTARUGA).

TDBitv1003.doc


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?

TDBitv1004.doc
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?

TDBitv166.png

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:

TDBitv167.png

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 º.



TDBitv168.png
Sembra che Logy si sia un po’ in difficoltà nell’esplorazione dei triangoli. E voi?



Che ne dite di una clessidra?


TDBitv169.png







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.


TDBitv170.png



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?


TDBitv171.png
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.

TDBitv172.png

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


TDBitv134.png

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?

TDBitv173.png

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.

TDBitv172.png
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.


TDBitv174.png
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.


TDBitv175.png
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.


TDBitv176.png

La pista del coniglio nº 9. Tartarughe con le noci e città delle tartarughe


TDBitv134.png



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



TDBitv141.png
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?


TDBitv177.png
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.

TDBitv178.png

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..

TDBitv179.png




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


TDBitv180.png
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:


TDBitv181.png
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:


TDBitv182.png
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.

TDBitv183.png


TDBitv184.png
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



TDBitv134.png

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]


TDBitv185.png


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.

TDBitv186.png
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
TDBitv187.pngTDBitv188.png


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



TDBitv134.png
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.


TDBitv189.png
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


TDBitv190.png
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.



TDBitv127.png

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.

TDBitv191.png




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.

TDBitv192.png




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.

TDBitv193.png
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


TDBitv194.png

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?"



TDBitv195.png



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:

TDBitv196.png


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




TDBitv127.png
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.


TDBitv197.png

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.

TDBitv198.png

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.


TDBitv199.png

Capitolo 5. Variare le variabili



TDBitv1100.png
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?

TDBitv1101.png

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?


TDBitv1102.png
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.


TDBitv1103.png
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


TDBitv1104.png
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


TDBitv1105.png
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


TDBitv1106.png
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:

TDBitv1107.png




PER SPECCHIO
TAVOLI
S 90
TAVOLI
FINE




TDBitv1108.png
E cosa succederebbe se impilassimo uno specchio sull'altro?






PER SPECCHI
SPECCHIO
S 45
SPECCHIO
FINE








TDBitv1102.png
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.


TDBitv1109.png
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



TDBitv134.png
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.


TDBitv1110.png
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]



TDBitv1111.png
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.


TDBitv1112.png
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.

TDBitv1113.png

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.


TDBitv1114.png
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?


TDBitv1115.png
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



TDBitv134.png
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


TDBitv1116.png
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.




TDBitv1117.png
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:

TDBitv1118.png
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

TDBitv1119.png
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


TDBitv1120.png
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



TDBitv134.png
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.





TDBitv1121.png







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



TDBitv134.png
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.


TDBitv1122.png

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.


TDBitv1123.png
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.

TDBitv1124.png
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


TDBitv1125.png



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.





























TDBitv1126.png

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.

TDBitv1127.png


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?


TDBitv1128.png


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]

TDBitv1129.png

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.
TDBitv1130.png
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

TDBitv1131.png

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.
TDBitv1005.doc
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?



TDBitv1133.png
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



TDBitv1134.png
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.


TDBitv1135.png









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 ]

TDBitv1136.png
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?

TDBitv1137.png




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]

TDBitv1138.png


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.









TDBitv1139.png
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?

TDBitv1006.doc

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.

TDBitv1141.png



Cerchi, curve, anelli e altre cose



TDBitv1142.png
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:

TDBitv1143.png

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

TDBitv1144.png
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:


TDBitv1145.png
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?
TDBitv1146.png


TDBitv1147.png
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




TDBitv1148.png
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.

TDBitv1149.png

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.





TDBitv1150.png
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.

TDBitv1151.png


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



TDBitv1152.png
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


TDBitv1134.png

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.


TDBitv1153.png


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:



TDBitv1154.png


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.
TDBitv1155.png



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.

TDBitv1156.png


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




TDBitv1007.doc

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


TDBitv1158.png
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

TDBitv1159.png




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.


TDBitv106.png




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?


TDBitv1160.png
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


TDBitv1161.png
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


TDBitv1162.png
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

TDBitv1163.png
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

TDBitv1164.png

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



TDBitv1134.png
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?

TDBitv1165.png

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



TDBitv1134.png
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.

TDBitv1166.png

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.

TDBitv1167.png

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.

TDBitv1168.png

Ci sono un sacco di forme che potete fare. Perché non provate queste?

TDBitv1169.png

Capovolgetene una e guardate cosa otterrete.

TDBitv1170.png

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?

TDBitv1171.png
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.

TDBitv1172.png

TDBitv1173.png
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?


TDBitv1174.png

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
TDBitv1175.png

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?

TDBitv1176.png

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

TDBitv1177.png


DRAGO 20 3

TDBitv1178.png



DRAGO 10 10

TDBitv1179.png


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!

TDBitv1180.png
Eccovi l'immagine generata da

FIOCCO.DI.NEVE 100 1






TDBitv1181.png



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


TDBitv1133.png

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



TDBitv1182.png
"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


CHE COS'È UN PARALLELOGRAMMA

"Logy, succede qualcosa di strano qui? Hai ottenuto un rettangolo che sembra sul punto di cadere."

TDBitv1183.png




"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."

TDBitv1184.png

"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.

TDBitv1185.png



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....

TDBitv1186.png
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.

TDBitv1187.png




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.

TDBitv1188.png


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.



TDBitv1188.png

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.

TDBitv1189.png


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.


TDBitv1190.png
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!"


TDBitv1191.png


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

TDBitv1192.png

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.

TDBitv1193.png

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?

TDBitv1194.png

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?

TDBitv1195.png




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.


TDBitv1196.png
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?".

_


TDBitv127.png
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.



TDBitv1102.png
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?

TDBitv1197.png

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?

TDBitv1198.png

È 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.

TDBitv1199.png

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.



TDBitv1200.png



Scommetto che questo è uno dei granchi più carini che abbiate mai visto.
È tratto da uno dei libri di Ron Ebberly.






TDBitv1201.png

TDBitv1202.png
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

TDBitv1203.png

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

TDBitv1008.doc





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.


TDBitv1205.png
TDBitv1206.png






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.

TDBitv1207.png





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.



TDBitv1208.png

Geografia con logo



Tutto cominciò con l'idea dell’impacchettare.


TDBitv1209.png
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".




TDBitv1210.png
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.

TDBitv1211.png

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.

TDBitv1212.png

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.

TDBitv1213.png
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

TDBitv1214.png


.

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

TDBitv1215.png
FINE




Questo è quanto stampa la procedura M.

TDBitv1216.png


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



TDBitv134.png
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.


TDBitv1217.png
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.


TDBitv1218.png
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:


TDBitv1219.png
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.


TDBitv1102.png
È 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.


TDBitv1220.png

NOTA BENE:

qualunque cosa facciate, fatela divertendovi!


LA GRANDE AVVENTURA DI LOGO!