lunedì 10 settembre 2012

Pensiero digitale: il linguaggio LOGO 3


Il linguaggio di programmazione LOGO - da quanto si è visto nei due post precedenti mi auguro si intuisca - nel confronto con il BASIC tradizionale è allo stesso tempo più digitale, ma anche molto più umano.
Per arrivare a disegnare il quadrato dell'esempio, si può procedere per passi successivi, ordinando magari inizialmente alla tartaruga di muoversi avanti 50, dx 90 avanti 50, dx 90 avanti 50, dx 90 avanti 50. I 90 gradi degli angoli di un quadrato non cambiano, ma la lunghezza del lato, quella ovviamente può variare, per cui viene da sé l'introduzione di una variabile, che si può indicare con la «x», Così come “istintivo” viene, in questo caso, il ricorso all'istruzione primitiva «ripeti», dopo aver osservato che al programma si chiede di eseguire 4 volte la stessa operazione.

Quando in LOGO ho scritto:

per quadrato :lato
ripeti 4 [avanti :lato destra 90]
fine

il computer adesso ricorda la definizione di “quadrato”, in modo che la prossima volta non dovrò ripetere le istruzioni ma basterà scrivere il nome. Cosa utilissima, nel caso di procedure lunghe.

Ma il “pensiero digitale” è esatto e molto pignolo.
Se infatti scrivo semplicemente “quadrato”, il vecchio LOGO MSX mi risponde: “quadrato vuole più oggetti”.
Io so che in questo caso l'”oggetto” è uno solo e non può che essere il lato, per cui scriverò “quadrato 40”, “quadrato 65” e così via, ottenendo un disegno con il lato della lunghezza indicata.

Posso anche replicare il primo programmino per ognuno dei poligoni conosciuti, per es:

per esagono :lato
ripeti 6 [av :lato dt 60]
fine

ancora ricordandomi a mente di immettere l'oggetto lato, oppure introdurre una seconda variabile, “numero dei lati”, e avere così una definizione valida per tutti i poligoni, scrivendo:

per poligono :lato :numero
ripeti : numero [av :lato dt 360 / :numero]
fine

Al comando “poligono”, stando così le cose, il computer mi chiederà più oggetti, e io mi dovrò ricordare di scrivere la lunghezza dei lati e il loro numero, le due cifre separate da uno spazio, in modo che il computer possa calcolare l'ampiezza degli angoli per ogni singola rotazione e disegnare in questo modo qualsiasi poligono regolare.
Ma se io non lo sapessi che devo indicare il lato e il numero?

Ecco, ora mi sta contagiando la natura “digitale” della programmazione, comincio a cercare il pelo nell'uovo, a farmi delle domande che prima probabilmente non mi sarei fatto!
Torno a guardare sullo sbrigativo manuale di quel LOGO antico se c'è un modo diretto, una istruzione primitiva che faccia anche specificare, nella richiesta di “più oggetti”, come si chiamano le variabili che mancano. Non la trovo, e quindi sarebbe da scrivere, mettendo assieme in modo congruo altre “primitive”. E qui servirebbe l'aiuto di un professore! Ma, da allievo, mi sento già abbastanza contento di essere riuscito, credo, a formulare in modo corretto il problema...

Molte altre versioni di LOGO sono state prodotte nel corso degli anni, per tutte le piattaforme informatiche.
Su Windows, MSW LOGO è un programma freeware sviluppato presso l'università di Berkeley, disponibile in inglese, tedesco, portoghese, giapponese (ma esistono anche riferimenti italiano). E' in grado di gestire il suono, il video e il multimediale e lo si può configurare anche con interfaccia grafica. Anche se l'ultima versione risale al 2002, sono state rilasciate riscrittura per Vista e Win 7, anche a 64 bit.
Omini in fila, cristina.01
Micromondi è un LOGO multimediale studiato specificamente per i bambini, che gira su Windows e (nelle ultime versioni) anche su Mac, a distribuzione commerciale, con interfaccia grafica, sviluppato in Italia da Garamond.

StarLogo ci riporta al mitico MIT di Boston, dove Papert cominciò negli anni Sessanta e con la sua tartaruga robot: «è progettato per aiutare gli studenti (e i ricercatori) a sviluppare nuovi modi di pensare e capire i sistemi decentralizzati. (…) permette di controllare centinaia di tartarughe grafiche in parallelo». Ne esiste anche la versione TNG, tridimensionale.

IperLogo, ideato in Italia dai Giovanni Toffoli e Giovanni Lariccia, vive attualmente soprattutto attraverso i “wiki” Iplozero e Qqstorie, dove gli utenti, soprattutto studenti, si scambiano e confrontano risorse, idee, progetti, realizzazioni.

Nessun commento:

Posta un commento