Logo (informatica)

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Logo turtle graphic

Logo è un linguaggio di programmazione fortemente orientato alla grafica e alla geometria di base.

Tramite il comando mostratarta (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.

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 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 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 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 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 MIT. Ereditava le tecniche di calcolo simbolico del Lisp, dal quale riprende parte della sintassi ed il modo di gestire le 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 '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.

Programma di esempio

Il seguente esempio stampa il testo "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)

Altri progetti

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica