*********************************************************************

                            LOGO v1.4

                       by MICHELE BERIONNE

                      Roma, 03 Febbraio 1996

*********************************************************************


INDICE:
     Introduzione
     Shareware?? Sì grazie!!
     Ringraziamenti
     Istallazione
     Piccola dimostrazione
     Presentazione
     Elenco dei comandi del Logo
     Elenco dei comandi usabili solo nei programmi e nelle procedure
     Variabili
     Procedure
     Appendice A (Codici Ascii)
     Appendice B (Errori)
     Appendice C (SettaPreferenze)
     Appendice D (Archivio)




                         INTRODUZIONE

Il Logo è il divertente e semplice linguaggio della tartaruga, poiché
protagonista  di ogni azione,  di ogni  linea  tracciata è,  appunto,
questo animaletto, anche se schematizzato.
Il Logo  nacque negli anni '70 al MIT  ad opera di una equipe guidata
dal professor  Seymur Papert,  del cui libro ("Mindstorms") consiglio
vivamente  la  lettura,  poiché  in  esso  spiega  la sua  "filosofia
informatica".  Il Logo:  un linguaggio da bambini,  secondo molti, ma
forse non da tutti  è risaputo  che fu proprio questo ad adottare per
primo  la programmazione a procedure e che tutte  le routine grafiche
del Turbo Pascal sono state tratte da qui.
Molto tempo è passato da allora:  i computer non sono più gli stessi:
la capacità  grafica si è evoluta  in modo esponenziale,  la velocità
di elaborazione è aumentata  ed esso è penetrato nelle case di tutti;
eppure  molto  si può ancora  ritrovare  nella mia  versione  di quel
lontano primo Logo.
Innanzi  tutto,  sono  rimasti  uguali  i destinatari  dell'opera:  i
bambini.  Oggi, come allora, sono loro i veri protagonisti del Logo e
oggi,  come allora,  questo linguaggio  si propone  come mezzo per un
apprendimento  facile  e divertente  di una materia  utile, ma spesso
complicata, l'informatica.
Molti mi hanno chiesto: perché il Logo? Perché non il C, l'Assembler,
l'E, il Pascal o altri ancora? I linguaggi disponibili sono decine e,
da parte mia,  ho un profondo rispetto di tutti quanti, poiché ognuno
ha, sicuramente, vantaggi e meriti,  ma credo anche che il Logo possa
trovare  dei  validi  motivi  per  essere  preferito.  La scelta  del
linguaggio da usare è sempre  determinata da ciò che si vuol ottenere
e il Logo tra tutte  le possibili risulta  l'alternativa migliore per
l'apprendimento  della  programmazione.  Usare  il C,  l' Assembler o
anche  solo  il  Basic  può  presentare, all' inizio,  insormontabili
difficoltà,  tali da scoraggiare  spesso i bambini  e da allontanarli
dalla strada della programmazione.  A mio parere,  ciò che oggi manca
ad  una  piattaforma  potente  e  diffusa  come  Amiga  è  proprio un
linguaggio di approccio, semplice,  studiato  proprio per chi inizia.
Ovviamente,  il Logo  non sarà il linguaggio della vostra carriera: i
suoi limiti  sono molti e manifesti,  ma si sa,  una casa  con solide
fondamenta resiste di più.
Quel che oggi voi imparate con il Logo, tornerà domani utile in altri
linguaggi  e  nella  vita:  imparerete  ad  affrontare  i problemi, a
risolverli,  a crearvene  di nuovi e a studiare  metodi per superarli
ancora,  e  così via.   E se un giorno  riceverò  una  lettera  di un
programmatore  affermato  che dice  di aver mosso  i primi passi  dal
magico  mondo  del  Logo, sarà  per me  il più bel  regalo possibile,
perché vorrà dire che le mie idee sono esatte e che il mio lavoro non
è stato inutile.





                  SHAREWARE??  SI', GRAZIE!!

Il Logo è  SHAREWARE:  ciò cuol dire  che se ti piace, lo usi o vuoi,
semplicemente, contribuire al suo sviluppo, registrati, inviando lire
20.000  all'autore  (ovvero a me!!).  Per fare questo,  usa un vaglia
postale intestato a:

         MICHELE BERIONNE
         Via RUBICONE 42
         00198      ROMA

Riceverai l'ultima versione del Logo e il keyfile.
Cos'è il keyfile?   Di certo,  hai notato  che caricando  il Logo, ti
appare, all'inizio, una scritta nella finestra dati che interrompe il
caricamento  per qualche istante.  Questo non influisce in alcun modo
sul funzionamento del Logo, ma serve solo a ricordare che stai usando
una versione  non registrata.  Inviandomi la quota  di registrazione,
invece, riceverai un piccolo file  personalizzato con il tuo nome che
ti permetterà di evitare questo noioso ritardo. Per di più, puoi così
contribuire allo sviluppo del Logo!
ATTENZIONE:  Il keyfile è strettamente PERSONALE: in esso è contenuto
crittato il tuo nome ed è severamente vietato distribuirlo. In fondo,
perché altri dovrebbero beneficare di una cosa che TU hai pagato?
Grazie.

Registrarsi  è un  DOVERE MORALE  che ti viene imposto  se il Logo ti
piace.  Ricordati  che  lo shareware  va aiutato:  poter  provare  un
programma prima di comprarlo (come accade per il Logo) è un vantaggio
offerto agli utenti: ricambiate la fiducia dell'autore!! Grazie.

La versione  del Logo, senza il keyfile,  è liberamente distribuibile
purché da questa non si tragga un proprio guadagno.  Questo manuale e
tutti i  programmi  e gli esempi  forniti in questo  pacchetto  (vedi
Appendice D)  devono essere  sempre  distribuiti con il Logo.  Esorto
tutti a contribuire a far conoscere e circolare il Logo.

ATTENZIONE:  L'autore  NON  è in alcun modo responsabile di eventuali
danni o perdite di dati causate dal Logo.
Non vi preoccupate  per quanto  si è appena letto in queste due righe
sopra:  è, più che altro, un modo di dire:  non succederà mai nulla a
causa del Logo!!

Per gli utenti di INTERNET:  Chi volesse contattarmi tramite il 'net,
il mio indirizzo  elettronico è:  Michele_Berionne@amp.flashnet.it

Tutti i messaggi,  via email e via posta, saranno letti, apprezzati e
risposti!



                       RINGRAZIAMENTI:

Molte sono le persone  che devo ringraziare perché hanno contribuito,
in modo più o meno incisivo,  alla realizzazione del Logo.  Ne faccio
qui una breve lista:

Seymur Papert        Mitico fondatore del Logo: grazie!
Black Legend         A loro lo spunto della mia idea.
Arturo Ortino        A quando la prossima versione di ITAL? :-)
Chris Hodges         AMCAF è sempre la migliore.
Ben Marty            Grazie, comunque, per la disponibilità. ;-)
Ben Wyatt            Ottimi suggerimenti...
Andy Church          Wow, l'Intuition, ma quanti bugs...
Michael Cox          La list è grande: anzi, mitica!
Francois Lionet      E che farei senza di te?
Fabio Chiechi        Studi troppo e programmi poco... ;-)
Raffaele Frattarolo  Il primo a trovare un bug, spero anche l'ultimo!
John Kinsella        Ottimo lavoro il tuo "finto" Workbench!


Se hai suggerimenti,  idee  o  anche solo  critiche,  segnalazioni di
errori da fare,  non indugiare:  contribuirai, così, allo sviluppo di
questo linguaggio e sarai inserito anche tu nella list sovrastante!

Il Logo è stato provato su: Amiga 1200 con Workbench 3.0
                            Amiga  500 con Workbench 1.3

Se lo usi con un altro computer, ti prego di farmi sapere se funziona
correttamente così da poter aggiungere la tua configurazione a quelle
già presenti nella lista soprastante.





                        ISTALLAZIONE

Il Logo non ha bisogno di nulla per funzionare correttamente.
Attenzione:  Il cassetto Logo-work deve essere nella stessa directory
dove è posto il Logo; in caso contrario, esso verrà creato nuovo (ma,
ovviamente, vuoto!).
La versione del Logo  da utilizzare  dipende dal sistema operativo di
cui la vostra macchian è dotata:  utilizzare il Logo1.3 con gli Amiga
forniti di sistema operativo 1.3 o inferiore;  usare il Logo2.0+  con
gli Amiga forniti  di sistema operativo  2.0 o superiore.  Queste due
versioni  sono praticamente identiche,  con la sola differenza che la
prima non ha il comando Workbench (vedi sotto).
Ora siete pronti per avventurarvi nel Logo!   ...che cosa aspettate a
caricarlo?





                      PICCOLA DIMOSTRAZIONE

Prima di cominciare  lo studio  del linguaggio  Logo con tutte le sue
potenti capacità  che questo offre,  è bene  avere  una dimostrazione
pratica  per rendersi  conto  di alcune  delle potenzialità  a vostra
disposizione.  Credo,  a tal proposito,  che  possa  risultare  utile
guardare qualcuno  degli esempi forniti con il Logo.  Per far questo,
digitare, dopo aver  ovviamente caricato il Logo, il comando `Carica'
(senza gli apici);  apparirà un requester:  facendo un rapido  doppio
click  con il tasto sinistro  del mouse  su uno dei nomi  dell'elenco
(purché il cassetto Logo-work sia presente nella stessa directory del
Logo), si ha la possibilità  di far eseguire  al Logo quel programma.
Buon divertimento!





                          PRESENTAZIONE

Lo schermo del Logo  è sempre diviso in 3 parti distinte:  il foglio,
la linea testo  e  la  finestra dati.  Esso può essere  schematizzato
così:


     --------------------------------------------        Questo
     |                                          |          qui
     |                                          |         è il
     |                                          |        FOGLIO
     |                      *                   |          su
     |                                          |         cui
     |                                          |          si
     |                                          |         muove
     |                                          |          la
     |                                          |       tartaruga
     |------------------------------------------|
     |                                          |      LINEA TESTO
     |------------------------------------------|
     |Logo>                                     | --->linea di input
     |                                          |     FINESTRA DATI
     |X= Y= Angolo= Colore= Penna sù Tratteggio | --->linea dati
     --------------------------------------------

L'asterisco al centro del foglio rappresenta la tartaruga. Su di essa
è sempre presente un sottile trattino rosso che indica l'angolo verso
sui è rivolta; essa, inoltre, è sempre visibile (a parte quando viene
nascosta  con  il comando  Nasconditartaruga  o  quando è  fuori  dal
foglio). Tutti i comandi si riferiscono alla tartaruga e al foglio su
cui disegna.
La linea testo è, invece, utilizzabile attraverso il comando Pr.
La finestra dati è riservata al Logo: in essa vengono visualizzate le
coordinate del punto  dove è la tartaruga,  l'angolo verso cui essa è
rivolta,  il  colore  della  penna  impugnata,  e altri  dati.  Dalla
finestra dati, inoltre, si inseriscono i comandi da far eseguire.

I comandi possono  essere inviati  in due sistemi:  dal modo diretto,
ovvero digitandoli ad uno ad uno dalla finestra dati e premendo dopo,
ciascuno, il tasto Return;  in questo caso  il Logo esegue il comando
inviatogli  immediatamente  e poi  torna  ad attendere  che ne  venga
inserito un altro.  Oppure  attraverso i programmi,  ovvero scrivendo
tutti  i  comandi,  nell' ordine  desiderato,  in un  file  che viene
registrato  su  disco.  Inviando,  poi,  dal modo diretto  il comando
Carica, si può scegliere  il programma,  precedentemente scritto,  da
eseguire;  in questo caso,  è come  se i comandi  fossero inviati uno
dopo l'altro  in rapida successione.  Alla fine  del programma, viene
visualizzato  nella finestra dati il tempo impiegato.  Alcuni comandi
sono riservati  ai programmi e alle procedure e, quindi, utilizzabili
solo all'interno di questi.

Si può anche far eseguire un programma subito dopo il caricamento del
Logo, avviando, però, questo da una Shell. In tal caso, digitare:
  Logo nome_del_programma.LOGO

Per uscire da un programma, premere in qualsiasi momento il taso Esc:
in tal modo, si ritorna direttamente al modo diretto.

Le regole del modo diretto e dei programmi sono uguali.  Per inserire
più comandi  in una stessa linea, separarli  con il segno di `punto e
virgola' (;).  I comandi Pr e il segno  '  di commento  non ammettono
altri comandi dopo di loro,  neanche se viene  interposto un segno di
`punto e virgola'.

Inserendo i comandi dal modo diretto, si possono usare le frecce sù e
giù per  poter riutilizzare dati già immessi  senza doverli ribattere
di nuovo. Dal modo diretto inoltre, non è permesso iniziare i comandi
con alcuni caratteri (ovviamente con quelli vietati, tipo il segno di
dolaro ($), i due punti (:),  etc...):  in questo modo, il Logo evita
che facciate errori di distrazione.
Inserendo i comandi  dal modo diretto,  si può usare  il tasto con la
freccia verso sinistra in unione a uno dei tasti Shift per cancellare
le parole scritte più velocemente:  il tasto Esc, invece, permette di
cancellare tutta la linea scritta in un colpo.  Attenzione: una linea
cancellata con il tasto Esc non è poi recuperabile mediante le frecce
sù e giù.

Premendo  il tasto  `Help'  dal modo diretto,  viene visualizzata uno
schermo con varie  informazioni  sul Logo,  tra le quali si può anche
vedere se,  ed eventualmente a chi,  la versione  al momento  usata è
registrata.

I tasti di funzione F (ovvero i 10 tasti grigi sopra la tastiera vera
e propria) possono assumere  significati speciali, permettendo, così,
di abbreviare  il tempo di battitura dei comandi.  Questi valori sono
assegnati tramite  il programma  SettaPreferenze  (vedi appendice D).
Premendo uno di questi tasti apparirà sulla linea di inserimento dati
la sua  corrispondente  stringa  ed,  eventualmente,  viene  eseguito
direttamente  il comando relativo.  Non è obbligatorio  che i tasti F
contengano dei comandi (ma quale altra utilità potrebbero avere?).





                      COMANDI del LOGO

Comando : AVANTI
Sintassi: Avanti x
Testo   : Muove  la tartaruga x passi avanti  tracciando una linea se
          la penna è abbassata.
Note    :


Comando : INDIETRO
Sintassi: Indietro x
Testo   : Muove la tartaruga x passi indietro tracciando una linea se
          la penna è abbassata.
Note    :


Comando : ANGOLO
Sintassi: Angolo x
Testo   : Ruota  la tartaruga  verso l'angolo x,  espresso  in gradi.
          Nessun  segno è tracciato  sul foglio e la tartaruga non si
          sposta.
Note    : Valori  più alti  di 360 gradi sono,  comunque, accettati e
          convertiti, secondo la formula x=x-(k*360).


Comando : DESTRA
Sintassi: Destra x
Testo   : Ruota la tartaruga di x gradi in sendo orario. La tartaruga
          non si muove e nessun segno è tracciato sul foglio.
Note    :


Comando : SINISTRA
Sintassi: Sinistra x
Testo   : Ruota  la  tartaruga  di x gradi  in senso  antiorario.  La
          tartaruga  non  si muove  e nessun  segno è  tracciato  sul
          foglio.
Note    :


Comando : VOLGI
Sintassi: Volgi x,y
Testo   : Ruota la tartaruga  indirizzandola al punto di coordinate x
          e y.  Nessuna linea è  tracciata  sul foglio e la tartaruga
          non si sposta.
Note    : Può (bah?)  essere utile  in unione al comandi Distanza per
          muovere la tartaruga ad un determinato punto.


Comando : LINEA
Sintassi: Linea x,y
Testo   : Traccia una linea  dalla posizione dove è la tartaruga fino
          al punto di coordinate x e y.  Anche la tartaruga si sposta
          al punto di destinazione; l'angolo non cambia.
Note    :


Comando : LINEAREL
Sintassi: Linearel x,y
Testo   : Muove la tartaruga di x passi  verso destra e y passi verso
          il basso  tracciando  una  linea  dal  punto di  partenza a
          quello di arrivo.  Se x  è negativo  la  tartaruga si muove
          verso sinistra; se y è negativo, verso l'alto. L'angolo non
          cambia.
Note    :


Comando : MUOVI
Sintassi: Muovi x,y
Testo   : Sposta  la  tartaruga  al  punto di coordinate x e y  senza
          tracciare alcuna linea sul foglio e senza cambiare l'angolo
          della tartaruga.
Note    :


Comando : MUOVIREL
Sintassi: Muovirel x,y
Testo   : Muove la tartaruga di x passi  verso destra e y passi verso
          sinistra senza  tracciare  alcuna linea  sul foglio. Se x è
          negativo  la  tartaruga  si  muove  verso sinistra;  se y è
          negativo, verso l'alto. L'angolo non cambia.
Note    :


Comando : PENNAGIU
Sintassi: Pennagiu
Testo   : Abbassa  la penna  della  tartaruga  sul foglio  in modo da
          permettere  alla  tartaruga  di tracciare  linee quando  si
          muove.
Note    : All'inizio la penna è sempre abbassata.


Comando : PENNASU
Sintassi: Pennasu
Testo   : Alza la penna della tartaruga dal foglio in modo da evitare
          che essa tracci alcuna linea su di esso.
Note    : Attenzione:  i comandi Punto, Cerchio, Semicerchio, Ellissi
          e Riempi non risentono del fatto  che la penna sia alzata o
          abbassata e funzionano regolarmente in ogni caso.


Comando : DEFINISCICASA
Sintassi: Definiscicasa x,y
Testo   : Posiziona la casa della tartaruga  al punto di coordinate x
          e y in modo  che vi possa essere  spostata con  il semplice
          comando Casa.
Note    : Ogni  valore  precedentemente  memorizzato viene cancellato
          per far posto  al nuovo.  Questo comando  è particolarmente
          comodo per punti in cui è necessario spostare ripetutamente
          la tartaruga.


Comando : CASA
Sintassi: Casa
Testo   : Sposta  la  tartaruga alla sua "casa"  definita  tramite il
          comando  Definiscicasa.  L'angolo  non  cambia  e non viene
          tracciata alcuna linea.
Note    :


Comando : RICORDAANGOLO
Sintassi: Ricordaangolo
Testo   : Ruota la tartaruga in direzione dell'angolo precedentemente
          memorizzato mediante il comando Memangolo. La tartaruga non
          si sposta e non viene tracciato alcun segno sul foglio.
Note    :


Comando : RICORDAX
Sintassi: Ricordax
Testo   : Sposta la tartaruga  orizzontalmente all' altezza del punto
          precedentemente  memorizzato con il comando Memx.  L'angolo
          non cambia e non viene tracciata nessuna linea sul foglio.
Note    :


Comando : RICORDAY
Sintassi: Ricorday
Testo   : Sposta  la tartaruga  verticalmente  all'altezza  del punto
          precedentemente memorizzato con Memy. L'angolo non cambia e
          non viene tracciata alcuna linea sul foglio.
Note    : Abbinando  i comandi  Ricordax  e Ricorday si può riportare
          la tartaruga ad un punto precedentemente memorizzato.


Comando : RICORDATUTTO
Sintassi: Ricordatutto
Testo   : E' equivalente alla successione dei  comandi Ricordaangolo,
          Ricordax e Ricorday inseriti uno dopo l'altro.
Note    :


Comando : MEMANGOLO
Sintassi: Memangolo
Testo   : Memorizza  l'attuale  angolo  della  tartaruga  in modo che
          possa essere riutilizzato  in qualunque momento  tramite il
          comando Ricordaangolo.
Note    : Ogni valore  precedentemente  memorizzato viene  cancellato
          per far posto al nuovo.


Comando : MEMX
Sintassi: Memx
Testo   : Memorizza  il valore  della  distanza della  tartaruga  dal
          margine  sinistro  del  foglio  in modo  che  possa  essere
          riutilizzata  in  qualunque  momento   tramite  il  comando
          Ricordax.
Note    : Ogni  valore  precedentemente  memorizzato viene cancellato
          per far posto al nuovo.


Comando : MEMY
Sintassi: Memy
Testo   : Memorizza la distanza della tartaruga dal margine superiore
          del  foglio  in  modo  che  possa  essere  riutilizzata  in
          qualunque momento tramite il comando Ricorday.
Note    : Ogni  valore  precedentemente  memorizzato viene cancellato
          per far posto al nuovo.


Comando : MEMTUTTO
Sintassi: Memtutto
Testo   : E' equivalente alla successione dei comandi Memangolo, Memx
          e Memy inseriti uno dopo l'altro.
Note    :


Comando : VOLTE
Sintassi: Volte x
Testo   : Fa in modo che ciascun  comando venga ripetuto di seguito x
          volte:  ha,  però,  effetto  solo  sui  comandi  in  cui la
          tartaruga  si muove o si gira  (Avanti,  Destra,  Indietro,
          Linearel, etc...)
Note    : All'inizio è assegnato il valore 1.


Comando : TRATTEGGIO
Sintassi: Tratteggio x
Testo   : Il Logo permette di utilizzare le linee oltre che continue,
          anche tratteggiate.  Esistono 3 tipi di tratteggio, diversi
          per la lunghezza dei singoli trattini: per x compreso tra 1
          e 3 viene adoperato uno di questi tratteggi;  se, invece, x
          è uguale a 0, la linea torna ad essere continua.
Note    : Il valore del tratteggio  viene memorizzato nella variabile
          di sistema $t.  All'inizio  il Logo  utilizza  sempre linee
          continue.  Non  ha effetto  sui comandi  Cerchio,  Ellisse,
          Punto,  Riempi  e Semicerchio.  Se  è  attivo  un qualunque
          tratteggio,  ciò è evidenziato da un'apposita scritta nella
          finestra dati.


Comando : SFONDO
Sintassi: Sfondo x
Testo   : Cambia  il colore del  foglio su cui si muove la tartaruga.
          Ciò  che era  stato  precedentemente  disegnato  non  viene
          alterato in nessun modo. X può assumere un qualsiasi valore
          tra 0 e 9: a ogni numero è assegnato un colore prestabilito
          del foglio.
Note    :


Comando : COLORE
Sintassi: Colore x
Testo   : Sceglie  la penna con cui  la tartaruga  deve disegnare.  I
          colori disponibili sono 7 (dall'1 al 7), mentre il colore 0
          indica  la gomma.  Valori più alti  del 7 sono  accettati e
          convertiti secondo la tecnica della rotazione x=x-(k*8).
Note    : Questo comando è utile nei cicli dei programmi; altrimenti,
          però, usate  i comandi  specifici  dei colori (Nero, Verde,
          Rosso, Gomma, etc...) poiché sono più facili e comodi.


Comando : GOMMA
Sintassi: Gomma
Testo   : Fa prendere alla tartaruga la gomma: ovunque, ora, passerà,
          anziché tracciare linee,  cancellerà tutto  ciò che  trova.
          Anche  i  comandi  Cerchio,  Punto,  Semicerchio,  Riempi e
          Ellisse provocheranno una cancellazione.
Note    : E' l'equivalente semplificato di Colore 0.


Comando : NERO
Sintassi: Nero
Testo   : Fa impugnare alla tartaruga la penna di colore nero.
Note    : E' l'equivalente semplificato di Colore 1


Comando : BIANCO
Sintassi: Bianco
Testo   : Fa impugnare alla tartaruga la penna di colore bianco.
Note    : E' l'equivalente semplificato di Colore 2


Comando : GIALLO
Sintassi: Giallo
Testo   : Fa impugnare alla tartaruga la penna di colore giallo.
Note    : E' l'equivalente semplificato di Colore 3


Comando : ROSSO
Sintassi: Rosso
Testo   : Fa impugnare alla tartaruga la penna di colore rosso.
Note    : E' l'equivalente semplificato di Colore 4


Comando : VERDE
Sintassi: Verde
Testo   : Fa impugnare alla tartaruga la penna di colore verde.
Note    : E' l'equivalente semplificato di Colore 5


Comando : BLU
Sintassi: Blu
Testo   : Fa impugnare alla tartaruga la penna di colore blu.
Note    : E' l'equivalente semplificato di Colore 6


Comando : VIOLA
Sintassi: Viola
Testo   : Fa impugnare alla tartaruga la penna di colore viola.
Note    : E' l'equivalente semplificato di Colore 7


Comando : PULISCI
Sintassi: Pulisci
Testo   : Produce un reset grafico: la tartaruga viene posizionata al
          centro  del foglio,  l'angolo  viene  posto uguale a 0,  la
          penna  abbassata,  quella impugnata  diventa la bianca e le
          linee sono selezionate continue.
Note    :


Comando : RESET
Sintassi: Reset
Testo   : E' identico a Pulisci,  ma  oltre  che  graficamente agisce
          anche sulle  variabili utente,  che vengono tutte azzerate.
Note    : Ogni volta che  si carica e si esegue un programma, il Logo
          provvede  automaticamente  a inserire  come prima linea  il
          comando Reset. Dunque, non è necessario che questo venga da
          voi inserito nei programmi.


Comando : ELLISSE
Sintassi: Ellisse x,y
Testo   : Disegna  un'ellissi  avente  il centro  nella tartaruga, il
          raggio  orizzontale  di  x  passi  di  tartaruga  e  quello
          verticale di y passi.  La tartaruga non si muove e l'angolo
          non cambia.
Note    : In effetti, l'ellissi  non ha un centro, ma due fuochi.  Il
          centro che  il Logo usa  è considerato  come il punto medio
          tra i 2 fuochi reali.  Non importa se la penna è sollevata,
          ma l'ellisse è tracciata in ogni caso.


Comando : RIEMPI
Sintassi: Riempi
Testo   : "Rovesciare" un barattolo di vernice proprio sopra al punto
          in cui si trova la tartaruga. In questo modo viene colorato
          ogni punto adiacente che sia dello  stesso colore di quello
          iniziale  del punto  in cui  è  la tartaruga.  Complicato a
          dirsi,  ma comodo  e molto usato  per riempire e colorare i
          disegni fatti.  La tartaruga  non  si muove e l'angolo  non
          cambia.
Note    :


Comando : PUNTO
Sintassi: Punto
Testo   : Disegnare  un punto  proprio dove è la tartaruga: ho dovuto
          aggiungere  questo  comando  perché  usando  Avanti  non  è
          possibile tracciare  una linea  di un  solo  punto,  come a
          volte può esser necessario, ma la lunghezza minima è di due
          punti.
Note    : Non importa  se la penna è sollevata e il punto è tracciato
          in ogni caso.


Comando : CERCHIO
Sintassi: Cerchio x
Testo   : Disegna  un cerchio  avente  il centro  nel punto dove è la
          tartaruga e il raggio di x passi di tartaruga. La tartaruga
          non si muove e l'angolo non cambia.
Note    : Non  importa  se la penna è sollevata,  ma il cerchio viene
          tracciato in ogni caso.


Comando : SEMICERCHIO
Sintassi: Semicerchio r,g
Testo   : Disegna sul folgio  un pezzo di cerchio avente il raggio di
          r passi di tartaruga e l'ampiezza di g gradi.  Il tratto di
          cerchio viene disegnato a partire dall'angolo attuale della
          tartaruga, con centro la sua posizione, ruotando di g gradi
          in  senso orario.  Non sono ammessi  valori  negativi di g.
          L'angolo della tartaruga non cambia.
Note    : E', forse, uno dei comandi più difficili  da utilizzare: ma
          fate delle prove e diventerete subito bravi a usarlo!!


Comando : DISTANZA
Sintassi: Distanza x,y
Testo   : Calcola  quanti passi di tartaruga il punto di coordinate x
          e  y  dista  dal  posto  dove  è  la  tartaruga.  Il valore
          determinato è  sempre un numero  intero e positivo, e viene
          memorizzato  nella  variabile  di  sistema $6.  Ogni valore
          precedentemente presente viene cancellato  per far posto al
          nuovo.
Note    : Può essere usato  insieme a Volgi  per muovere la tartaruga
          ad un determinato punto.


Comando : CASUALE
Sintassi: Casuale x
Testo   : Determina un numero  casuale  compreso tra 0 e x e lo, poi,
          memorizza nella variabile di sistema $5.  Il numero trovato
          è sempre intero e positivo.
Note    : Attenzione:  a differenza  che in altri linguaggi, nel Logo
          Casuale è un comando e non una funzione: esso, dunque, deve
          essere eseguito  a parte e, solo in un secondo momento, può
          essere letto il numero trovato.  Ogni precedente  valore in
          $5 viene cancellato per far posto al nuovo.


Comando : PR
Sintassi: Prxxxx
Testo   : Scrive  testi  nella  linea  testo;  xxxx  rappresenta  una
          qualsiasi scritta, contenente ogni tipo di carattere:  sono
          possibili  numeri,  lettere,  segni  di  interpunzione,  di
          operazioni, etc..  Dunque, dopo Pr non si può aggiungere un
          altro comando sulla stessa linea altrimenti il Logo penserà
          che quello  fa parte  della scritta da stampare.  Ogni qual
          volta viene stampato  un nuovo testo,  viene  completamente
          cancellato quello precedente, anche se non si sovrappone ad
          esso.  Utilizzi speciali  del comando Pr  si possono  avere
          inserendo  un  particolare  carattere  che, ovviamente, non
          verrà  stampato, alla fine del testo.  Se xxxx  termina con
          il segno `[', il Logo, anziché scriverlo nella linea testo,
          lo pronuncerà, purtroppo, con un terribile accento inglese,
          purché, però,  sia  disponibile  il  narrator.device  e  la
          funzione  del  parlato sia stata  attivata con il programma
          SettaPreferenze.  Se xxxx termina, invece, con il carattere
          `|', allora la scritta  verrà centrata  in mezzo alla linea
          testo. Se ancora, xxxx termina con il carattere `@', allora
          il  Logo  viene  informato  di  non  cancellare,  la  volta
          successiva, il testo presente.  Ciò vuol dire che inserendo
          Prxxxx@,  cancello tutto  ciò che era  nella finestra testo
          per scriverci xxxx,  ma la volta successiva  il nuovo testo
          sarà  aggiunto  al precedente.  In questo modo  è possibile
          ottenere testi  variopinti e con vari stili, alterando, tra
          un pezzo  di scritta e l'altro,  rispettivamente  il colore
          del testo e il suo stile.  Se, infine, xxxx  termina con il
          carattere  `]',  il testo  non sarà  stampato  nella  linea
          testo,  ma sul foglio,  proprio a partire  dalla tartaruga,
          usando,  per  quanto  riguarda  il colore,  la penna  della
          tartaruga medesima.
Note    : Non è ammesso  più di un carattere speciale alla fine della
          stringa:  se ne sono presenti  due, l'ultimo  assume la sua
          funzione, mentre  il penultimo viene considerato come parte
          della stringa.


Comando : EFFETTOTESTO
Sintassi: Effettotesto x
Testo   : Permatte  di usare  le scritte  della linea testo  con vari
          stili. Se x è uguale a 0 sarà  visualizzato normalmente; se
          x è uguale a 1,  apparirà  sottolineato; se x è uguale a 2,
          ombreggiato.  Ogni stile  precedentemente  utilizzato viene
          rimosso per far posto al nuovo.
Note    : Attenzione:  non ha effetto sulla scritta  già presente, ma
          solo  su quelle che  saranno visualizzate  successivamente.
          All'inizio lo stile del testo è normale.


Comando : PULISCITESTO
Sintassi: Puliscitesto
Testo   : Pulisce la finestra testo  da qualunque scritta presente in
          essa.
Note    : E' l'equivalente semplificato del solo PR.


Comando : COLORETESTO
Sintassi: Coloretesto x
Testo   : Permette di scegliere  con quale colore scrivere le scritte
          nella linea testo.
Note    : Attenzione:  non ha effetto  sulla scritta già presente, ma
          solo  su  quelle che saranno immesse successivamente.  Allo
          inizio il testo viene stampato bianco.


Comando : DOMANDA
Sintassi: Domanda
Testo   : Visualizza  un punto interrogativo (?) nella finestra testo
          e aspetta che venga inserito un valore per memorizzarlo poi
          nella  variabile  di  sistema $d.  La presenza  di  lettere
          produce 0 come risultato, ma non provoca errori.
Note    : Finché  non viene  premuto il tasto <Return> il Logo appare
          come bloccato:  non può, infatti,  continuare  finché non è
          terminato il comando Domanda.


Comando : NASCONDITARTARUGA
Sintassi: Nasconditartaruga
Testo   : Rende  la  tartaruga invisibile,  ma pur  sempre  presente.
          Tutto funziona  proprio come prima,  con l'unica differenza
          che la tartaruga non viene visualizzata.
Note    : Questo comando dà un po' di velocità in più al Logo!!


Comando : MOSTRATARTARUGA
Sintassi: Mostratartaruga
Testo   : Fa tornare la tartaruga sullo schermo,  se questa era stata
          precedentemente nascosta  con il comando Nasconditartaruga.
          Ovviamente,   la  tartaruga   viene  rimostrata  non  nella
          posizione  in cui  si trovava quando  era stata cancellata,
          ma in quella sua attuale.
Note    : Nasconditartaruga  e  Mostratartaruga  non sono cumulabili:
          se,  per esempio, invio  il comando Nasconditartaruga diece
          volte di seguito,  sarà  sempre e comunque  sufficiente  un
          solo Mostratartaruga per farla tornare sullo schermo.


Comando : NASCONDIMOUSE
Sintassi: Nascondimouse
Testo   : Rende invisibile il puntatore del mouse; in tal caso, non è
          possibile  utilizzare  i   comandi  che  ne  richiedono  la
          posizione (Volgimouse, Lineamouse, Muovimouse). Comunque il
          puntatore riappare prima di ogni requester, per permetterne
          un facile uso, e riscompare di nuovo subito dopo.
Note    :


Comando : MOSTRAMOUSE
Sintassi: Mostramouse
Testo   : Mostra il puntatore del mouse sullo schermo,  se questo era
          stato precedentemente nascosto.
Note    : Sia Nascondimouse che Mostramouse  non sono cumulabili: se,
          per  esempio,  invio  diece  volte  di  seguito  il comando
          Nascondimouse,  sarà sempre e comunque  sufficiente un solo
          Mostramouse per far tornare il puntatore sullo schermo.


Comando : VOLGIMOUSE
Sintassi: Volgimouse
Testo   : Ruota la tartaruga  verso la posizione dove è al momento il
          puntatore del mouse.  Nessun segno è tracciato sul foglio e
          la tartaruga non si muove.
Note    : Se il mouse non è visibile, non ha effetto.


Comando : MUOVIMOUSE
Sintassi: Muovimouse
Testo   : Sposta  la tartaruga  nella posizione  dove è al momento il
          puntatore del mouse,  senza tracciare  alcuna linea e senza
          modificare l'angolo.
Note    : Se il mouse non è visibile questo comando non ha effetto.


Comando : LINEAMOUSE
Sintassi: Lineamouse
Testo   : Traccia una linea dalla posizione della tartaruga fino alla
          posizione  attuale del mouse.  Anche la tartaruga si sposta
          fino al punto di destinazione, ma l'angolo non cambia.
Note    : Se il mouse non è visibile questo comando non ha effetto.


Comando : ASPETTAMOUSE
Sintassi: Apettamouse x
Testo   : Attende  che venga premuto  un pulsante  del mouse:  se x è
          uguale  a 1 aspetta  il tasto sinistro;  se x è uguale a 2,
          quello destro.
Note    : Finché non viene premuto il pulsante giusto, il Logo appare
          come bloccato e non può continuare:  attenzione, dunque, ad
          avvisare l'utente,  affinché non creda che sia un errore ad
          aver arrestato il programma!


Comando : ASPETTA
Sintassi: Aspetta x
Testo   : Fa attendere  il tempo indicato in x;  durante  l'attesa il
          Logo appare come bloccato e non si può fare nulla. X indica
          il numero di ventesimi di secondo che bisogna aspettare.
Note    : Attenzione a non usare  valori troppo alti di x, altrimenti
          rischiate di perdere la vostra pazienza!!


Comando : APETTATASTO
Sintassi: Apettatasto
Testo   : Attende che  venga  premuto un tasto qualsiasi:  finché ciò
          non accade,  il Logo appare  come  bloccato  poiché non può
          proseguire prima che questo comando sia terminato. Dopo che
          un tasto  è  stato premuto,  viene  memorizzato  il  valore
          relativo in $t.  Il tasto  Help, i tasti F,  gli Shift, gli
          Alt e i Commodore non hanno effetto.
Note    : Il valore che viene memorizzato è il codice Ascii del tasto
          premuto; per ulteriori informazioni vedi l'appendice A.


Comando : LIMITA
Sintassi: Limita x
Testo   : Permette  di decidere  se la tartaruga deve essere limitata
          al foglio visibile o può uscire da esso.  Se x ha il valore
          di zero o non è presente,  la tartaruga viene limitata; per
          tutti gli altri valori,  invece,  è libera di uscire.  Se è
          limitata,  questo appare  scritto  nella  finestra dati, in
          basso  a destra.  Le eventuali  linee  tracciate  fuori dal
          foglio non possono essere viste in nessun modo.
Note    : Se la tartaruga  viene  limitata  mentre  è  già  fuori dal
          foglio, essa torna  immediatamente all'interno di esso.  Il
          comando Limita  non  è  cumulabile:  se, per esempio, invio
          diece volte di seguito il comando per limitarla sarà sempre
          e sufficiente una solo volta togliere la limitazione perché
          la tartaruga sia libera di uscire dal foglio. La condizione
          iniziale viene deciso tramite il programma SettaPreferenze


Comando : SUONA
Sintassi: Suona x
Testo   : Fa suonare  il Logo  in vario modo;  x indica  il suono  da
          emettere:  se x  è uguale a 0, il Logo  simula il rumore di
          un'esplosione.  Per x che assume valori tra 1 e 5, si sente
          il suono di una campana di varia intensità  (dalla più cupa
          alla più acuta);  se, invece, x è  un numero  tra 6 e 8, il
          Logo  esegue  uno  dei  tre  suoni  campionati  in  memoria
          (6=doppio pio; 7=rullo di tamburi; 8=doppio campanello)
Note    : Numeri maggiori di 8 vengono considerati come se fossero 8.


Comando : FINE
Sintassi: Fine
Testo   : A seconda di come è dato,  può avere  due diversi  effetti:
          se è inserito  dal modo diretto, indica che si vuole uscire
          dal Logo:  apparirà un requester  di conferma e, in caso di
          risposta  positiva, il Logo  terminerà;  se viene,  invece,
          trovato  all'interno  di un programma,  indica  la fine del
          programma stesso e che si deve tornare al modo diretto.
Note    : E' un comando importante, utile e necessario, ma attenzione
          al suo uso!


Comando : CARICA
Sintassi: Carica
Testo   : Carica  ed  esegue  un programma  per Logo  precedentemente
          scritto.  Dopo il suo invio, appare un requester che chiede
          quale si vuole eseguire. Per non caricarne nessuno, premere
          il bottone in basso a destra con un punto bianco al centro;
          altrimenti  è  sufficiente  un  doppio  click sul nome  del
          programma  desiderato  per farlo  caricare ed eseguire.
Note    : Prima dell'esecuzione,  il Logo  controlla se non compaiono
          errori; in caso affermativo il programma non viene eseguito
          e uno specifico messaggio  spiegherà la causa dell'arresto.
          Questo comando  NON può essere inserito in un programma, ma
          deve sempre essere dato dal modo diretto.


Comando : SCRIVI
Sintassi: Scrivi
Testo   : Serve  per  scrivere  nuovi  programmi  per il  Logo  o per
          rivederne e cambiarne altri già in precedenza scritti. Dopo
          il suo invio appare un requester  che invita a scegliere il
          programma da scrivere.  Se il file scelto non esiste, viene
          creato:  si può, così, scrivere  un nuovo programma;  se il
          file, invece, già esiste, si ha la possibilità di rivederlo
          e di cambiarlo; premere il bottone in basso a destra con un
          punto bianco nel suo centro per rinunciare.
Note    : Per usare questo comando si deve aver settato correttamente
          tramite il programma  SettaPrefernze correttamente l'editor
          da usare.  Infatti il Logo non ne ha uno suo proprio, ma ne
          sfrutta uno qualsiasi esterno.  Per ulteriori  informazioni
          sull'uso dell'editor, vedere il suo relativo manuale.


Comando : CANCELLA
Sintassi: Cancela
Testo   : Cancella dal disco un programma realizzato in Logo. Dopo il
          suo invio, appare un requester per la selezione del file da
          cancellare. Premere il tasto in basso a destra con un punto
          bianco  al suo  centro  se non si vuole  cancellare  nulla,
          altrimenti fare  un doppio click  sul nome del file scelto.
          Questo comando  non può essere all'interno di un programma,
          ma deve sempre essere dato dal modo diretto.
Note    : Attenzione ad essere perfettamente sicuri di ciò che si fa:
          un programma cancellato NON può più essere recuperato!


Comando : STAMPA
Sintassi: Stampa
Testo   : Scrive su carta,  mediante  una  stampante,  il  listato di
          qualsiasi programma per Logo.  Dopo il suo invio  appare un
          requester  per  selezionare  il  file  desiderato:  premere
          il bottone  in basso  a destra  con un punto  bianco al suo
          interno per rinunciare  o  fare un  doppio  click col tasto
          sinistro sul programma voluto per continuare.  Un ulteriore
          richiesta  di  conferma  permette,  poi,  di  preparare  la
          stampante:  premere  Return  per  continuare  e iniziare la
          stampa  o  Esc  per rinunciare.  Se non  si  dispone di una
          stampante, NON usare questo comando.
Note    : Il testo  stampato  può  presentare, in alcune righe, delle
          "indentature", ovvero  delle rientranze sul bordo sinistro:
          non  è  assolutamente  un difetto del Logo,  ma, anzi,  una
          agevolazione;  presto  vedrete  come  queste facilitano  la
          lettura mettendo in risalto le zone all'interno dei Se-Stop
          e dei cicli.


Comando : UNDO
Sintassi: Undo
Testo   : Cancella l'ultima operazione  fatta sullo  schermo: se si è
          disegnata  una linea sbagliata  o uno  spostamento  errato,
          basta  inviare  Undo e  la  tartaruga  tornerà  allo  stato
          precedente.  Non è possibile usare Undo più di una volta di
          seguito:  dopo la prima non avrà effetto.  La posizione del
          mouse non risente del comando Undo
Note    : Non può stare  all'interno  di un programma, ma deve sempre
          essere dato  dal modo diretto:  non può essere dato neanche
          subito  dopo  un programma:  infatti,  ha effetto  solo sui
          comandi dati dal modo diretto o delle procedure.


Comando : ?
Sintassi: ?
Testo   : Mostra uno schermo con informazioni generali sul programma,
          tra cui si può anche vedere se la versione è registrata ed,
          eventualmente, a chi.  Ha lo stesso  effetto del tasto Help
          premuto  dal modo diretto.  Premendo  un tasto qualsiasi si
          ritorna alla situazione precedente.
Note    : Non può essere usato all'interno dei programmi, ma solo dal
          modo diretto.


Comando : WORKBENCH
Sintassi: Workbench
Testo   : Rende  il Logo  iconificato,  ovvero  porta  lo schermo del
          workbench davanti visibile  e  vi apre una piccola finestra
          con  su  scritto la  versione  attualmente  usata del Logo.
          Chiudendo  questa finestra  (premendo il tasto sinistro del
          mouse con il puntatore  sul quadratino in alto a sinistra),
          si torna al Logo, come  se nulla fosse accaduto.  In questo
          modo, si può interrompere il Logo per riprenderlo più tardi
          e dedicarsi, intanto, all'esecuzione di un altro programma.
Note    : Non può essere all'interno  di un programma, ma deve essere
          sempre dato dal modo diretto
          Funziona solo nella versione del Logo per sistema operativo
          2.0 o superiore; nell'altra non ha nessun effetto.


Comando : SALVASCHERMO
Sintassi: Salvaschermo
Testo   : Salva su disco il disegno presente sul foglio.  Dopo il suo
          invio,  appare  un requester  che chiede di  specificare il
          nome con cui si vuole salvare il foglio: premere Cancel per
          interrompere  l'operazione  o  digitare il nome  con cui si
          vuol salvare il disegno.  Il Logo adopera lo standard Amiga
          IFF: dunque, l'immagine è, poi, utilizzabile e vedibile con
          qualunque  programma di grafica.  Se non  viene cambiato il
          cassetto  dove  si desidera  registrare lo schermo,  questo
          viene memorizzato in memoria (Ram:).
Note    : Non può essere  all'interno di un programma, ma deve essere
          dato dal modo diretto





        COMANDI USABILI SOLO NEI PROGRAMMI E NELLE PROCEDURE.

Questi comandi non possono essere inviati dal modo diretto, ma devono
essere,  obbligatoriamente,  all'interno  di  un  programma o  di una
procedura.


Comando : FOGLIOGRANDE
Sintassi: Fogliogrande
Testo   : Ingrandisce  la porzione di foglio  visibile di 30 passi di
          tartaruga.  La linea testo viene,  di conseguenza, spostata
          più in basso,  mentre la finestra dati  viene nascosta.  L'
          eventuale comando  Limita  si riferirà,  in tal caso,  alla
          nuova porzione di foglio visibile. Alla fine del programma,
          il Logo  attenderà la pressione  di un qualunque  tasto per
          rivisualizzare la finestra dati e  riportare il foglio alla
          sua naturale grandezza.  Attenzione:  anche se può sembrare
          strano, usando il foglio grande  dovrebbe guadagnare un po'
          in velocità di esecuzione,  anche se questo è difficiele da
          riscontrare dal momento che alla fine non viene mostrato il
          tempo impiegato, come invece accade con il foglio piccolo.
Note    : Questo comando NON può essere inserito in una procedura, ma
          solo all'interno del corpo principale di un programma.


Comando : FOGLIOPICCOLO
Sintassi: Fogliopiccolo
Testo   : Riporta il foglio alla sua originale grandezza se era stato
          precedentemoente ingrandito con il comando Fogliogrande. In
          tal caso, alla fine  dell'esecuzione del programma, il Logo
          si comporterà  nel modo consueto.  Se la tartaruga  è nella
          zona del foglio che  viene cancellata e il comando Limita è
          attivo, questa viene portata  sul bordo inferiore del nuovo
          foglio imposto.
Note    : Questo comando NON può essere inserito in una procedura, ma
          solo all'interno del corpo principale di un programma.


Comando : J
Sintassi: Jxxx
Testo   : Salta da una parte all'altra del programma; xxx rappresenta
          il nome  della label  a cui si deve  andare.  Le label sono
          costituite dal segno  di duepunti (:) seguito da una parola
          qualunque.  Il Logo  non  tiene  alcun  conto  delle  label
          durante  l'esecuzione  dei  programmi,  ma le usa  solo per
          sapere dove saltare. Per esempio:  `:ciao'  rappresenta una
          label di nome `ciao';  per saltare, dunque, ad essa si deve
          usare `Jciao'.
Note    : Non possono esistere in uno stesso  programma due label con
          lo stesso nome o si provocherà  un errore all'inizio.  Se è
          presente un J ad una label  inesistente, un errore impedirà
          l'esecuzione del programma.


Comando : CICLO
Sintassi: Ciclo
Testo   : Spesso  in un programma  è  necessario  ripetere  gruppi di
          istruzioni  più  volte;   per  evitare,  dunque,  di  dover
          riscrivere le stesse linee sempre uguali, si deve ricorrere
          al comando  Ciclo,  da usare  sempre  insieme  a Chiudi: il
          comando Ciclo apre, appunto, un ciclo che termina, poi, con
          Chiudi.  Non ci  possono stare  più di tre cicli uno dentro
          l'altro.  Il valore del numero  di volte che il ciclo è già
          stato  eseguito  viene  memorizzato  in  una  variabile  di
          sistema:  il  ciclo  più  esterno  in $ 1,  il secondo  (se
          presente) in $2, il terzo (se presente) in $3.
Note    : Il numero di Ciclo presenti deve essere uguale a quello dei
          Chiudi e i comandi Ciclo  devono sempre precedere i Chiudi,
          altrimenti si incorre in un errore,  prima che il programma
          inizi, che ne impedirà l'esecuzione.


Comando : CHIUDI
Sintassi: Chiudi x
Testo   : Serve per chiudere un ciclo aperto.  X indica il numero  di
          volte che  i comandi  all'interno  del ciclo  devono essere
          ripetuti:  Chiudi  rimanda  al suo relativo  Ciclo  come il
          comando J per x volte;  dopo  di  che lascia  continuare il
          programma,  come  se  non ci fosse.  Se  x è uguale a 0 o è
          assente, i comandi compresi  all'interno del ciclo verranno
          ripetuti continuamente senza mai uscire. In questo caso, la
          struttura Ciclo-Chiudi, funziona  come un salto  effettuato
          con il comando J, ma il suo utilizzo è assai più pratico ed
          elegante!
Note    : Il numero  di Chiudi  presenti deve essere  uguale a quello
          dei  Ciclo e i Ciclo  devono  sempre  precedere  i  Chiudi,
          altrimenti si incorre  in un errore, prima che il programma
          inizi, che ne impedirà l'esecuzione.


Comando : AZZERA
Sintassi: Azzera x
Testo   : Se presente, deve  obbligatoriamente  essere immediatamente
          precedente al comando Ciclo a cui si riferisce,  altrimenti
          non  viene  considerato dal Logo.  Permette  di iniziare il
          ciclo con un valore  diverso da 1, ma a partire dal  numero
          x+1.
Note    : Prima di ogni ciclo, il Logo dà automaticamente  il comando
          Azzera 0; dunque, non è necessario che lo facciate voi.


Comando : SE
Sintassi: Se x<=>y
Testo   : Permette  di far prendere  al Logo  delle decisioni:  se si
          verifica  una data  situazione, allora...  Dopo il Se  deve
          seguire  un' espressione  di  uguaglianza o disuguaglianza,
          semplice (#a>15 ; #b=$5) o composta (#a<>12 ; #b=>$5).  Nel
          caso  l' espressione  indicata  sia  vera,  allora  saranno
          eseguiti  tutti i comandi  presenti  tra la linea  del Se e
          quella del relativo Stop. Possono essere presenti anche più
          Se uno dentro l'altro (funzione logica AND). Per esempio:
              Se #a=10
                 Avanti 50
              Stop
          Eseguirà il comando Avanti solo se il valore in #a è uguale
          a 10. E ancora:
              Se #a>10
                Avanti 50
                Se #b>10
                  Suona 3
                Stop
              Stop
          Esegue il comando Avanti solo se il valore in #a è maggiore
          di 10, e il  comando  Suona  solo  se era vera  la prima e,
          inoltre, il valore in #b è maggiore a 10.
Note    : Il numero di Se presenti  deve essere uguale a quello degli
          Stop e i Se devono sempre precedere gli Stop, altrimenti si
          incorrerà in un errore prima che il programma inizi. Appare
          complicato?  Imparatelo  bene: è  ESSENZIALE  per una buona
          programmazione!!


Comando : STOP
Sintassi: Stop
Testo   : Questo comando  indica fin dove si estende la struttura Se.
          Tutti i comandi  compresi  tra  il Se  e  il relativo  Stop
          vengono  eseguiti  SOLO  se  è  vera  la condizone  del Se;
          altrimenti saranno  tutti saltati e il programma riprenderà
          dalla linea successiva allo Stop.
Note    : Il numero di Stop presenti deve essere  uguale a quello dei
          Se e gli Stop  devono  sempre seguire  i Se,  altrimenti si
          incorrerà in un errore,  prima che  il programma inizi, che
          ne impedirà l'esecuzione.


Comando : SE...ALLORA...
Sintassi: Se x<=>y Allora...
Testo   : E' identico  al  gruppo  Se-Stop,  ma  tutte  le istruzioni
          devono essere sulla stessa linea dopo Allora.
Note    : Non c'è nessuna differenza tra le due forme, ma la scelta è
          puramente estetica. Da parte mia posso consigliare di usare
          questa nel caso  che a seguire  i comandi siano uno solol o
          al massimo due; mentre l'altra è assai più comoda per liste
          piuttosto lunghe di comandi da effettuare.  La lettura (per
          l'utente e  non  per  il Logo) su una riga è  più  comoda e
          veloce: fate voi!!


Comando : ALTRIMENTI
Sintassi: Altrimenti
Testo   : Questo comando  deve essere sempre utilizzato in unione con
          una struttura Se - Stop e serve  per indicare  cosa bisogna
          fare nell'eventualità che la condizione che segue il Se sia
          falsa.  Il Logo,  qualora la condizione  sia vera,  salterà
          tutti i comandi compresi  tra  l' Altrimenti e  lo Stop; ma
          qualora invece, sia falsa, eseguirà solo i comandi compresi
          tra l' Altrimenti e lo Stop.  In entrambi i casi, raggiunto
          lo Stop, il programma proseguirà normalmente. Per esempio:
             Se
             ....          Eseguiti SOLO se condizione del Se è vera
             Altrimenti
             ....          Eseguiti SOLO se condizione del Se è falsa
             Stop


Note    : All'interno  di un gruppo Altrimenti - Stop  possono  anche
          essere presenti anche altre strutture Se - Stop con il loro
          relativo comando Altrimenti.  Per il comando Altrimenti non
          esiste una versione abbreviata per una solo linea.

Comando : ADDIO
Sintassi: Addio
Testo   : E' l'equivalente di Fine  dato dal modo diretto.  Quando il
          Logo  trova  questo  comando  all'interno  di un programma,
          interrompe  l'esecuzione  dello  stesso  e  termina,  senza
          chiedere alcuna ulteriore conferma.
Note    : Utile per uscire dopo un programma, ma attenzione a usarlo,
          più che con Fine!!


Comando : `
Sintassi: `
Testo   : Questo simbolo  serve per poter  inserire all'interno di un
          programma dei commenti esplicativi che non servono ad altro
          che a rendere  più  facile  la  lettura  del  programma:  i
          commenti  non vengono  presi neanche  in considerazione dal
          Logo.  Dopo questo segno, non possono essere presenti sulla
          stessa linea altri comandi o saranno scambiati per commenti
          e, quindi, non eseguiti.
Note    : Fate un buon uso dei vostri commenti: cambiare un programma
          non commentato dopo  molto tempo può  risultare anche molto
          difficile.





                            VARIABILI

1- INTRODUZIONE

Le variabili sono uno degli elementi principali della programmazione;
senza di esse,  si possono  realizzare  solo semplici  disegni sempre
uguali,  ma con  il loro utilizzo,  le possibilità  del Logo  vengono
moltiplicate!  Ogni  variabile  può  contenere  UN  SOLO  numero, sia
positivo che negativo, ma sempre intero.  Dunque, il Logo non ammette
valori  decimali:  quando  è presente  la  virgola,  il numero  viene
arrotondato  alla più vicina  unità.  Esistono  due  diversi  tipi di
variabili:  le variabili utente e quelle di sitema.  Entrambe possono
essere lette,  ma solo  quelle utente  possono essere scritte da voi,
mentre alle altre ci pensa il Logo stesso.


2- VARIABILI UTENTE

Come ho già detto, queste variabili sono leggibili e scrivibili: esse
sono a vostra  completa disposizione!  La variablili utente sono 26 e
si indicano  con il segno `#'  seguito da una lettera  dell'alfebeto.
Non importa se la lettera è maiuscola o minuscola:  vengono, infatti,
considerate in modo uguale.   Per esempio #a, #C, etc...
Per scrivere in una variabile utente è sufficiente porre dopo di essa
il segno di uguale e poi ancora, il valore che si intende assegnarle.
Per esempio:
#a=100         Inserisce il valore 100 nella variabile #a.
#a=100+10      Inserisce il valore 110 (100+10) nella variabile #a.
#a=#b          Copia il valore della variabile #b nella variabile #a.
#a=100-#b      Inserisce il valore 100-#b nella variabile #a.
#a=2+4*3       Inserisce il valore 18 nella variabile #a.

ATTENZIONE:  Come si vede da quest'ultimo esempio, il Logo non usa le
priorità nelle operazioni. Solitamente, infatti, le moltiplicazioni e
le divisioni hanno la precedenza sulle addizioni e sulle sottrazioni;
nel Logo, invece,  le operazioni vengono  svolte procedendo sempre da
sinistra verso destra. Non sono ammesse parentesi: il fatto, infatti,
che non esistano priorità determina la loro assoluta inutilità.
ATTENZIONE:  Quando viene  chiamata una procedura, tutte le variabili
utente vengono  poste uguali a zero, ma riassumono  il loro originale
valore non appena  si esce dalla procedura;  lo stesso accade per più
procedure una dentro l'altra..
ATTENZIONE: Nel Logo non esistono le operazioni di di radice quadrato
e di elevamento  a potenza,  né, tanto meno,  operatori più complessi
(trigonometrici, esponenziali o altro),  ma credo che  la mancanza di
questi non sia pesante per gli scopi che il Logo si prefigge.


3- VARIABILI DI SISTEMA

Le variabili  di sistema sono 16 e  hanno  la caratteristica di poter
soltanto essere lette, mentre i valori in esse vengono esclusivamente
scritti  dal Logo  stesso.  Sono indicate  dal segno  di dollaro  ($)
seguito dal nome della variabile. Esse sono:

$0 -> PROCEDURE:  Indica il valore passato a una procedura attraverso
      il parametro.  Ha valore  diverso da 0 solo  all'interno di una
      procedura  in cui si è entrati  passando un paramentro;  appena
      si esce dalla procedura, riassume il valore 0.
$1 -> CICLO 1: Contiene il contatore del ciclo più esterno, se esite.
      Il suo valore è sempre 0 fuori dal primo ciclo.
$2 -> CICLO 2:  Contiene il contatore del secondo ciclo, se esite. Il
      suo valore è sempre 0 fuori dal secondo ciclo.
$3 -> CICLO 3:  Contiene il contatore  del terzo ciclo, se esite.  Il
      suo valore è sempre 0 fuori dal terzo ciclo.
$4 -> ASCII: Contiene il valore di risposta del comando Aspettatasto.
      All'inizio il valore è 0,  ma, dopo la prima volta, conserva il
      valore in essa memorizzato fino al seguente utilizzo.
$5 -> CASUALE:  Contiene il valore  di risposta  del comando Casuale.
      All'inizio il valore è 0,  ma, dopo la prima volta, conserva il
      valore in essa memorizzato fino al seguente utilizzo.
$6 -> DISTANZA:  Contiene il valore di risposta del comando Distanza.
      All'inizio il valore è 0,  ma, dopo la prima volta, conserva il
      valore in essa memorizzato fino al seguente utilizzo.
$j -> JOYSTICK: Indica lo stato attuale del Joystick. Se questo non è
      presente  o non  viene  usato,  il suo valore è 0.  Altrimenti,
      contiene la somma dei valori dei movimenti attivati.
                       1
                     4 * 8    Fuoco=16
                       2
      Per esempio: 26 indica che il fuoco è premuto e che il Joystick
      è spinto in diagonale verso il basso e destra (16+2+8=26).
$m -> MOUSE:  Indica  lo stato  attuale  dei pulsanti  del mouse:  se
      contiene 0,  vuol dire  che nessuno  di questi  è  premuto;  se
      contiene 1,  vuol dire che  il tasto sinistro è premuto;  se 2,
      quello destro; se 3, sia il sinistro che il destro.
$x -> X:  Indica la distanza  della tartaruga  dal bordo sinistro del
      foglio.  Se in essa è contenuto  un numero negativo,  vuol dire
      che la tartaruga  è fuori  dal foglio.  Questa variabile  viene
      aggiornata dal Logo ogni volta che la tartaruga si muove.
$y -> Y:  Indica la distanza  della tartaruga  dal bordo  in alto del
      foglio.  Se in essa è contenuto  un numero negativo,  vuol dire
      che  la tartaruga  è fuori dal foglio.  Questa variabile  viene
      aggiornata dal Logo ogni volta che la tartaruga si muove.
$a -> ANGOLO:  Indica l'angolo  verso cui è rivolta la tartaruga.  Il
      numero in essa contenuto  è sempre compreso  tra 0 e 359 gradi.
      Questa variabile  viene aggiornata  dal Logo  ogni volta che la
      tartaruga si gira.
$p -> PENNA: Può valere 1 o 0: nel primo caso, vuol dire che la penna
      della tartaruga è abbassata; nel secondo, invece, che è alzata.
$t -> TRATTEGGIO:  Indica quale tratteggio  è attualmente utilizzato;
      il suo valore è sempre compreso tra 0 e 3;  se contiene 0, vuol
      dire che le linee sono continue.
$d -> DOMANDA:  Contiene il valore di risposta  del comando  Domanda.
      All'inizio il valore è 0,  ma, dopo la prima volta, conserva il
      valore in essa memorizzato fino al seguente utilizzo.
$c -> COLORE: Indica quale penna è attualmente utilizzata.

Per quanto riguarda  il loro utilizzo, solo nella fase di lettura, si
comportano esattamente come le variabili utente.
ATTENZIONE:  Le variabili di sistema mantengono il valore memorizzato
in esse anche quando si chiama una procedura.





                             PROCEDURE

1- INTRODUZIONE

Il Logo,  in linea  con i più  potenti  linguaggi  degli ultimi anni,
permette  di scomporre i programmi in tanti piccoli sub-programmi, le
procedure, parti di codice brevi e di facile lettura, così da evitare
la creazione  di lunghi files  poco  comprensibili.  In tal modo,  si
possono creare  addirittura nuovi comandi definiti dall'utente stesso
ed espandere il Logo con nuove istruzioni personalizzate, partendo da
quelle standard. Possiamo per esempio definire un comando `Triangolo'
con il compito di disegnare un triangolo:  tutte le volte che dovremo
tracciarne uno, non sarà,  dunque, necessario fare tutte le linee, ma
solo chiamare questo nuovo comando! Facile, vero?
Le procedure  sono, a tutti  gli effetti,  dei programmi  per Logo e,
pertanto, devono rispettare tutte le regole di quest'ultimi: però, le
variabili in esse contenute sono indipendenti  e hanno valori diversi
da quelle del programma principale, e, inoltre, in esse possono anche
essere  presenti  label con  lo stesso  nome  di altre  del programma
principale.
Le procedure  vengono  salvate dal Logo su disco,  andando a formare,
così,  un archivio richiamabile  in qualunque momento.  Una volta che
una procedura  è stata definita,  questa non viene persa se si spenge
il computer!  Ma attenzione:  quando date a qualcuno un programma per
Logo, accertatevi di dargli anche le procedure necessarie.
Se una procedura  contiene  un errore  che ne impedisce  l'esecuzione
(vedi appendice B),  essa  non viene  eseguita,  ma nessun  messaggio
appare sullo schermo e il programma principale non si arresta.
E' anche possibile  chiamare una procedura  dall'interno  di un'altra
procedura, proprio come le bambole russe.
Le variabili utente alla chiamata di una procedura sono tutte settate
a zero per poter però, riassumere il loro originale valore all'uscita
della procedura stessa.  In tal modo si possono  utilizzare le stesse
variabili,  senza il  rischio  di confusione  tra la procedura  ed il
programma principale  o un'altra procedura.  Questa tecnica è propria
di tutti i linguaggi più evoluti di oggi  ed è detta "delle variabili
locali".
Ma analizziamo più dettagliatamente il loro funzionamento.


2- SCRITTURA, MODIFICA e CANCELLAZIONE

Le procedure possono essere scritte solo dal modo diretto.  Per poter
scrivere  una procedura,  inviare il segno  di punto esclamativo  (!)
seguito  dal nome  della procedura.  Per esempio, il comando  `!ciao'
permette di scrivere la procedura di nome `ciao'. Se la procedura già
esiste,  essa viene caricata per poter essere modificata,  altrimenti
viene  creata  nuova.  Sulla  finestra dati,  appare  l'editor per le
procedure;  usarlo è  molto semplice,  ma bisogna  ricordare  qualche
particolarità.  Innanzi  tutto,  sappiate che  una procedura  può, al
massimo,  essere  lunga  50 righe:  non  vi preoccupate,  sono sempre
sufficienti!  Premendo il tasto `Del', si cancella la riga che si sta
scrivendo;  premendo il tasto `Del'  in unione  con il tasto `Shift',
invece,  si cancella  tutta  la procedura;  per  uscire  dall'editor,
premere il tasto `Esc'. A questo punto il Logo provvede a memorizzare
la procedura scritta;  se essa è vuota, invece, viene  cancellata dal
disco.


3- LISTA
Per vedere quali procedure  sono disponibili, inviare,  solo dal modo
diretto, il simbolo di punto esclamativo  (!)  senza nulla dopo.  Uno
schermo viene aperto  con la lista  di tutte le procedure presenti su
disco. Premere un tasto qualunque per tornare al modo diretto.


4- ESECUZIONE
Per eseguire una procedura si deve digitare il suo nome preceduto dal
segno di asterisco (*).  In realtà, si può anche inserire il suo nome
semplicemente,  purché, però,  questo non possa  venir confuso con un
comando del Logo.  Per esempio,  la procedura di nome  `esempio', può
essere eseguita sia inviando `*esempio', sia solo `esempio'. Però, la
procedura  di nome `prova',  deve  obbligatoriamente  essere eseguita
inviando `*prova',  altrimenti verrà scritto sulla linea testo `ova',
essendo il comando scambiato con PR.
Un uso  particolare  può essere  fatto facendo  seguire al nome della
procedura un altro simbolo di asterisco (*) e poi, ancora, un numero.
Infatti, le procedure  usano  valori  delle variabili  indipendenti e
diversi  dal  programma  principale e,  se questo  è senza dubbio  un
merito,  potrebbe rivelarsi un problema  per trasmettere informazioni
alla procedura. In questo modo invece, il valore, chiamato parametro,
che segue l'asterisco  viene trasferito  nella procedura  ed inserito
nella variabile di sistema $0. Per esempio il comando `*triangolo*10'
o `traingolo*10'  esegue  la procedura  `triangolo' e permette di far
sapere a questa, per esempio,la lunghezza che deve avere il lato.





                      APPENDICE A: Codici Ascii

In questo appendice  ho inserito una ridotta tavola dei codici Ascii,
comodi  in unione con  il  comando  Aspettatasto  per sapere quale e'
stato premuto. In realta', dalla tavola completa, ho eliminato alcune
parti  che  non  sono utilizzabili  con il Logo,  lasciando,  invece,
quelle per voi adatte.
ATTENZIONE:  Non tutti i tasti  hanno un codice Ascii. I tasti F, gli
Shift,  gli Alt, il Control,  i Commodore, il Del e l'Help mancano di
un proprio codice: essi ritornano, dunque, come valore 0.
I numeri  del tastierino  numerico  (escluso  l'Amiga 600  che  ne e'
privo) hanno gli stessi codici Ascii di quelli sopra alle lettere.


Code Char     Code Char     Code Char     Code Char     Code Char
-----------   -----------   -----------   -----------   -----------
  8  Indietro   9  Tab       13  Return    27  Esc       28  Destra
 29  Sinistra  30  Alto      31  Basso     32  Spazio    33   !
 34   "        35   #        36   $        37   %        38   &
 39   '        40   (        41   )        42   *        43   +
 44   ,        45   -        46   .        47   /        48   0
 49   1        50   2        51   3        52   4        53   5
 54   6        55   7        56   8        57   9        58   :
 59   ;        60   <        61   =        62   >        63   ?
 64   @        65   A        66   B        67   C        68   D
 69   E        70   F        71   G        72   H        73   I
 74   J        75   K        76   L        77   M        78   N
 79   O        80   P        81   Q        82   R        83   S
 84   T        85   U        86   V        87   W        88   X
 89   Y        90   Z        91   [        92   \        93   ]
 94   ^        95   _        96   `        97   a        98   b
 99   c       100   d       101   e       102   f       103   g
104   h       105   i       106   j       107   k       108   l
109   m       110   n       111   o       112   p       113   q
114   r       115   s       116   t       117   u       118   v
119   w       120   x       121   y       122   z       123   {
124   |       125   }       126   ~


* Il codice 8  (Indietro)  si  riferisce  al tasto che si trova sopra
  quello di Return,  usato per cancellare il carattere immediatamente
  a sinistra.
* Il codice 9  (Tab) si riferisce al tasto  che si trova sopra quello
  Control, usato per inserire un numero di spazi prefissato.
* Il codice 13 (Return) si riferisce al tasto di Invio.
* Il codice 27 (Esc) si riferisce  al tasto in alto a sinistra con la
  scritta Esc.
* I codici 28 (Destra),  29 (Sinistra),  30 (Alto)  e  31 (Basso)  si
  riferiscono  alle  quattro  frecce  di  direzione  a  destra  della
  tastiera.
* Il codice 32 (Spazio) si riferisce alla barra spaziatrice.





                        APPENDICE B: Errori

Il Logo cerca di evitare i  messaggi di errore quanto  più possibile,
corregendo, dove può, i comandi  errati o non eseguendoli affatto. In
questo modo, si evitano noiose segnalazioni e si rende più divertente
la programmazione.
Inserendo i comandi dal modo diretto NESSUN errore si può verificare:
tutto viene controllato, corretto o, al limite, saltato. Così se, per
esempio, in un comando  che prevede due numeri  ne viene inserito uno
solo,   il Logo provvede  automaticamente  ad  aggiungere il  secondo
(Muovi 30  diventa  Muovi 30,0).   Alcuni errori,  invece, si possono
verificare  all'inizio  dei programmi,  subito  dopo  il caricamento;
infatti, il Logo, appena letto il programma, provvede a controllarlo,
provando  a correggere ciò che può  e segnalando gli altri errori. E'
bene dire che uno qualsiasi  di questi messaggi  impedisce totalmente
al Logo l'esecuzione del programma che neanche inizia.

Si possono verificare 7 diversi errori:

1- Errore ne comando J(ump)
   J(ump) a una label inesistente

   Si verifiva  quando  è  presente  un comando J, ma non la relativa
   label. Nulla invece accade se  è presente una label e nessun J che
   salta ad essa.

2- Sono presenti die label di nome uguale

   Si verifica  se due label hanno lo stesso nome: ciò non è permesso
   perché il Logo non saprebbe a quale saltare.

3- Errore nei cicli Ciclo-Chiudi
   Numero di Ciclo diverso dal numero di Chiudi

   Ogni comando  Ciclo  deve  avere  un relativo  comando  Chiudi: si
   verifica,  dunque,  se ciò non accade  e il numero  di Ciclo non è
   uguale a quello dei Chiudi.  Si può anche verificare se il comando
   Chiudi precede il relativo Ciclo.

4- Errore nelle strutture Se-Stop
   Numero di Se diverso dal numero di Stop

   Ogni comando  Se deve avere un relativo Stop: si verifica, dunque,
   se ciò  non accade e il numero di Se  non è uguale  a quello degli
   Stop. Le istruzioni Se...Allora  non influiscono su questo errore.
   Si può anche verificare se il comando Stop precede il relativo Se.

5- Errore nel nome delle label
   Nome non valido

   Ci sono alcuni nome di label non validi e che, dunque, non possono
   essere usati. Essi sono: `:+1', `:@**END**' e `:->xxxx', dove xxxx
   è una parola qualunque.  Non credo userete mai nomi del genere per
   le label, ma, in ogni caso, siete avvisati.

6- Errore nella chiamata di una procedura
   Procedura  inesistente

   Si verifica  se viene  chiamata una  procedura che non  esiste sul
   disco.  Controllate  meglio il  nome  e accertatevi  di non averla
   cancellata.

7- Errore nella strutture Se - Altrimenti -Stop
   Altrimenti in posizione sbagliata

   Il comando Altrimenti, se presente,  deve sempre essere interposto
   tra il Se e lo Stop a cui  si riferisce; esso non può né precedere
   il Se,  né seguire lo  Stop.  Il Logo  capisce  automaticamenete a
   quale struttura Se - Stop un Altrimenti si riferisce.





                   APPENDICE C: SettaPreferenze

Oltre ai programmi principali (le due versioni del Logo ovviamente!),
ne è presente anche un altro, chiamato SettaPreferenze:  come dice il
suo  stesso nome,  serve per ottimizzare  l'uso del Logo  e adattarlo
alle esigenze di ognuno.
Usando questo programma, vengono salvati su disco i parametri settati
in modo, poi,  da poter essere usati dal Logo  tutte le volte, finché
non vengono cambiati, sempre attraverso questo stesso programma.
Gli inconvenienti delle versioni precedenti sono stati tutti risolti:
ora questo programma funziona correttamente su ogni computer Amiga.
SettaPreferenze  si presenta  su uno schermo  con due file di gadget,
alcuni a bottone, altri adattati per ricevere numeri o parole.
Analizziamoli in ordine,  partendo dalla colonna  di sinistra per poi
passare a quella destra, sempre procedendo dall'alto in basso.

Gadget: ICONE
Tipo  : A bottone
Testo : Serve  per determinare  se  i programmi  creati  con  il Logo
        devono o meno avere  una propria icona.  Nel caso che l'icona
        sia presente, sarà possibile eseguire il programma anche solo
        facendo un doppio-click su di essa dal Workbench.
Note  : Il valore di default è disattivato.

Gadget: TARTARUGA LIMITATA SULLO SCHERMO
Tipo  : A bottone
Testo : Serve per determinare  se all'inizio la tartaruga deve o meno
        essere limitata sul folgio. Ovviamente, questo valore può poi
        essere cambiato attraverso il comando Limita.
Note  : Il valore di default è attivato.

Gadget: TARTARUGA VISUALIZZATA
Tipo  : A bottone
Testo : Serve per determinare  se all'inizio la tartaruga deve o meno
        essere visibile sul foglio. Ovviamente, questo valore può poi
        essere  cambiato  attraverso  i comandi  Nasconditartaruga  e
        Mostratartaruga.
Note  : Il valore di default è attivato.

Gadget: MOUSE VISUALIZZATO
Tipo  : A bottone
Testo : Serve  per determinare  se all'inizio  il puntatore del mouse
        deve o meno essere visibile sullo schermo. Ovviamente, questo
        valore può, poi, essere cambiato con i comandi  Mostramouse e
        Nascondimouse.
Note  : Il valore di default è disattivato.

Gadget: POSSIBILITA' DI PARLARE
Tipo  : A bottone
Testo : Serve per determinare  se il Logo  può o meno essere in grado
        di parlare.  Se questa funzione è attivata, ma non è presente
        il  narrator.device, il Logo non sarà,  comunque, in grado di
        parlare. Ho inserito questa possibilità poiché la capacità di
        parlare richiede  un tempo  di caricamento del Logo maggiore:
        può, dunque,  tornare utile agli utenti che non dispongono di
        un hard-disk disattivare questa funzione.
Note  : Il valore di default è attivato.

Gadget: ANGOLO INIZIALE
Tipo  : Numero
Testo : Serve per determinare  l'angolo verso cui la tartaruga è all'
        inizio rivolta.
Note  : Il valore di default è 0 (ovvero la tartaruga è rivolta verso
        l'alto).

Gadget: X COORD INIZIALE
Tipo  : Numero
Testo : Serve  per determinare  la distanza iniziale  della tartaruga
        dal bordo sinistro del foglio.
Note  : Il valore  di default è  160  (questo punto è al centro dello
        schermo).

Gadget: Y COORD INIZIALE
Tipo  : Numero
Testo : Serve  per determinare  la distanza iniziale  della tartaruga
        dal bordo alto del foglio.
Note  : Il valore  di default è  100  (questo punto è al centro dello
        schermo).

Gadget: COLORE
Tipo  : Numero
Testo : Serve  per determinare  quale penna  all'inizio  la tartaruga
        deve impugnare.
Note  : Il valore di default è 2 (ovvero il colore bianco).

Gadget: EDITOR DA USARE
Tipo  : Stringa
Testo : Serve per scegliere l'editor da usare per scrivere programmi.
        Il Logo non ha (per mia scelta)  un suo proprio editor e così
        ciascuno può scegliere quello che preferisce. Se l'editor che
        voi scegliete non viene trovato sarà usato quello di default.
Note  : Il valore di default è  `c:ed' (questo è l'editor fornito con
        il Workbench e tutti lo dovreste avere).

Gadget: OPTIONI
Tipo  : Stringa
Testo : Alcuni editor richiedono, per funzionare correttamente, delle
        particolari opzioni e  queste possono  essere selezionate con
        questo  gadget.  Consultate bene  il manuale  dell'editor che
        volete utilizzare per trovare se ce ne sono e, eventualmente,
        quali  sono.  Per esempio: l' Ed  del Workbench  non richiede
        nessuna opzione,  mentre il Ced  vuole la stringa  `-keepio';
        altri necessitano la scritta `-sticky'.
Note  : Il valore di default è vuoto (ovvero senza opzioni).

Gadget: QUIT
Tipo  : A bottone
Testo : Serve per  uscire dal programma.  Un requester di conferma vi
        chiederà se siete veramente sicuri.
Note  : ATTENZIONE:  Se uscite  senza aver salvato  la configurazione
        fatta, perderete tutto il lavoro.

Gadget: INFO...
Tipo  : A bottone
Testo : Visualizza delle informazioni sul programma:  molto semplici,
        ma simpatiche.  Dopo aver premuto questo gadget, un requester
        con due bottoni mostrerà le informazioni;  premendo su quello
        con scritto  `Continua'  vengono mostrate altre informazioni;
        con `Stop' si ritorna al programma vero e proprio.
Note  :

Gadget: SALVA
Tipo  : A bottone
Testo : Salva le opzioni  attuali su disco,  pronte per  essere usate
        dal Logo.
Note  : ATTENZIONE:  Tutti i valori  precedentemente  salvati vengono
        cancellati per far posto ai nuovi.

Gadget: DEFAULT
Tipo  : A bottone
Testo : Ripristina  tutti  i gadget  al  loro valore  di default;  la
        configurazione  che  viene  determinata  non è quella  da voi
        salvata in precedenza, ma quella da me ritenuta ottimale.
Note  :

Gadget: DEFAULT
Tipo  : Apre finestra
Testo : Apre una finestra  con dieci gadget a stringa e altrettanti a
        bottone, più uno per uscire.  I primi servono per determinare
        i valori da attribuire  ai dieci tasti F  (quelli grigi sopra
        la tastiera propriamente detta) in modo da abbreviare i tempi
        di scrittura  dei comandi,  sia nel  modo diretto,  sia delle
        procedure.   Attenzione:  i tasti F  non hanno  nessun valore
        quando si scrive un programma con un editor esterno, ma a tal
        proposito, consultare  la documentazione dell'editor usato. I
        gadget a bottone, invece, servono per determinare se, dopo il
        comando  indicato nella stringa,  deve automaticamente essere
        "premuto"  il tasto  Return.  E' consigliato  attivare questo
        gadget solo  per i comandi  che non richiedono dopo parametri
        (Carica, Fine, Scrivi, Workbench, etc..). Premendo il bottone
        di uscita si torna alla schermata principale del programma.
Note  : I valori di default sono:
                F1 : Avanti
                F2 : Indietro
                F3 : Destra
                F4 : Sinistra
                F5 : Angolo
                F6 : Muovi
                F7 : Linea
                F8 : Fine    *
                F9 : Undo    *
                F10: Carica  *
        *) Indica che il relativo gadget di Return è attivato.

Gadget: PROCEDURE
Tipo  : Gruppo di bottoni
Testo : Sotto questa scritta sono presenti due piccoli bottoni di cui
        uno solo è sempre attivo.  Non si possono  accendere entrambi
        allo stesso tempo:  se si preme  il tasto  sinistro del mouse
        quando il puntatore  è su quello  spento,  questo si attiverà
        causando la disattivazione dell'altro. Al bottone più in alto
        corrisponde la scritta  `Disco'; all' altro  `Memoria'.  Se è
        attivo quest'ultimo,  il Logo,  quando viene  caricato, copia
        tutte le procedure  dal disco alla memoria,  così che la loro
        lettura è più veloce; all'uscita, poi, dal Logo, le procedure
        vengono cancellate in modo da non occupare la Ram dell'Amiga;
        le eventuali procedure scritte vengono salvate sia in memoria
        che su disco.  Nell'altro caso, invece, il Logo accederà alle
        procedure  direttamente dal disco  dove sono memorizzate.  Se
        avete un hard-disk,  consiglio di usare l'opzione `Disco', ma
        se caricate il Logo da un disk-drive conviene allora attivare
        l'opzione `Memoria'  che permette  di risparmiare molto tempo
        nell'esecuzione  delle procedure, rendendo,  così, più veloce
        tutto il programma.
Note  : Il valore  di default  è Disco.  L'suo delle procedure  resta
        in entrambi i casi uguale e INALTERATO.





                      APPENDICE D: Archivio

Il presente archivio del Logo v1.3 è costituito dai seguenti files:

Logo                     (dir)
  - Logo1.3              (Logo per sistema operativo 1.3 o inferiore)
  - Logo1.3.info         (Icona del Logo1.3)
  - Logo2.0+             (Logo per sistema operativo 2.0 o superiore)
  - Logo2.0+.info        (Icona per Logo2.0+)
  - SettaPreferenze      (Programma per settaggio delle preferenze)
  - SettaPreferenze.info (Icona per SettaPreferenze)
  - docs                 (dir)
     - Logo_history.txt      (Testo contenente l'evoluzione del Logo)
     - Logo_history.txt.info (Icona del Logo_history.txt)
     - Manuale_Logo.txt      (Testo contenente il manuale del Logo)
     - Manuale_Logo.txt.info (Icona del Manuale_Logo.txt)
  - docs.info            (Icona del cassetto docs)
  - Logo-work            (dir)
     - cerchi_casuali.LOGO        (esempio)
     - colour_box.LOGO            (esempio)
     - concentrici.LOGO           (esempio)
     - Infinite_lines.LOGO        (esempio)
     - Joystick.LOGO              (esempio)
     - opposti.LOGO               (esempio)
     - quadrato.proc              (procedura)
     - spiral.LOGO                (esempio)
     - Stars.LOGO                 (esempio)
     - triangoli.LOGO             (esempio)
     - tri_cerchi.LOGO            (esempio)
  - Logo-work.info       (Icona del cassetto Logo-work)
Logo.info                (Icona del cassetto Logo)

Esso non può, in nessun modo, essere distribuito  in modo  parziale o
alterato senza il consenso dell'autore.

