LOGO/Storia: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Pietrodn (discussione | contributi)
m ha spostato Logo (informatica) a Linguaggio LOGO/Storia: Poi cancello il redirect e tengo solo la sezione che mi serve. Ho importato solo per rispettare la GFDL.
Pietrodn (discussione | contributi)
Nessun oggetto della modifica
Riga 1:
{{Linguaggio LOGO}}
[[Image:Remi_turtlegrafik.png|300px|thumb|Logo turtle graphic]]
'''Logo''' è un [[linguaggio di programmazione]] fortemente orientato alla grafica e alla geometria di base.
 
Il linguaggio LOGO fu ideato e realizzato negli anni '60 dal professor [[w:Seymour Papert|Seymour Papert]] del [[w:Massachusetts Institute of Technology|MIT]]. Ereditava le tecniche di calcolo simbolico del [[Programmare in Lisp|Lisp]], dal quale riprende parte della sintassi ed il modo di gestire le [[w:lista|liste]].
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.
 
In origine il LOGO fu utilizzato per muovere un semplice [[w:robot|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 [[w:anni 1980|anni '80]] ne vennero realizzate versioni per [[personal computer]], ad esempio l'[[w:Apple II|Apple II]] e il [[w:Commodore 64|Commodore 64]], utilizzate a scopi didattici, spesso per il laboratorio di geometria.
Con ''giulapenna'' e ''sulapenna'' (''penup'', ''pendown'') è possibile ordinare alla tartaruga di tracciare una linea lungo il proprio cammino o di non farlo.
 
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.
 
==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]] 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]], piuttosto che computazionale: 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 pincipiante 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 [[procedura|procedure]] e offre molta estendibilità 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 scrivere i programmi in modo tale che alla fine la tartaruga risulti rivolta verso l'alto"
 
==Storia==
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|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 '80]] ne vennero realizzate versioni per [[personal computer]], ad esempio l'[[Apple II]] e il [[Commodore 64]], utilizzate a scopi didattici, spesso per il laboratorio di geometria.
 
Negli anni '80 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.
 
[[Categoria:Linguaggio LOGO|Storia]]
== Programma di esempio ==
 
=== [[Hello world|Hello, world!]] ===
Il seguente esempio stampa il testo "[[Hello world|Hello world]]".
 
print word "Hello World"
 
=== Disegno di un [[Quadrato]] ===
Altro programma di esempio:
Disegno di un quadrato con 50 [[pixel]] di lato
 
(versione LOGO in inglese)
REPEAT 4 [FORWARD 50 RIGHT 90] oppure
REPEAT 4 [FD 50 RT 90] (sintassi abbreviata)
 
(versione LOGO in italiano)
RIPETI 4 [AVANTI 50 DESTRA 90] oppure
RIPETI 4 [A 50 D 90] (sintassi abbreviata)
 
 
{{Template:Principali linguaggi di programmazione}}
 
[[Categoria:Linguaggi di programmazione]]
 
[[bg:Лого (програмиране)]]
[[cs:Logo (programovací jazyk)]]
[[de:Logo (Programmiersprache)]]
[[en:Logo (programming language)]]
[[es:Lenguaje de programación Logo]]
[[fi:Logo (ohjelmointikieli)]]
[[fr:Logo (langage)]]
[[he:לוגו (שפת תכנות)]]
[[hr:LOGO]]
[[hu:Logo programozási nyelv]]
[[ja:LOGO]]
[[nl:Logo (programmeertaal)]]
[[pl:Język programowania Logo]]
[[pt:Logo]]
[[ru:Лого (язык программирования)]]
[[sl:Logo (programski jezik)]]
[[zh:Logo语言]]