Logo (informatica)

Da Wikipedia, l'enciclopedia libera.
Template-info.svg
Logo turtle graphic

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

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.

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[modifica | modifica sorgente]

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: 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 a scrivere i programmi in modo tale che alla fine la tartaruga risulti rivolta verso l'alto".

Storia[modifica | modifica sorgente]

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 ottanta ne vennero realizzate versioni per personal computer, ad esempio l'Apple II, il Commodore 64, l'MSX e lo ZX Spectrum, 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.

Nozioni di base[modifica | modifica sorgente]

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.

[modifica | modifica sorgente]

ATTIVITA' COMANDO ABBREVIAZIONE
Andare avanti FORWARD FD
Andare indietro BACK BK
Ruotare a destra RIGHT RT
Ruotare a sinistra LEFT LT
Cancella il disegno CLEARSCREEN CS
Torna al punto iniziale HOME HT
Penna su PENUP PU
Penna giù PENDOWN PD
Colore penna SETPC
Colore riempimento ROSSO SETFC RED FILL
Colore schermo SETSC
Dimensione penna SETPENSIZE [50 50]

Programma di esempio[modifica | modifica sorgente]

Hello, world![modifica | modifica sorgente]

Il seguente esempio stampa il testo "Hello world".

  print word "Hello World"

Disegno di un quadrato[modifica | modifica sorgente]

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)

Disegna un pentagono

  Ripeti 5 [A 50 D 72]
  End

Disegno del triangolo[modifica | modifica sorgente]

- Triangolo equilatero con 50 pixel di lato (versione LOGO in inglese)

  REPEAT 3 [LEFT 120 FORWARD 50]       oppure
  REPEAT 3 [LT 120 FD 50]          (sintassi abbreviata)

- Triangolo rettangolo con 80, 150 e 130 pixel di lato (versione LOGO in inglese)

  FORWARD 80
  RIGHT 120
  FORWARD 150
  RIGHT 150
  FORWARD 130       oppure
  FD 80
  RT 120
  FD 150
  RT 150
  FD 130          (sintassi abbreviata)

Proposte didattiche[modifica | modifica sorgente]

CLASSE III

Descrizione del linguaggio LOGO, con elencazione dei comandi necessari per far muovere la tartaruga sullo schermo e creazione di semplici figure geometriche come il quadrato, il cerchio, il rettangolo e vari tipi di triangoli.

CLASSE IV

Introduzione del concetto di procedura, quindi dei comandi TO e END.

CLASSE V

Introduzione di nuove variabili locali come il colore e il suono.

Introduzione delle stringhe.

Introduzione delle variabili globali.

Introduzione delle condizioni.

Voci correlate[modifica | modifica sorgente]

Bibliografia[modifica | modifica sorgente]

Altri progetti[modifica | modifica sorgente]