Logo (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
m corretto errore di battitura
 
(38 versioni intermedie di 24 utenti non mostrate)
Riga 1:
{{tmp|linguaggioLinguaggio di programmazione}}
|nome = Logo
[[File:Remi_turtlegrafik.png|upright=1.4|thumb|Logo turtle graphic]]
|immagine =FarfalladiIvanaNiccolai.jpg
'''Logo''' è un [[linguaggio di programmazione]] fortemente orientato alla grafica e alla geometria di base.
|didascalia = Creatività in attività ludiche basate sull'uso del Logo
|autore = [[Wally Feurzeig]], [[Seymour Papert]] e [[Cynthia Solomon]]
|data = 1967
|versione =
|utilizzo =
|paradigmi =
|tipizzazione =
|specifiche =
|estensione =
|influenzato_da =
|ha_influenzato =
|implementazione_riferimento =
|sistema_operativo =
|lingua =
|licenza =
|sito_web =
}}
 
[[File:Remi_turtlegrafik.png|thumb|[[Simmetria centrale]] facilmente ottenibile con la geometria della tartaruga con istruzioni tipo:<br>repeat 36[repeat 90 [fd 6 rt 4] rt 10] dove il primo REPEAT ripete 36 volte nell'angolo giro la circonferenza disegnata con il secondo annidato ]]
Tramite il comando ''mostarta'' (''showturtle'') è possibile visualizzare sullo schermo un [[cursore]] triangolare chiamato ''tartaruga''. Questo cursore può essere spostato con i comandi ''avanti'' e ''indietro'' (''forward'' e ''back'') seguiti dal numero di "passi" che deve compiere e può essere ruotato con ''destra'' e ''sinistra'' (''right'' e ''left'') seguiti dall'angolo di rotazione espresso in gradi.
 
'''Logo''', o '''LOGO''', è un [[linguaggio di programmazione]] a scopo [[didattico]], il primo pensato eminentemente per scopi educativi e orientato all'infanzia. Venne progettato nel 1967 da [[Wally Feurzeig]], [[Seymour Papert]] e [[Cynthia Solomon]] alla [[Bolt Beranek and Newman]], un'azienda americana di [[Cambridge (Massachusetts)|Cambridge]], e vide la prima implementazione della sua caratteristica interfaccia grafica, la tartaruga, nel 1969. Il progetto trova origine negli studi di Papert con [[Jean Piaget]] e nella successiva fondazione, con [[Marvin Minsky]], del laboratorio di [[intelligenza artificiale]] del [[Massachusetts Institute of Technology|MIT]]. Il suo fondamento filosofico è [[Costruttivismo (filosofia)|costruttivista]].
Con ''giulapenna'' e ''sulapenna'' (''penup'', ''pendown'') è possibile ordinare alla tartaruga di tracciare una linea lungo il proprio cammino o di non farlo.
 
Logo è un dialetto [[Lisp]] multi-[[Paradigma di programmazione|paradigma]].<ref name="cslsPreface">CSLS Vol 1, Preface .pxvi, Harvey 1997</ref> Non ha uno standard vero e proprio e alcune implementazioni ne estendono ampiamente i costrutti fino a renderlo equivalente a un linguaggio di programmazione generico. Di solito viene [[Interprete (informatica)|interpretato]] ma negli anni sono stati sviluppati anche [[compilatori]] per alcuni [[Dialetto (informatica)|dialetti]], come Lhogho e Liogo.
Logo include anche molti comandi per la gestione di [[input]]/[[output]] testuale e per l'elaborazione di dati (operatori di confronto, variabili, cicli, selezioni condizionali), ma questa sua parte è meno nota.
 
Il nome deriva dal [[lingua greca|greco]] λόγος, logos, nel significato di "parola" o "pensiero". Fu scelto da Feurzeig per evidenziare che a differenza dei linguaggi di programmazione suoi contemporanei era maggiormente orientato alla grafica e alla logica.<ref name="goldenberg198208">{{cita pubblicazione|autore=Paul E. Goldenberg|data=agosto 1982|titolo=Logo - A Cultural Glossary|rivista=BYTE|accesso=29 gennaio 2018|url=https://archive.org/stream/byte-magazine-1982-08/1982_08_BYTE_07-08_Logo#page/n209/mode/2up}}</ref>
== Aspetti didattici della geometria della tartaruga ==
La geometria della tartaruga si differenzia dal modo tradizionale di disegnare al computer perché descrive i percorsi "dall'interno" piuttosto che "dall'esterno" o "dall'alto". Ad esempio dicendo "gira a destra" non si esprime una direzione assoluta, ma una direzione relativa all'orientamento corrente della tartaruga, dicendo "vai avanti di 10 passi" ci si riferisce alla posizione e alla direzione correnti. Questo approccio ha molti vantaggi, ad esempio disegnare un [[Quadrato (geometria)|quadrato]] inclinato è facile come disegnare un quadrato con i lati orizzontali e verticali: la sequenza delle istruzioni sarà la stessa, cambierà solo la posizione iniziale della tartaruga. Un altro vantaggio è di carattere [[pedagogia|pedagogico]]: questo modo di disegnare, infatti, è consono all'esperienza del ragazzo, poiché è analogo al modo di muoversi nello spazio.
 
Il LOGO è stato utilizzato con vantaggio nelle scuole elementari e medie inferiori perché permette anche a un principiante di ottenere subito risultati visibili. Dal punto di vista didattico, il LOGO insegnava un metodo di programmazione più strutturato rispetto al più famoso [[BASIC]] in cui anche i programmi più banali costringono ad un uso massiccio del costrutto [[GOTO]].
 
Il LOGO incoraggia la programmazione modulare con uso intensivo di [[Funzione (informatica)|procedure]] e offre molta estensibilità per gli utenti più esperti. Al programmatore principiante vengono proposte in modo naturale le basi della [[programmazione per contratto]]. Ad esempio in un manuale di LOGO per la scuola media si legge: "È bene abituarsi a scrivere i programmi in modo tale che alla fine la tartaruga risulti rivolta verso l'alto".
 
== Storia ==
Venne creato nel 1967 presso i laboratori della Bolt, Beranek e Newman (BBN), una società di ricerca di Cambridge, nel Massachusetts, da Wally Feurzeig, [[Cynthia Solomon]] e [[Seymour Papert]].<ref>{{Cita web |url=http://el.media.mit.edu/logo-foundation/index.html |titolo=Logo Foundation |accesso=8 maggio 2018 |urlarchivio=https://web.archive.org/web/20110721122057/http://el.media.mit.edu/logo-foundation/index.html |dataarchivio=21 luglio 2011 |urlmorto=sì }}</ref> Le sue radici intellettuali sono nell'intelligenza artificiale, nella logica matematica e nella psicologia dello sviluppo. I primi quattro anni di attività di ricerca, sviluppo e insegnamento del linguaggio vennero effettuati presso la BBN. La prima implementazione, chiamata Ghost, venne scritta in [[Lisp]] su un [[PDP-1]]. L'obiettivo era creare un ambiente in cui i bambini potessero giocare con parole e frasi.<ref>{{Cita web |url=https://logothings.wikispaces.com/ |titolo=Cynthia Solomon |accesso=8 maggio 2018 |dataarchivio=7 dicembre 2011 |urlarchivio=https://web.archive.org/web/20111207111525/http://logothings.wikispaces.com/ |urlmorto=sì }}</ref> Modellato su LISP, tramite l'uso di tartarughe virtuali ha permesso un immediato riscontro visivo e il [[debug]] della programmazione grafica. La prima implementazione di questa caratteristica interfaccia grafica avvenne nel 1969 e non è cambiato molto da allora nei concetti di base. La prima tartaruga era un vagabondo a pavimento, non radiocomandato o wireless. Alla BBN, Paul Wexelblat sviluppò una tartaruga di nome Irving che aveva sensori tattili e poteva muoversi avanti, indietro, ruotare e suonare la campana. I primi utenti del linguaggio furono gli alunni della Muzzey Jr High, Lexington, Massachusetts, nel 1968-69. Le tartarughe virtuali e quelle fisiche furono usate per la prima volta dalla quinta elementare alla Bridge School di Lexington negli anni 1970-71.
Il linguaggio LOGO fu ideato e realizzato negli anni '60 dal professor [[Seymour Papert]] del [[Massachusetts Institute of Technology|MIT]]. Ereditava le tecniche di calcolo simbolico del [[Lisp]], dal quale riprende parte della sintassi ed il modo di gestire le [[lista (informatica)|liste]].
 
In origine il LOGO fu utilizzato per muovere un semplice [[robot]], al quale si potevano dare comandi del tipo FORWARD 50 per andare avanti di 50 passi o RIGHT 90 per girare a destra di 90 gradi. Il primo di questi robot aveva una corazza simile a quella di una tartaruga, da cui il nome del cursore (che nelle prime versioni su schermo era semplicemente un piccolo triangolo). Con lo sviluppo dei monitor il linguaggio LOGO divenne più accessibile e negli [[anni 1980|anni ottanta]] ne vennero realizzate versioni per [[personal computer]], ad esempio l'[[Apple II]], il [[Commodore 64]], l'[[Standard MSX|MSX]] e lo [[ZX Spectrum]], utilizzate a scopi didattici, spesso per il laboratorio di geometria.
 
Negli anni '80ottanta fu realizzata anche una versione del LOGO con i comandi in italiano. Una delle caratteristiche del LOGO è che ogni comando ha una forma lunga e una abbreviata.
 
== NozioniImpieghi di basepedagogici ==
La [[Grafica della tartaruga|geometria della tartaruga]] si differenzia dal modo tradizionale di disegnare al computer perché descrive i percorsi "dall'interno" piuttosto che "dall'esterno" o "dall'alto". Ad esempio, dicendo "gira a destra", non si esprime una direzione assoluta, ma una direzione relativa all'orientamento corrente della tartaruga, dicendo "vai avanti di 10dieci passi", ci si riferisce alla posizione e alla direzione correnti. Questo approccio ha molti vantaggi, ad esempio: disegnare un [[Quadrato (geometria)|quadrato]] inclinato - ad esempio - è facile come disegnare un quadrato connon iinclinato latiin orizzontali e verticali:quanto la sequenza delle istruzioni sarà la stessa, cambierà solo la posizione iniziale della tartaruga.; Unun altro vantaggio è di carattere [[pedagogia|pedagogico]]: in quanto questo modo di disegnare, infatti, è consono all'esperienza del ragazzo, poiché è analogo al modo di muoversi nello spazio e permette quindi l'identificazione con la tartaruga. Attraverso questo processo, utilizzando la personale esperienza motoria è possibile quindi istruire la tartaruga insegnandole nuovi vocaboli che la renderanno sempre più adatta a realizzare gli scopi che ci si prefigge.
La tartaruga che appare sullo schermo sembra un piccolo triangolo. La testa mostra in quale direzione si muoverà il cursore. Quando la tartaruga si muove disegna una linea.
 
È possibile dare comandi alla tartaruga per andare avanti, indietro, girare a destra o a sinistra.
Il LOGO è stato utilizzato con vantaggio nelle scuole elementari e medie inferiori anche perché permette anche a un principiante di ottenere subito risultati visibili. Dal punto di vista didattico, il LOGO insegnava un metodo di programmazione più strutturato rispetto al più famoso [[BASIC]] in cui anche i programmi più banali costringono ada un uso massiccio del costrutto [[GOTO]]. Inoltre incoraggia la programmazione modulare con uso intensivo di [[Funzione (informatica)|procedure]] e offre molta estensibilità per gli utenti più esperti.
 
== Comandi ==
La tartaruga che appare sullo schermo sembra un piccolo triangolo. La testa mostra in quale direzione si muoverà il cursore. Quando la tartaruga si muove disegna una linea. È possibile dare comandi alla tartaruga per andare avanti, indietro, girare a destra o a sinistra.
La successione di più comandi determinerà la creazione di figure geometriche.
[[File:Forward.gif|thumb|upright=1|animazione per mostrare il funzionamento della procedura primitiva FORWARD<ref>{{cita web|titolo=Piccolo vocabolario animato. Primitive scelte della geometria della tartaruga dell'MSWLogo|url=http://www.maecla.it/tartapelago/vocanimato/index.htm|anno=2005|accesso= 15 maggio 2021}} </ref>]]
 
== I comandi di logo ==
{| class="wikitable"
|-
! ATTIVITA'ATTIVITÀ !! COMANDO !! ABBREVIAZIONE
|-
| Andare avanti || FORWARD 50|| FD 50
|-
| Andare indietro || BACK 60|| BK 60
|-
| Ruotare a destra || RIGHT 70|| RT 70
|-
| Ruotare a sinistra || LEFT 90|| LT 90
|-
| Cancella il disegno || CLEARSCREEN || CS
|-
| Torna al punto iniziale || HOME || HT
|-
| Penna su || PENUP || PU
Riga 49 ⟶ 64:
| Penna giù || PENDOWN || PD
|-
| Colore penna || SETPCSETPENCOLOR [255 0 0]|| SETPC 4
|-
| Colore riempimento ROSSO || SETFCSETFILLCOLOR RED[0 FILL255 0]||SETFC 2
|-
| Colore schermo || SETSCSETSCREENCOLOR [0 0 255]||SETSC 1
|-
| Dimensione penna || SETPENSIZE [502 502] ||
|}
 
== ProgrammaEsempi di esempioprogrammi ==
=== [[Hello world|Hello, world!]] ===
Il seguente esempio stampa il testo "[[Hello world]]".
 
Riga 85 ⟶ 100:
REPEAT 3 [LEFT 120 FORWARD 50] oppure
REPEAT 3 [LT 120 FD 50] (sintassi abbreviata)
[[File:Animation̞trianglerectangle.gif|thumb|upright=2|animazione per mostrare la procedura per il generico triangolo rettangolo di dati cateti (MSWLogo)]]
 
'''- [[Triangolo rettangolo]]''' con 80,cateti 150a epiacere 130 [[pixel]] di lato
(versione LOGO in inglese)
FORWARDmake "cateto1 80
make "cateto2 130
RIGHT 120
make "ipotenusa sqrt :cateto1*:cateto1+:cateto2*:cateto2
FORWARD 150
make "angolo1 arctan :cateto1/:cateto2
RIGHT 150
make "angolo2 90-:angolo1
FORWARD 130 oppure
FORWARD 150:cateto2
RIGHT 120180-:angolo1
FORWARD 130 oppure:ipotenusa
RIGHT 150180-:angolo2
FORWARD :cateto1
right 180-90
 
FD 80:cateto2
RT 120180-:angolo1
FD 150:ipotenusa
RT 150180-:angolo2
FD 130:cateto1
rt 180-90 (sintassi abbreviata)
 
== Proposte didattiche ==
=== Proposta di Saymour Papert ===
La proposta didattica di [[Seymour Papert]] è illustrata nel Mindstorms<ref>{{cita|Papert|capitolo 3,La geometria della tartaruga una matematica fatta per apprendere}} </ref>. Questa pone l'accento non sull'insegnamento ma sull'apprendimento. L'idea non è di trasferire efficientemente informazioni ma di proporre attività che favoriscano esplorazione e collaborazione attraverso forme naturali di apprendimento tipiche del bambino in età prescolare. Il Logo è stato progettato a questo scopo. Il bambino diventa insegnante dell'automa tartaruga. Per insegnare deve ricorrere alle sue conoscenze sensomotorie che permettono a lui, come a tanti altri esseri viventi, di muoversi nello spazio. Il Logo può diventare un ponte tra il diffuso sapere matematico intuitivo di tipo sensomotorio e un sapere logico formale tipico dei linguaggi di programmazione. Gli ipotetici bambini descritti nel libro di Papert decidono di costruire un fiore e ci arrivano attraverso tentativi ed errori che li rendono protagonisti dei loro processi di apprendimento. In rete è disponibile una riduzione didattica animata di questo famoso dialogo illustrata operativamente in MSWLogo.
<ref>{{cita web|autore=Giorgio Pietrocola|titolo=Piccoli costruttori, un dialogo tra bambini
tratto dal Mindstorms di Seymour Papert e animato dalle tartarughe del Logo|editore=Maecla|url=http://www.pietrocola.eu/maecla/tartapelago/tartateatro/index.htm|anno=2005|accesso= 15 maggio 2021}} </ref> Utilizzare il Logo in modo tradizionale, spesso senza neppure conoscere le idee educative che lo hanno ispirato, farlo diventare un argomento tra tanti da memorizzare passivamente attraverso procedure preconfezionate oltre a essere un tradimento della sua pedagogia non è affatto chiaro a cosa possa giovare.<ref>{{cita|Albanese 2000}} </ref>
 
=== Alcune proposte scolastiche ===
'''CLASSE III'''
 
Riga 118 ⟶ 146:
 
Introduzione delle [[Struttura_di_controllo|condizioni]].
 
== Note ==
<references/>
 
== Bibliografia ==
;Articoli
*{{cita libro|autore=D. Watt|titolo=Il Logo per il Commodore 64|editore=McGraw Hill|anno=|ISBN=88-386-0042-2|url=http://www.museodelcomputer.org/index.php/nav=Biblioteca.40/Documento=128/Livello=SCHEDA/Language=ITA|formato=pdf}}
*{{RivistaVG|mc|17|31-36|3|1983|titolo=L'età del Logo}}
* [[Hal Abelson|Harold Abelson]], [[Andrea diSessa|Andrea A. diSessa]], ''The Computer as a Medium for Exploring Mathematics'', [[The MIT Press]], 1986 ISBN 0-262-51037-5.
*{{RivistaVG|mc|81|192-197|1|1989|titolo=Object Logo versione 2.0}}
** Trad. it.: ''La geometria della tartaruga. Esplorare la matematica con il computer'', [[Franco Muzzio Editore]], 1986 ISBN 88-7021-319-6.
*{{RivistaVG|list|1|30-33|1|1985|titolo=I speak Logo}}
* Americo Guercini, Mauro Perotti, Informatica Scuola, Numerica Editore, 2002
 
;Libri
*{{cita libro|autore=Seymour Papert|titolo=Mindstorms, bambini computers e creatività|editore=Emme|anno=1984|ISBN=88-294-0051-3|cid=Papert}}
*{{Cita libro|autore=AA.VV.(a cura di O.Albanese, P.Migliorini, G.Pietrocola)||titolo = Apprendimento e nuove strategie educative |url =http://www.pietrocola.eu/vecchisiti/botticelli/bibliografia/apprendi/apprendi.htm|editore = Unicopli|città =Milano|anno = 2000|ISBN = 88-400-0629-X|cid=Albanese 2000|accesso = 8 maggio 2021}}
** Trad.Harold itAbelson, Andrea A.: diSessa, ''La geometria della tartaruga. Esplorare la matematica con il computer'', [[Franco Muzzio Editore]], 1986, ISBN 88-7021-319-6.
* Americo Guercini, Mauro Perotti, ''Informatica Scuola'', Numerica Editore, 2002
*{{Cita libro|autore=Juraj Hromkovič||titolo = semplicemente INFORMATICA: Programmare (Scuola Elementare) |url =https://www.lites.ch/de/startseite/28-semplicemente-informatica-programmare.html|editore = Lites GmbH|città =Unterägeri|anno = 2020|ISBN = 978-3-9525239-2-6|cid=Hromkovic 2020|accesso = 13 novembre 2024}}
* Dietrich Senftleben, ''Logo per IBM PC e M24. Introduzione – Esempi applicativi'', Tecniche Nuove, 1986
 
== Voci correlate ==
* [[Scratch (informatica)]]
* [[MSWLogo]]
* [[Grafica della tartaruga]]
 
== Altri progetti ==
{{Interprogetto|commons=Category:Logo (programming language)interprogetto|commons_preposizione=sul|b_preposizione=sul|etichetta=linguaggio LOGO|b=LOGO}}
 
==Collegamenti esterni==
* {{Collegamenti esterni}}
* [http://xlogo.tuxfamily.org/ XLogo] è un interprete Logo scritto in Java
* [httphttps://sourceforge.net/projects/xlogo4schools/ XLogo4Schools] è una rielaborazione di XLogo
*[https://xlogo.inf.ethz.ch/ XLogoOnline] è un moderno ambiente di programmazione per la scuola elementare. Il linguaggio di programmazione è un sottoinsieme del dialetto XLogo. XLogoOnline viene eseguito in un browser. Oltre alla versione online, sono disponibili [http://abz.inf.ethz.ch/logo versioni offline] per Windows, macOS e Linux.
 
{{Principali linguaggi di programmazione}}
 
{{Controllo di autorità}}
{{portale|informatica|istruzione}}