STORIA DI UN ROBOT (Storiella informatica in quattordici robotpuntate con una dozzina abbondante di intervalli) di Pietro Mussa 1992 PREFAZIONE ALL'EDIZIONE DEL 1992 L'IDEA di scrivere questo libro mi ronzava in testa da qualche anno. Essa nasce da dieci anni di attivit al computer con un numero sempre crescente di alunni, che mi d molte soddisfazioni e mi diverte moltissimo. Questo libro l'ultina versione di un testo che ho scritto con la collaborazione e la dotta consulenza dei miei ragazzi e che ha costituito il filo conduttore di gran parte delle attivit svolte col primo ciclo. CREDO CHE GLI ASPETTI PIU' ORIGINALI SIANO QUESTI: Ho cercato di scrivere una storia per bambini senza animali parlanti n personaggi con nomi strampalati perch, quando avevo la classe, esaminando i testi per la biblioteca, ne sentivo proprio la necessit. I personaggi e gli scenari sono definiti solo minimamente per dare ai lettori la possibilit di inserirsi creativamente nel processo di lettura. Il linguaggio semplice pur nn evitando di usare, dove occorrono, parole e costruzioni sintattiche abbastanza complesse e difficili e termini tecnici, anche perch sono convinto che parecchi alunni non amano essere trattati "come i bambini". E' un libro a "robotpuntate", ogni puntata stata discussa, analizzata e, per cos dire, completata in modo personale dai vari gruppi di alunni. La storia ha fornito spunti per molte attivit, (Alcune di esse sono presentate in questo libro sotto forma di "intervalli") ed spesso utilizzata, in aula computer, come riferimento ed esempio per capire il funzionamento delle macchine e dei programmi Man mano che la storia procede aumentano le difficolt ed il numero di termini tecnici, secondo il principio della gradualit. L'idea degli intervalli stata proposta da alcuni bambini che mi hanno detto che avrebbero apprezzato molto di pi il libro se ci fossero stati anche dei giochi. Anche le domande finali e le conclusioni delle robotpuntate sono spesso state proposte dagli alunni e sono servite a tenere un filo logico senza dover ogni volta ricominciare da capo. Credo che il libro si adatti bene anche alla lettura individuale del bambino ma il miglior modo di usarlo , secondo me, la lettura dell'adulto (genitore o insegnante che sia), almeno delle prime puntate, seguita da una piccola discussione finalizzata all'approfondimento degli spunti offerti dalla storia. Raccomando questo tipo di lettura sia ai genitori che agli insegnanti: se fatta con un po' di amore, un toccasana per molti problemi. I CONTENUTI "DIDATTICI" si possono dividere in quattro filoni: attivit "LOGO", attivit linguistiche, concetti della cultura informatica e discorso sul rapporto "uomomacchina intelligente". Il libro, pur presentando argomenti anche molto tecnici, non vuol essere un corso specifico ma una storia divertente e, allo stesso tempo, uno strumento didattico il pi possibile duttile. I CULTORIDEL "LOGO" vi potrebbero trovare spunti per lavori su lateralit e topologia, un apprendimento precoce delle tecniche di programmazione strutturata ed una serie di spunti e problemi spero interessanti. La storia una specie di "PRELOGO" che pu essere realizzato anche senza computer a disposizione. Nelle mie ultime esperienze ho usato semplici programmini scritti da me e ampollosamente definiti "simulazioni al computer", ma lo strumento pi promettente mi parso uno scatolone di cartone, decorato in modo da farlo somigliare ad un robot ed indossato dai bambini, che, a turno, cercano di immedesimarsi nei personaggi dell'inventore e del robot. GLI ASPETTI LINGUISTICI oltre a quelli pi propriamente espressivi citati sopra, possono essere trovati nelle parti della storia che offrono riflessioni su evoluzione della lingua, ortografia, grammatica e sintassi. Sono spunti da ampliare: si tratta di utilizzare strumenti della cultura informatica per analizzare la lingua parlata e scritta. Anche una lingua di pochissime parole, come quella del mio robot, ha ortografia, grammatica e sintassi e pu essere un interessante modello per studiare la lingua parlata. Questo lavoro di analisi potrebbe trovare un valido sussidio, pi avanti, coll'utilizzo di varie tecniche di diagrammazione che, in questo testo, per, non ho approfondito. LA CULTURA DELL'INFORMATICA (pi precisamente alcuni suoi aspetti che mi sono sembrati adatti alla scuola elementare), presente in pi parti del testo. Si parla,pi o meno direttamente, di "LOOP", di "CICLI", di "RICURSIONE", di sottoproblemi e, molto spesso, di gestione degli errori e , forse, questo rende un po' artificiosa la storia. I miei alunni, tuttavia, hanno apprezzato questa parte e si sono divertiti a creare scoprire ed utilizzare, per esempio i loop, sia col computer, sia con disegni e storie e sia riflettendo sul comportamento umano. Credo anche che alcuni di loro abbianoo cambiato idea sugli errori, intuendo a modo loro, il pensiero del POPPER. Penso che alcune di queste idee abbiano anche delle implicazioni geometriche e mi riprometto di cercare, con gli alunni, le analogie con rotazioni, traslazioni e similitudine. IL RAPPORTO UOMO MACCHINA filone apparentemente non molto approfondito, uno degli argomenti che mi stanno pi a cuore. Come insegnante che usa il computer in classe e come programmatorehobbysta, ho sempre avuto delle perplessit sull'opportunit di insegnare i linguaggi, i sistemi operativi e la stessa informatica per una serie di motivazioni che richiederebbero, da sole, un paio di libri come questo. In estrema sintesi posso dire che mi sembra inutile insegnare dei linguaggi o dei concetti che, sicuramente, fra qualche anno saranno obsoleti. Riguardo all'insegnamento dell'informatica, poi, non riesco a confutare questo ragionamento: Tutti usano le matite e i quaderni ma nessuno ha mai pensato di insegnare "matitatica" o "quadernologia" E', per, anche vero che lo studio dell'informatica e di alcuni linguaggi e tecniche di programmazione mi hanno spesso offerto spunti interessanti da usare a scuola e una motivazione forte per studiare anche altre cose. Il computer e la sua "cultura" sono strumenti: si tratta di imparare a capire quando conviene utilizzarli e di imparare a destreggiarsi tra il gran numero di informazioni, ad intuire, a scegliere, senza ostruzionismi e senza farsi troppo trasportare da facili entusiasmi. L'analisi dei problemi derivanti dal rapporto con le macchine, forse, potrebbe essere l'apprendimento pi utile per alunni che fra qualche anno potrebbero aver a che fare con macchine facilissime da usare e in grado di fare moltissime cose in fretta e bene senza, spero, diventarne succubi. Spero che queste poche righe diano il senso della continua insistenza, che se non debitamente valorizzata potrebbe essere uno dei lati negativi del libro, sugli errori e sulle incomprensioni tra inventore e robot. PIETRO MUSSA PRIMA ROBOTPUNTATA (Dove un simpatico inventore costruisce uno strano robot) 1.1.L'invenzione Alcuni anni fa, in un paese lontano lontano, c'era un inventore che decise di costruire un bellissimo e fortissimo robot. Il robot aveva una forza tremenda, consumava molta corrente e capiva due comandi: AVANTI e INDIETRO Se qualcuno gli diceva: "AVANTI", lui andava avanti e se gli si diceva: "INDIETRO", lui andava indietro. Se qualcuno gli diceva qualsiasi altra cosa il robot restava immobile perch capiva solo i comandi "AVANTI" e "INDIETRO" e null'altro. L'inventore, per, aveva sempre molto da fare e non trovava mai il tempo di giocare col suo robot e cos lo dimentic per molto tempo nello sgabuzzino degli attrezzi 1.2.Non funziona! Un giorno l'inventore stava aggiustando il termosifone e si accorse che gli serviva la chiave inglese. Chiam il robot: Robot, robot portami la chiave inglese! Ma il robot capiva solo "AVANTI" e "INDIETRO" e non si mosse. Un altro giorno, mentre riordinava gli attrezzi nello sgabuzzino disse al robot: Aiutami, non star l a fare niente Ma il robot capiva solo "AVANTI" e "INDIETRO" e non si mosse. Un altro giorno, mentre cucinava, gli disse: Robot, per favore, mi passi il sale? Ma il robot capiva solo "AVANTI" e "INDIETRO" e non si mosse. Una sera gli disse: Spegni la luce, per favore! Ma il robot capiva solo "AVANTI" e "INDIETRO" e non si mosse. Altre volte gli disse altre cose Ma il robot capiva solo "AVANTI" e "INDIETRO" e non si mosse Per alcuni mesi il robot rimase nello sgabuzzino e non si mosse. 1.3.Il disastro Una sera, era inverno e c'era il temporale, l'inventore stava lavorando, lo sgabuzzino era aperto e qualcuno suon il campanello. Vai ad aprire, disse l'inventore al robot Ma, come sappiamo, il robot capiva solo "AVANTI" e "INDIETRO" e non si mosse. Chiss perch ho inventato questa macchina inutile, pens l'inventore Il campanello suon ancora. L'inventore grid: La porta aperta, AVANTI!!! Sentendo il comando "AVANTI", il robot si mosse e cominci a camminare. Il campanello suon ancora e l'inventore, che non si era accorto del robot, and ad aprire. Era il postino con un pacco. E intanto il robot camminava, camminava Arrivato al muro, il robot continu a camminare e, siccome era molto potente, fece tremare la casa e tutti gli inquilini, spaventati, gridarono: Aiuto, il terremoto! Ma il robot capiva solo "AVANTI" e "INDIETRO" e continu a spingere il muro. La casa tremava forte forte e tutti gridavano: Aiuto! L'inventore, che finalmente si era accorto di quello che stava succedendo, rivolto al robot url, con tutte le sue forze: Fermati! Ma il robot capiva solo "AVANTI" e "INDIETRO" e continu a spingere il muro. La casa tremava forte forte e tutti gridavano: Aiuto! ALT STOP Fermati, asino! Ma il robot capiva solo "AVANTI" e "INDIETRO" e continu a spingere il muro. La casa tremava forte forte e tutti gridavano: Aiuto! L'inventore disse molte altre cose Ma il robot capiva solo "AVANTI" e "INDIETRO" e continu a spingere il muro. La casa tremava forte forte e tutti gridavano: Aiuto! L' inventore stava quasi per piangere quando gli venne un'idea. INDIETRO!, grid con tutte le sue forze. Il robot si ferm. Perch si ferm? Non avrebbe dovuto fare un'altra cosa? Cosa succeder al nostro robot? Lo saprete nella prossima robotpuntata. SECONDA ROBOTPUNTATA (Dove parleremo di ingranaggi e di sigle e cercheremo di scrivere "AVANTI" in tutti i modi) 2.1 Perch? Perch non andato indietro?, si chiese l'inventore. Lo chiese a se stesso perch oramai sapeva che il robot capisce solo "AVANTI" e "INDIETRO". Prov a dire di nuovo: INDIETRO! Il robot non si mosse AVANTI!, disse poi. Il robot non si mosse AVANTI, INDIETRO, dai, muoviti! Il robot si era rotto! Per capire la causa del guasto bisogn smontare il robot pezzo per pezzo. L'inventore smont il dispositivo che riceve i comandi. Funzionava bene Smont qualche altro pezzo. Funzionava bene L'inventore smont il motore. Funzionava bene Smont gli ingranaggi. C'erano dei dentini rotti che bloccavano tutto! Forse si rompevano quando il robot cambiava la direzione di marcia 2.2. La riparazione L'inventore sostitu i pezzi rotti, disse: AVANTI, e poi INDIETRO si ruppe di nuovo! Bisogner far fermare il robot tra un comando e l'altro Se tutti gli ingranaggi si fermano un momento, non si rompono, e, cos, il robot dovrebbe funzionare., pens l'inventore. Modific alcune cose, ne aggiunse altre e il robot fu in grado di capire questi tre comandi: AVANTI (oppure "A") INDIETRO (oppure "I") STOP (oppure "S") Prima di cambiare direzione bisognava dire: "STOP", perch altrimenti il robot si sarebbe rotto. Ora dovrebbe andare molto meglio!, pens l'inventore, tutto contento 2.3.Le sigle La memoria del robot era una scatoletta molto piccola e ci stavano pochi comandi. Il nostro amico inventore, poi, era piuttosto smemorato e, cosi' pens di insegnare al robot a capire le lettere iniziali dei comandi, le sigle. Eh, s! Il robot deve essere semplice da usare e una sigla pi facile da dire che una parola. E poi le sigle sono pi corte delle parole, con le sigle si risparmia memoria. (Sar pi facile ricordare il comando o la sua lettera iniziale?) Il robot capiva solo i tre comandi e le sigle. E bisognava anche fare attenzione a non romperlo. Dopo "AVANTI" o "INDIETRO" bisognava ricordare di dire: "STOP", perch altrimenti E' un po' come quando facciamo girare i pollici. Se girano entrambi nella stessa direzione va tutto bene, ma se proviamo a cambiare la direzione di uno dei due mentre l'altro continua a girare Si scontrano! Anche per usare le sigle invece dei comandi bisognava essere precisi. Se gli dicevano, per esempio: "av", o "ava", o "avan", o "avant", o "vanti", o "anti", o "nti", o "ti" (Li ho messi tutti?) Non si muoveva. O gli si diceva "AVANTI" o gli si diceva "A", altrimenti non capiva! Il nostro inventore si divertiva moltissimo col suo robot e ogni tanto ci giocava anche in giardino Ogni tanto dimenticava di dire "STOP" o "S" dopo "AVANTI" o "INDIETRO" e il robot si rompeva. Per questo motivo l'inventore portava sempre con s una cassettina con gli attrezzi e qualche ingranaggio di ricambio. Non pensate che il robot sappia fare troppo poco? Ma un robot che sa solo tre parole, pu essere utile? L'inventore non si "stufer" del robot? Non spender troppi soldi per comprare gli ingranaggi? Per sapere queste ed altre interessanti cose, non perdete la prossima robotpuntata! TERZA ROBOTPUNTATA (Dove parleremo di fabbriche e di imbuti) 3.1.L'assunzione. Un giorno, mentre l'inventore giocava col suo robot in giardino, pass di l il padrone di una fabbrica (un industriale) e si ferm a guardare. Me lo vende?, chiese. Dice a me?, rispose l'inventore. S, mi vende il suo robot? Lo vorrei usare per trasportare le cose pesanti nella mia grande fabbrica. All'inventore dispiaceva separarsi dal suo robot ma, avendo speso tutti i suoi risparmi per comperare ingranaggi, aveva proprio bisogno di guadagnare qualche soldino Lo disse all'industriale e, dopo qualche minuto, l'inventore ed il suo robot furono assunti. Se compero il robot, ho bisogno di qualcuno che lo faccia funzionare e lo ripari, pens l'industriale. 3.2.I nostri amici lavorano e si divertono. L' inventore era molto contento di lavorare nella fabbrica perch poteva giocare tutto il giorno col suo robot e guadagnare. Il lavoro era molto pi semplice da fare che da spiegare, comunque prover a descriverlo. Nella fabbrica c'erano molte squadre di operai che montavano dei pezzi di macchina. Quando i pezzi erano pronti gli operai della prima squadra li buttavano in un carretto attaccato al robot. Quando il carretto era pieno, l'inventore diceva: "AVANTI", oppure: "A", poi "STOP" oppure: "S". Il robot si fermava vicino alla seconda squadra dove il carretto veniva scaricato. Poi l'inventore diceva: "INDIETRO", oppure "I" e poi "STOP" oppure "S", il robot ritornava dalla prima squadra e tutto ricominciava da capo. Le altre squadre, che non avevano il robot, dovevano portare i loro carretti a mano ed erano piuttosto gelose. Mentre aspettava, l'inventore poteva leggere il giornale o fare qualche altra invenzione. Ogni tanto doveva riparare il robot perch aveva dimenticato uno "STOP", ma succedeva molto di rado e non doveva pagare i pezzi perch l'industriale era cos orgoglioso del robot che aveva deciso di pagare anche i guasti. 3.3.Sempre pi difficile Dopo qualche mese l'inventore cominci ad annoiarsi Tutto il giorno a fare la stessa cosa Uffa! Il robot, invece non si annoiava perch lui capiva solo: "AVANTI", "INDIETRO" e "STOP". All' inventore venne un'idea. And dall'industriale e gli chiese se poteva far portare al robot anche un altro carretto. Quando il carretto della prima squadra era pieno, il robot lo portava alla seconda squadra. Gli operai della seconda squadra, dopo aver staccato il carretto, giravano il robot verso la terza squadra e attaccavano il loro carretto, pieno di pezzi da portare alla terza squadra A questo punto bastava portare indietro i carretti vuoti ed il gioco era fatto. Nella lingua del robot, usando le sigle, queste operazioni potrebbero essere descritte cos: "A S A S I S I S". Non molto chiaro, vero? Proviamo coi comandi per esteso: "AVANTI STOP AVANTI STOP INDIETRO STOP INDIETRO STOP" Si capisce, ora? Non mi pare. Il robot, invece, capiva benissimo! 3.4.Lo sciopero. L'inventore si divertiva di nuovo e stava gi pensando di far arrivare il robot alla quarta squadra, o, magari alla quinta. L'industriale era talmente contento che gli aument lo stipendio. Tutto sembrava andare per il meglio quando, improvvisamente, cominciarono i guai. Le squadre che non avevano il robot rimasero indietro col lavoro ed i pezzi cominciarono ad ammucchiarsi. Come quando si usa un imbuto col collo grande e il buco piccolo: se si versa troppo in fretta il liquido trabocca. Quelli della seconda squadra, poi, cominciarono a dire che il robot era troppo pesante e non lo volevano pi girare. Quelli della prima squadra lavoravano cos in fretta che i pezzi non bastavano Insomma, le cose andavano male e gli operai scesero in sciopero. Era colpa del robot? Cosa far l'industriale? E l'inventore, riuscir a risolvere il problema dell'imbuto? Seguite la prossima robotpuntata per saperlo! Quarta robotpuntata (Dove parleremo della lingua robotese, di ortografia, grammatica e sintassi) 4.1.Analisi del problema. L'industriale chiam l'inventore e gli disse che se non avesse trovato una soluzione entro pochi giorni, avrebbe dovuto licenziarlo. L'inventore, per, era una persona intelligente e, quando faceva un errore, cercava di utilizzarlo per imparare. Prima di tutto bisognava capire bene qual'era il problema. La cosa che dava pi fastidio agli operai era il fatto di dover girare il robot. Bisognava, poi, trovare il modo di servire tutte le squadre per non creare di nuovo il problema dell'imbuto (Le cose si ammucchiano davanti alle squadre che lavorano pi adagio perch non hanno il robot). 4.2.GIRA! Forse bastava fare in modo che il robot girasse da solo L'inventore smont il robot, lo studi con molta attenzione e gli mise un nuovo dispositivo. Dopo la modifica, se qualcuno gli diceva: "GIRA", (oppure "G"), il robot girava. Per essere precisi, era meglio dire: "STOP", (oppure "S"), prima di farlo girare, anche perch, come abbiamo gi visto, i comandi di movimento non preceduti da STOP, rompevano gli ingranaggi. Nella lingua del robot il lavoro potrebbe essere descritto cos: "A S G A S G A S G A S G ". Chiaro, vero? 4.3. Il trionfo Tornato alla fabbrica, di notte, mentre nessuno lavorava, l'inventore modific tutti i carrelli e si allen a far fare al robot il giro di tutte le squadre. La mattina seguente, fin dall'inizio, il lavoro sembr a tutti molto pi semplice e meno faticoso. Durante l'intervallo, un gruppo di operai and dall'industriale e raccont che cosa era successo. L'inventore fu confermato nel suo posto di lavoro ed ebbe anche un aumento di stipendio. 4.4.La maestra Tornando a casa l'inventore incontr la sua maestra e le raccont la storia del robot. Praticamente hai inventato una lingua nuova, pi che un robot. Una lingua di quattro parole e quattro sigle che ha la sua ortografia, e la sua grammatica, disse la maestra. L'inventore, che non era mai stato tanto bravo in lingua, per non fare brutte figure, salut, ringrazi e arriv a casa con le idee confuse. Un'ortografia Le parole del robot si possono dire in un solo modo giusto! Una grammatica La grammatica spiega i tipi di parole che ci sono E'vero, nella lingua del robot ci sono parole per muovere e parole per fermare ci sono regole da rispettare, altrimenti il robot si rompe! Per la prima volta in vita sua l'inventore cap perch fanno studiare queste cose. 4.5.Lo smacco Ma le sorprese per il nostro inventore non erano ancora finite. Il giorno dopo si rec a lavorare di buon mattino e, appena arrivato in fabbrica fu salutato da tutti gli operai che si complimentarono con lui perch grazie al suo robot le condizioni di lavoro erano migliorate. L'industriale era cos fiero della sua fabbrica robotizzata che port tutta la famiglia a vedere il robot. Il nipotino dell'industriale, che aveva quattro anni, dopo aver osservato tutto per bene, guard l'inventore fisso negli occhi e, proprio quando tutti ascoltavano disse: Mi sembra che sei stupido. Chiedi subito scusa!, disse l'industriale, Non gli badi, un bambino Perch hai detto questa brutta cosa? Di solito cos ben educato L'ho detto, disse il bimbo, perch vero! Non pi semplice tirare il carretto invece di tutti quei comandi, gli ingranaggi che si rompono, la benzina nel motore Tutti stavano per dire qualcosa ma fecero silenzio. Il silenzio di chi pensa. Aveva ragione il bimbo? Cosa risponder l'inventore? Il robot proprio da buttare? Lo saprete solo dopo aver seguito con molta attenzione la prossima robotpuntata! Quinta robotpuntata (Dove parleremo di imparare e di programmi) 5.1.La risposta. Hai ragione, disse l'inventore, E' molto pi facile portare il carretto che comandare il robot! Sei intelligente, bambino L' inventore era una persona seria e sapeva imparare dai suoi errori e non cap come mai tutti si misero a ridere. L'industriale stava quasi per licenziarlo di nuovo, quando l'inventore disse: Devo fare in modo che il robot impari a comandarsi da solo Prese il robot, chiese scusa, ringrazi di nuovo il bimbo e se ne and a casa. 5.2.Il robot impara ad imparare. L'inventore rest chiuso in casa a lavorare per parecchi giorni e, dopo molte modifiche, il robot sapeva imparare. Eh, gi! Prima di tutto il robot doveva essere disposto ad imparare perch, altrimenti, era inutile perder tempo ad insegnargli qualcosa. Un po' come succede a scuola: se un bambino non ascolta proprio inutile parlargli Per insegnare al robot una parola nuova bisognava scrivere su un foglio speciale la parola "PER", poi la parola nuova, poi i comandi che spiegano la parola nuova nella lingua del robot e, alla fine, la parola "FINE". Era molto importante scrivere "FINE", perch altrimenti il robot avrebbe potuto confondersi. Il robot, sentendo un comando, prima cercava nella sua memoria, poi, se non lo trovava, guardava i biglietti. Se ce n'era uno con quel nome, lo eseguiva, altrimenti Non si muoveva! Adesso basta mettersi l con calma, scrivere tutti i comandi, poi scrivere "FINE" E il gioco fatto!, pens l'inventore. All'inizio della giornata potrei dire, per esempio: "VIA" e, il robot dovrebbe fare tutto. 5.3.Il programma L'inventore cominci subito a lavorare e si accorse, fin dall'inizio che non era semplice. Con calma prepar un grande disegno che rappresentava la fabbrica e le squadre e, aiutandosi anche con un soldatino con cui giocava da piccolo, scrisse tutti i comandi. L'inventore aveva scritto il suo primo programma. 5.3.Nuovi guai in vista Per evitare di far pasticci in fabbrica, o di spaventare i vicini , l'inventore decise di collaudare il suo robot ai giardini pubblici. Prese alcuni ingranaggi di riserva, poi, col suo robot, and a cercare un posto in cui non si potessero fare danni. Nel centro dei giardini pubblici c'era un grande spiazzo dove i ragazzi del quartiere giocano a palla. Era libero. Servendosi di un bastone l'inventore tracci delle linee a terra che rappresentavano l'interno della fabbrica. Quando ebbe finito, con un po' di emozione, l'inventore disse: VIA! Il robot non si mosse. Se non gli do il foglio, pens, come fa a leggerlo! Diede il programma al robot e poi: VIA Il robot disse: ESEGUO VIA AVANTI, e cominci a camminare, a camminare Osservandolo l'inventore pens: Ecco, fra un po', quando arriva in fondo a quella linea, si dovrebbe fermare. Poi dovrebbe girare tre volte perch la terza squadra Ma il robot continu a camminare. E pest delle bellissime aiuole fiorite L'inventore url STOP!. E il robot pest la coda ad un povero gatto addormentato L'inventore grid: INDIETRO!. E il robot attravers la strada provocando uno spaventoso ingorgo L' inventore grid: S! I! G.!. E il robot si incammin verso un negozio di preziose porcellane cinesi L' inventore corse verso il robot gridando: Alt, fermati, asino! Aiuto!. Ma il robot cominci a spingere la vetrina L' inventore prese un grosso ingranaggio e picchi il robot sulle parti pi delicate finch non si rese conto che non si muoveva pi. Cos'era successo? Perch l'inventore ha rotto la sua macchina? Riuscir a ripararla? Non perdete la prossima robotpuntata perch solo l potrete trovare le risposte! Sesta robotpuntata (Dove parleremo di modo diretto, di modo programma e di parametri) 6.1.Guai, guai, sempre guai Arriv un poliziotto che sequestr quello che restava del robot ed arrest l'inventore. Il nostro eroe fu condannato a pagare i danni alle auto e alle aiuole, il veterinario per il gatto e una salatissima multa. Il robot, poi, fu rinchiuso in un magazzino di rottami per paura che facesse altri pasticci. La situazione era proprio brutta ma, come abbiamo gi detto molte volte, l'inventore non aveva paura dei suoi errori Gi mentre tornava a casa, per capire cos'era successo, prov ad immaginare di essere il suo robot mentre legge un programma. AVANTI, STOP, disse a se stesso, e cap. Qui c' scritto "STOP", ma quando lo devo leggere? Ora, fra un po' oppure mai? Il robot continuava a camminare perch non poteva sapere quando doveva leggere il comando "STOP" e quindi non sapeva dove fermarsi! Ma, nel parco, l'inventore aveva dato anche comandi a voce, perch il robot non ubbidiva? 6.2.Modo diretto e modo programma. L'inventore si rese subito conto che il robot funzionava in due modi: modo "DIRETTO" (a voce) e modo "PROGRAMMA". Quando eseguiva un programma, il robot era talmente impegnato a leggere il biglietto che non sentiva pi i comandi diretti (dati a voce). Praticamente, il robot sapeva fare solo una cosa alla volta e se leggeva non poteva sentire. Per poterlo comandare di nuovo a voce bisognava aspettare che finisse di leggere il programma. 6.3.Il nuovo robot Non restava altro da fare che costruire un altro robot, un robot che sapesse quando fare le cose, che sapesse dove e quando fermarsi. Arrivato a casa, l'inventore smont la sua auto, il frigorifero e altri elettrodomestici e, in poco tempo costru un nuovo robot, pi efficiente, pi bello e pi potente dell'altro anche se, forse, un po' meno simpatico. 6.4. Parametri Il nuovo robot aveva un linguaggio molto simile al precedente ma pi preciso. Le parole erano le stesse, e si potevano anche usare le abbreviazioni. Era cambiato, per, il modo di usare "AVANTI" E "INDIETRO". Dopo uno di questi due comandi il robot aspettava un numero, altrimenti non si muoveva. Cos il robot sapr quanti passi fare, pens. In Italiano ci sono parole, come "Per" o "Sulla", che da sole non hanno significato, che hanno bisogno di altre parole, (di un parametro), per essere chiare. Quando dico: "Per me" o "Sulla tavola", le parole bene, me e tavola sono i parametri di "Per" e "Sulla"!. 6.5. Licenziato! Tutto contento, l'inventore prese il suo nuovo robot ed and alla fabbrica. Ora potr lavorare e pagare tutti i debiti! Dopo qualche parola, per, gli dissero che era stato licenziato. Tornando a casa, l'inventore era piuttosto triste Pieno di debiti, senza lavoro. E tutto per colpa dei robot! C'era proprio da piangere! Per un po' di tempo il robot rimase fermo. 6.6. Un nuovo lavoro Un giorno, era primavera e c'era un bel sole, l'inventore decise di far tagliare l'erba al robot. Scrisse un programma di nome "taglia", attacc la macchina per tagliare l'erba al robot e disse: "taglia". Visto che il robot lavorava bene, fece un bel un pisolino. Al suo risveglio trov l'erba perfettamente tagliata e un vicino di casa che gli offriva dei soldi per lo stesso lavoro. L'indomani arrivarono due persone, poi tre In pochissimo tempo, l'inventore cambi lavoro: si mise a fare il giardiniere. Quando qualcuno gli offriva lavoro, l'inventore misurava il giardino, lo disegnava, scriveva il programma e il robot era pronto a fare la parte pi faticosa del lavoro. Ora s che si potevano pagare i debiti! Finalmente una puntata che finisce bene. Sar la fine di questa storia? Ci saranno altre invenzioni? Ci saranno altri guai? Con la prossima robotpuntata lo scoprirete! Settima robotpuntata (Dove parleremo di pulci (BUG), di ricerca degli errori e di sottoproblemi) 7.1.Il nuovo robot La mattina dopo, di buon mattino, l'inventore prese il suo robot e lo port a tagliare l'erba dai vicini di casa. In mezza giornata, disse, e senza stancarmi, ho fatto il lavoro di quattro persone! L'inventore si era reso conto che la sua macchina era molto versatile, perch permetteva di fare molte cose diverse con pochi comandi. 7.2.Bug Mentre il robot lavorava, l'inventore aveva il tempo di osservarlo con calma. Ogni tanto il robot faceva cose diverse da quelle che l'inventore aveva previsto. Di solito si trattava di errori molto piccoli, ma anche in questi casi l'inventore preferiva capirli e correggerli anche se non sempre era facile. Io non ho un cane, pens, ma ho un robot. Ai cani si tolgono le pulci, che sono molto fastidiose, ai programmi del robot si tolgono gli errori Anche questi sono fastidiosi! Siccome in inglese, "BUG" vuol dire pulce e "DEBUGGING", significa togliere le pulci, l'inventore decise di usare queste due parole per descrivere gli errori e la loro ricerca in modo divertente. 7.3.Sottoproblemi Il giardino dell'inventore aveva un pezzo quadrato e uno rettangolare. L'inventore aveva scritto due programmi che si chiamavano "QUA" e "RE". Seduto comodamente sull'amaca, leggeva il giornale mentre il robot lavorava. Alla fine di "QUA" bastava dire la parola "RE" e, alla fine di "RE" la parola "QUA" e il gioco era fatto. La vicina, che, come al solito, era intenta ad osservarlo, si compliment con lui e lo ringrazi per il bel lavoro anche a nome degli altri. Il robot tagliava l'erba da solo e con grande precisione. Ma come fa a fare tutto da solo? Chiese la signora dal terzo piano. Veramente, disse l'inventore, qualcosa faccio anch'io, sto qui a dire QUA e RE mentre parlava gli venne un'altra idea. Adesso gli faccio fare TUTTO con un comando! 7.4. Il robot lavora troppo Mise il comando RE alla fine del programma QUA ed il comando QUA alla fine di RE. Cos, disse, baster dare un comando solo e li eseguir entrambi Disse: "RE" al suo robot ed i vicini, visto che il robot lavorava bene, e da solo, gli fecero un applauso. L'inventore salut, ringrazi e and a fare la spesa. Al mio ritorno, pens, l'erba tagliata. Al supermercato incontr gli amici e cos arriv a casa molto tardi. Il robot stava ancora lavorando. Si vede che c' tanta erba da tagliare L'inventore and a dormire. Per tutta la notte il robot continu a lavorare. Il mattino dopo, molti inquilini si lamentarono del rumore sentito durante la notte. L'inventore usc: ormai non c'era pi erba e il robot continuava ad andare su e gi scavando buchi in quello che restava del giardino. Il robot sembrava impazzito: un quadrato e poi un rettangolo, di nuovo un quadrato e, poi un altro rettangolo Non si fermava da pi di dodici ore! Le persone che passavano di l si fermavano a guardare e molti davano consigli o facevano commenti sulla stupidit delle macchine. Qualcuno, non sopportando pi il rumore, chiam perfino i vigili del fuoco. Come al solito, l'inventore tent in tutti i modi di fermare il suo robot ma non ci riusc. L'inquilino del piano di sopra, che lavorava di notte e non riusciva a dormire, usc con un grosso bastone e cominci a minacciare. Un cagnolino di passaggio cominci ad abbaiare e ringhiare contro il robot e contro tutti quelli che si avvicinavano. Si sentiva gi la sirena dei vigili del fuoco che stavano accorrendo Improvvisamente il robot si ferm. Per fortuna era finita la benzina! 7.5.E' andata bene! L'inventore chiese scusa a tutti, caric il robot su di un carretto e si chiuse in casa. Anche questa volta era andata bene ma Continuer ad andare bene? Riuscir l'inventore a capire l'errore? Far altri pasticci? Lo vedremo nella prossima robotpuntata. Ottava robotpuntata (Dove parleremo di lacci (LOOP), di ricursione e di annidamento) 8.1.Il nuovo errore Come al solito il nostro eroe analizz con grandissima cura il robot e il programma nel tentativo di capire l'errore. Questa volta us una tecnica nuova: fece eseguire i comandi al robot in modo diretto uno alla volta, senza usare i programmi. Tutti i comandi di "QUA" Tutti i comandi di "RE"(il programma "QUA" finisce con la parola "RE") Di nuovo tutti i comandi di "QUA"("RE" finisce con "QUA" Di nuovo tutti i comandi di "RE"("QUA" finisce con "RE") Ma questo programma non finisce mai!, disse l'inventore, E' un po' come un cerchio, come un cane che si morde la coda da solo, come un laccio, un LOOP, come dicono gli Inglesi.. L'inventore ricord una vecchia storia che gli raccontava la zia da piccolo: "C'era una volta un re che disse alla sua serva raccontami una storia La serva raccont: c'era una volta un re che disse alla sua serva raccontami una" L'inventore pens che forse da questo errore avrebbe potuto nascere un idea per un comando nuovo. Un comando che provochi la "ricursione", (la ripetizione automatica). Anche l'idea di far "annidare" i comandi uno dentro l'altro non era malvagia. QUA finisce con RE L'inventore decise di annotare queste parole nel suo taccuino, per poi poterle studiare meglio. 8.2.Interruttori di sicurezza. Per evitare, poi, che succedessero ancora guai del genere, l'inventore mise al suo robot due grandi pulsanti rossi: uno sulla schiena e uno sulla pancia. Con questi interruttori, pens, in caso di pericolo posso spegnerlo prima che combini qualche nuovo imprevedibile guaio. 8.3.I solito tran tran. Dopo le ultime modifiche il robot funzionava proprio bene e l'inventore non aveva altro da fare che ritirare i soldi guadagnati dalla sua macchina! Per alcuni mesi il nostro eroe rest tranquillo a godere i frutti del suo lavoro. Poi, come al solito, cominci ad annoiarsi e a sentire l'esigenza di creare qualcosa di nuovo. 8.4.Il muro Un giorno, in cui non c'erano giardini da tagliare, il nostro inventore decise di costruire un muro intorno al cortile. Fece arrivare un camion di mattoni, impast la calce e si mise all'opera. Siccome non c'era lo spazio, il camion aveva scaricato i mattoni sul marciapiedi e l'inventore doveva fare un bel po' di strada per prendere i mattoni. Un po' di calce, una passeggiata per prendere il mattone (25 passi circa), un altro po' di calce, un'altra passeggiata ( altri 25 passi circa) e cos via. 8.5. L'idea Verso mezzogiorno, c'era un bel sole caldo e l'inventore che era sudato e stanco, decise che bisognava fare qualcosa per faticare meno. Io ho un robot E' da stupidi lavorare mentre il robot si riposa! Prese il robot, gli mont una pinza sulla pancia, gli insegn a distinguere i mattoni dalle altre cose, gli aggiunse i comandi "PRENDI" e "POSA" per fare aprire e chiudere la pinza e Un po' di calce, AVANTI 25 PRENDI INDIETRO 25 POSA, e il muro cresceva con molto meno sudore. L'inventore era cos contento che si dimentic perfino di mangiare. 8.6. I'idea nuova Quando il muro era quasi finito l'inventore pens che avrebbe potuto far mettere al robot anche la calce. Basterebbe aggiungere un braccio meccanico con una paletta, insegnargli a prendere e spalmare la calce e Chiss che programmi lunghi! Chiss se c' un pezzo di carta abbastanza lungo! Bisognerebbe trovare il modo di fargli fare tante cose con pochi comandi Mentre il nostro distratto eroe pensava a queste cose, gli capit sottocchio il taccuino, lesse le parole "RICURSIONE", "LOOP" e "ANNIDAMENTO" e gli venne un'idea che gli sembrava proprio grandiosa. Di che idea si tratta? Succeder qualche nuovo guaio? Per saperlo non perdete la prossima robotpuntata. Nona robotpuntata (Dove parleremo di ripetizione (ricursione) e di liti coi vicini) 9.1. Il crollo Con questa modifica il mio robot diventerebbe molto intelligente, pens il nostro eroe. Quando il robot arriv vicino al muro, l'inventore, che era troppo occupato a pensare alla nuova idea per stare attento a quello che stava facendo, invece di dirgli POSA, disse: AVANTI 125. Il muro, che era ancora piuttosto debole, non si mise a tremare ma croll con grande frastuono. Non erano rimasti nemmeno due mattoni intatti. Nella sua fantasia, l'inventore stava gi dirigendo una squadrone di robot che costruivano case, scuole e palazzi La realt fu per lui peggio di una doccia fredda! Tutto il muro crollato, il lavoro di una giornata perso e, come se non bastasse, il robot, con addosso i fili dello stendibiancheria pieni di panni della vicina di casa che si era fermato vicinissimo al carrello di un gelataio ambulante! Il nostro eroe era cos confuso Meno male che non gli ho detto AVANTI 1000! Il robot, sentendo il comando "AVANTI 1000", continu a camminare e cos invest il carretto del gelataio, imbratt tutta la biancheria e entr dritto in casa trascinandosi dietro il bidone della spazzatura. Prima che l'inventore avesse potuto fare qualsiasi cosa, il bidone stava gi rotolando rumorosamente per la scala della cantina! 9.2. I vicini Questa volta la reazione dei vicini fu terribile. Basta, non se ne pu pi! Vuole smetterla di giocare con quello stupido robot di latta? Il rumore, il pericolo! Vuole demolirci di nuovo la casa? Lei non un inventore, un demolitore! Lei se ne deve andare! Questa volta, per, l'inventore, che, mentre ascoltava i vicini, pensava ancora alla sua formidabile idea per far costruire intiere case al robot, perse veramente la pazienza e disse: Certo che me ne vado, ma non perch mi mandate via voi, perch sono io che voglio andarmene. Vi pentirete di avermi trattato cos! Ed entr in casa sbattendo la porta. 9.3. La nuova idea L'idea che aveva tanto distratto l'inventore e causato tutti i guai e le liti coi vicini, era quella di sfruttare la ricursione nei programmi con il comando RIPETI. Una parola potentissima: con questo nuovo comando si potevano scrivere programmi semplici, molto efficaci e, soprattutto pi brevi E' molto pi semplice dire RIPETI che dire tante volte la stessa cosa Con un comando cos, aveva pensato, posso fare un programma per farmi costruire una casa nuova dal robot, aveva pensato, cos non ci saranno pi vicini che protestano ogni volta che faccio un piccolo errore!. 9.4. Non funziona L'inventore mise al robot il comando ripeti. Se gli dico RIPETI, pens, lui ripeter RIPETI AVANTI 2 PRENDI INDIETRO 2 POSA Il robot fece due passi, poi altri due, poi altri due Non si fermava pi Si avvicinava di nuovo allo stendibiancheria! L'inventore lo ferm subito col pulsante rosso. (Ricordate i pulsanti rossi per evitare i guai della scorsa robotpuntata?) Prov a dire: Ripeti AVANTI 1 INDIETRO 1 Il robot andava avanti Come se non ci fosse il comando INDIETRO E poi non si fermava Come quando spingeva il muro nella prima puntata! Ripremette il pulsante rosso. Per forza non si ferma Gli devo dire quante volte deve ripetere Modific il comando RIPETI come aveva fatto con AVANTI e INDIETRO, gli mise il posto per un numero (il parametro). RIPETI 5 AVANTI 1 INDIETRO 1 Il robot fece cinque passi avanti ed uno indietro. Funziona, pens l'inventore. Domani vado a chiedere scusa ai vicini per la sfuriata di ieri Magari faccio vedere il robot al lavoro, cos capiscono In fondo non avevo tutti i torti! Quella notte dorm male e sogn tanti robot che combinano solo guai. E ora l'inventore chieder scusa? Seguir i consigli dei vicini? O riuscir a far funzionare il comando ripeti? Lo saprete con la prossima robotpuntata. Decima robotpuntata (Dove parleremo di HARDWARE e di SOFTWARE e di parentesi) 10.1. Uno strano modo di chiedere scusa La mattina dopo, siccome c'erano alcune persone affacciate alle finestre, l'inventore cominci a scusarsi e disse: Dovete proprio scusarmi Ero piuttosto stanco e ho detto la prima cosa che mi venuta in mente Mentre parlava gli venne un'altra idea. E adesso scusatemi ma ho da fare.. E rientr in casa senza che nessuno dei vicini avesse potuto rispondere. I vicini, che si sentivano un po' in colpa anche loro per il giorno prima, non dissero nulla e, quando l'inventore fu il casa, la signora del terzo piano disse: Speriamo che questo simpatico distratto inventore riesca a risolvere il suo problema! 10.2. L'ultima modifica Il nostro eroe aveva trovato il modo di far ripetere al robot anche pi di un comando per volta. L'idea gli era venuta quando aveva detto ai vicini: La prima cosa Il comando ripeti funzionava cos: dopo il comando il robot cercava un numero; se non lo trovava pensava di dover ripetere zero volte. C'era un contatore per contare le volte da ripetere e il robot ripeteva il primo comando che trovava dopo il numero. Baster usare le parentesi Pens. Modific il ripeti in modo da far capire al robot che dopo il numero avrebbe dovuto trovare una parentesi aperta e poi almeno un comando e poi una parentesi chiusa. Complicato, vero? Proviamo a fare un esempio. Col comando: "RIPETI 4 [ A 10 I 5 ] ", il robot avanzava di 10 passi e poi indietreggiava di cinque per quattro volte (20 passi avanti in tutto.) Mi sa che molto pi facile da fare che da dire Ora il robot, grazie a questo comando avrebbe potuto riparare il muro in pochi minuti con grande precisione e, cosa pi importante, con un programma molto breve! Baster misurare muro e mattoni e calcolare quante volte il robot deve ripetere e non si sprecher nemmeno un briciolo di sabbia, pens l'inventore raggiante. Aveva trovato il modo di sfruttare la ricursione per programmare il suo robot in un modo ancora pi efficace. 10.3. Anche le parole nascono e muoiono Era nato un nuovo comando e questa cosa fece riflettere molto il nostro amico. Un giorno la maestra mi ha detto che ho inventato una lingua nuova, pens l'inventore, Nel linguaggio del robot ogni tanto nascono parole nuove proprio come nelle lingue vere Chiss se ci sono anche comandi che muoiono? Invece di riparare il muro, si chiuse in casa e pens alle modifiche che avrebbe potuto fare al robot. Non mangiava da due giorni! STOP non serve pi perch dopo un numero di passi il robot si ferma al suo posto potrei mettere SINISTRA E allora potrei mettere anche il comando DESTRA! L'inventore rimase l a modificare il robot per molte ore. Si accorse che le parole del robot nascevano, morivano e cambiavano proprio come le nostre e che i difetti del robot erano quasi sempre problemi di linguaggio. Per la prima nella sua vita volta gli dispiacque di non aver studiato la lingua con maggior impegno. Come facevo a pensare che la grammatica e la sintassi potessero servire a qualcosa?. 10.4. Ancora modifiche L'inventore, poi, fece anche delle modifiche al corpo del suo robot: delle braccia, una telelecamera, una calcolatrice, una memoria pi grande, degli ingranaggi migliori Ogni modifica faceva nascere nuovi comandi e il robot diventava sempre pi complicato. Mentre faceva questo lavoro, il nostro eroe si rese conto che il suo robot era costituito di due gruppi di cose: oggetti e idee. Le pinze, le braccia, la memoria sono oggetti che si possono toccare ma i comandi o i programmi sono idee, che non si possono toccare. Per gli oggetti pens di usare la parola inglese "HARDWARE" (rottami, ferramenta, roba dura?) e le per le idee invent una parola nuova: SOFTWARE (roba soffice?). Ora che ho scoperto che il mio robot ha un corpo e un'intelligenza come me mi molto pi simpatico, pens l'inventore. Si ricorder di mangiare l'inventore? Far pace coi suoi vicini? Riparer il muro? Come funzioner il robot dopo le modifiche? Per scoprire queste ed altre interessanti cose non perdete la prossima robotpuntata! Undicesima robotpuntata (Dove parleremo di schemi, di vicini preoccupati e di pace) 11.1. Riassunto La situazione era piuttosto complicata e cos l'inventore decise di fare un bello schemino con tutto ci che compone il robot. Lo schema era pieno di strani disegni e di freccette e rappresentava la grammatica e la sintassi del robot, la descrizione della macchina e del suo modo di funzionare. Ecco alcune parti del corpo del robot: GAMBE per camminare PINZE da usare come mani BRACCIA per portare su e gi le pinze Ogni parte era disegnata accuratamente, con tutti i suoi pezzi e con frecce e scritte che indicavano funzionamento e collegamenti. Questa parte dello schema si chiamava HARDWARE I comandi principali erano: AVANTI, INDIETRO, DESTRA, SINISTRA per camminare SU e GIU' per le braccia PRENDI e POSA per le pinze PER FINE per fare i programmi RIPETI(), SE, FINQUANDO e ALLORA per far fare tante cose con pochi comandi. Vicino ad ogni parola l'inventore aveva scritto il significato e le regole. Per essere pi chiaro, l'inventore us delle figure geometriche, ognuna delle quali aveva un significato diverso: rettangoli per le cose, rombi per le domande e cos via Questa parte dello schema si chiamava SOFTWARE. Tutti i comandi del robot formavano una specie di mappa, molto complicata, che, per, dava un'idea molto precisa di come funzionava il robot. Ora bisognava solo pi fare un piccolo collaudo e poi s che il robot avrebbe potuto lavorare bene! 11.2. I vicini preoccupati La vicina di casa, non vedendo l'inventore da qualche giorno, cominci a preoccuparsi. Che se ne sia andato?, disse all'inquilino del piano di sopra. Che sia ammalato?, disse un altro vicino. Forse si spaventato ed fuggito. Allora perch c'era la luce accesa?, disse la signora del terzo piano. Ci sono degli strani rumori Ci saranno i ladri? Mamma che paura! Andiamo a vedere! 11.3. Grandi spaventi Proprio in quel momento l'inventore si accorse che aveva lasciato il telefono staccato e rimise la cornetta a posto. Squill subito ed i vicini, che stavano per bussare, sentendo gli squilli fuggirono spaventati. Era uno dei clienti che si lamentava per il giardino. Ma da quanto tempo sono qui a lavorare? si chiese l'inventore, che, quando si appassionava ad un problema, perdeva la nozione del tempo. Per saperlo accese il televisore e fece di nuovo fuggire i vicini che, timidamente, si stavano avvicinando alla sua porta. Siccome non c'era il telegiornale su nessun canale, l'inventore accese la radio. I vicini figgirono ancora. Non essendoci nemmeno il giornale radio, decise di chiedere notizie a qualcuno e apr la porta 11.4. Una pace allegra Ora tenter di descrivere la scena che vide il nostro amico anche se so che non possibile E' un po' come quando cercavo di descrivere il comando RIPETI, ricordate? E' molto pi facile capire vedendo o facendo che sentendo qualcuno che spiega! La vicina, con una padella, si nascondeva dietro all'inquilino del piano di sopra che, nella fuga di prima aveva perso una scarpa e guardava l'inventore come se fosse un fantasma. La signora del terzo piano, coi bigodini in testa, brandiva un ombrellino rosa con un'aria molto minacciosa. Un passante, con un cane volpino , era accorso per aiutare e un altro inquilino, arrivando di corsa, si inciamp sul cane facendo cadere tutti come dei birilli. La scena era troppo comica e tutti si misero a ridere. L'inventore, si scus di nuovo per essere stato scortese, i vicini, si scusarono per aver protestato in modo esagerato, un inquilino si scus col cane, l' altro si scus per la scarpa, la signora del terzo piano si scus per i bigodini, la vicina e il passante non avendo di che scusarsi se ne andarono preoccupati. E adesso che hanno fatto pace? Il robot riuscir a lavorare meglio? Possibile che i guai siano finiti? Per saperlo non dimenticate di leggere o farvi leggere la dodicesima robotpuntata. Dodicesima robotpuntata (Dove parleremo di modelli, di angoli e di alta e bassa risoluzione.) 12.1. Un grande lavoro. Il giorno dopo, mentre il robot riparava il muro, pass di l il sindaco, vide il robot al lavoro e propose all'inventore di fare, di notte, la manutenzione del parco della citt. Era un parco bellissimo, sembrava ai giardini delle fiabe. I fiori e le aiuole formavano una composizione di triangoli disposti come un bel quadro astratto. Il sindaco disse all'inventore che, se gli serviva per il parco, gli avrebbe anche restituito il vecchio robot. 12.2. Il plastico L'inventore si appassion subito all'idea e cominci a studiare un programma per far fare al suo robot un percorso adatto a tagliare l'erba. Per non interrompere il lavoro dei giardini l'inventore, dopo aver preso le misure con molta precisione, costru un plastico, un modellino in scala del parco, e, anche provando i percorsi con alcuni soldatini di quand'era piccolo, si mise di buona lena a scrivere i programmi per tagliare l'erba del parco. 12.3. Triangoli Il problema maggiore erano i triangoli. Il robot, infatti, andava solo in orizzontale ed in verticale e sembrava impossibile fargli percorrere strade oblique perch sapeva solo girare ad angolo retto (Come nei quadrati e nei rettangoli.) Dopo alcuni tentativi, l'inventore si accorse che, con lunghe serie di "AVANTI 1" o "A 2" e con moltissimi "DESTRA" e "SINISTRA", si potevano far percorrere al robot anche le vie oblique, ma il robot lasciava sempre dei triangoli d'erba da tagliare. Il programma, poi, era lunghissimo e non stava nemmeno tutto in un solo foglio, come fare? L'inventore pens subito all'ITERAZIONE ed ai LOOP. Usando il comando "RIPETI", i programmi diventarono subito molto pi corti. Invece di dire cento volte un gruppo di comandi molto pi semplice dire "RIPETI 100" e poi, tra parentesi, il gruppo di programmi., aveva pensato il nostro amico, e aveva ragione. 12.4. Risoluzione Ma il robot non tagliava bene le aiuole, lasciava dei triangoli da tagliare nei lati obliqui e questo era proprio un bel problema! L'inventore pens di accorciare i passi I triangoli non tagliati erano pi piccoli ma pi numerosi. L'inventore pens che forse era un problema di RISOLUZIONE, (che vuol dire anche scomposizione in parti). PIU' era BASSO il numero di triangolini (parti), PIU' essi erano grandi e MENO il lavoro era preciso. PIU' la RISOLUZIONE era ALTA e pi erano piccoli i triangoli non tagliati Ma restava sempre qualcosa di non tagliato! 12.5. Triangoli e angoli. Scartata l'idea della RISOLUZIONE BASSA o ALTA, l'inventore pens che fosse un problema di geometria. Prese i libri e ripass bene i triangoli e gli angoli e, dopo alcuni tentativi ed errori cap che era ora di cambiare la sintassi dei comandi per girare. Bast mettere un PARAMETRO anche a DESTRA e SINISTRA come aveva gi fatto con AVANTI e INDIETRO e il problema fu risolto. Non chiaro? Ora cercher di spiegarmi meglio. 12.6. I parametri per girare Per fargli fare un giro completo bisognava dire al robot di girare quattro volte. Coi parametri bastava dire: DESTRA (o SINISTRA o D o S) e un numero. Per fargli fare un pezzo piccolo di giro bastava dire un numero piccolo, per farlo girare di pi si poteva dire un numero pi grande. Praticamente, conoscendo bene i numeri che indicano le parti, (i decimali), si poteva mandare il robot in tutte le direzioni. Con certi numeri si poteva far fare al robot anche pi di un giro. Sembrava quasi una danza. Per alcuni giorni l'inventore fu talmente affascinato dalle capacit del suo nuovo robot che pass quasi tutto il suo tempo a giocarci. Smetter di giocare l'inventore? E il sindaco? I robot taglieranno l'erba dei giardini? Lo vedremo nella prossima robotpuntata Tredicesima robotpuntata (Dove parleremo di precedenze, di lavoro di gruppo e di Loop del comportamento) 13.1. Nuovi giochi coi nuovi comandi Il comando RIPETI era potentissimo e con i nuovi parametri era molto facile far fare al robot percorsi a forma di stelle e di ricami. Anche i LOOP si erano rivelati molto interessanti e l'inventore stava gi pensando di mettere al suo robot dei nuovi comandi come: SE NON LOOP ESCI o LOOPFINQUANDO Con gli angoli giusti, usando braccia e pinze,, pensava l'inventore, potrei fargli fare disegni molto regolari. Col RIPETI potrebbe fare dei bellissimi centrini. Forse potrei anche insegnargli a scrivere Al nostro eroe sembrava quasi di essere un moderno Geppetto con un Pinocchiorobot Anzi con due Pinocchi, perch nel frattempo un camion dei vigili aveva riportato il vecchio robot al suo padrone e l'inventore lo aveva gi aggiustato alla bell'e meglio. 13.2. Precedenze. Ogni tanto i due robot si intralciavano a vicenda. Bisognava fare in modo che uno dei due avesse la precedenza. Per risolvere questo problema l'inventore us specialmente il gruppo di comandi "SE ALLORA" e la telecamera del robot nuovo che poteva vedere il vecchio robot. "SE vedi Allora ". Sono sicuro che riuscite ad immaginare da soli come fece. 13.3. Qui si gioca, invece di lavorare! Dopo le ultime modifiche i due robot potevano veramente fare di tutto e spesso, dopo il lavoro, l'inventore si divertiva con loro. Qualche giorno dopo, mentre l'inventore, giocando a palla coi due robot, stava pensando di fare in modo che fosse il nuovo robot a comandare quello vecchio, arriv il sindaco con tutti i suoi assessori per vedere a che punto erano i lavori per i giardini pubblici. Qui si gioca, invece di lavorare!, disse scherzosamente il sindaco. Appena vide tutte quelle persone importanti, l'inventore, che non si era accorto del tono scherzoso si emozion moltissimo e rimase l, impacciato a pensare a una risposta, mentre i due robot gli tiravano le pallonate. 13.4. Giocando si impara. Dopo qualche attimo, l'imbarazzo svan. Volete giocare anche voi?, chiese l'inventore. Accettarono subito. Mentre giocavano, il nostro eroe trov il modo di mostrare loro le sue ultime idee, e di far vedere quanto erano bravi i suoi robot. Tutti rimasero molto impressionati e fecero moltissimi complimenti. 13.5. Tanti, tanti progetti Un robot cos, disse un assessore, potrebbe tenere in ordine tutti i documenti della nostra citt. In questo modo gli impiegati avrebbero molto tempo per inventare nuovi documenti e moduli . A me servirebbe un robot disegnatore per disegnare le strade e le case. I miei geometri avrebbero pi tempo da dedicare ai progetti e ai controlli, disse l'assessore all'edilizia. Io,, disse un altro, ne vorrei dieci per sorvegliare il traffico. Le mie guardie, cos, potrebbero occuparsi di pi del crimine 13.6. Il gruppo di esperti In pochissimo tempo nacquero tante di quelle idee che al nostro inventore non sarebbero bastate sette vite per realizzarle. Bisognava formare un gruppo di esperti e dare loro un posto in cui lavorare e degli strumenti. Dopo qualche giorno il nostro inventore si trov a collaborare con molte altre persone in un palazzo tutto pieno di uffici e laboratori. Nacquero molti progetti sia per usare i robot dell'inventore sia per costruirne altri: Un robot disegnatore Un robot per aiutare i vigili Una squadra di robot giardinieri Un robot per tenere in ordine i documenti Ogni tanto sorgevano nuovi problemi ma con calma e pazienza qualcuno li risolveva e spesso dagli errori nascevano nuove idee. In poco tempo furono progettate macchine che nemmeno l'inventore aveva immaginato. L'inventore divent ricco e famoso. I robot porteranno progressi e benessere? Ci saranno altri guai? Si potrebbe desiderare di pi? Nella prossima robotpuntata, (l'ultima!), cercher di spiegarlo. Quattordicesima ed ultima robotpuntata (Dove la nostra storia finisce tra mille domande) 14.1 Domande semplici. Credo che la storia del robot potrebbe continuare ancora a lungo ma ho deciso di fermarmi qui. Dopo averla riletta mi sono venute in mente moltissime domande. Alcune sono semplici come queste: Come si chiama l'inventore? E' alto o basso? E' magro o grasso? Di che colore sono i suoi capelli? Com' fatto il robot? Come si chiama la citt? E l'industriale, com', come si chiama? A queste domande ognuno di voi pu rispondere come gli pare, perch tanto il senso di questa storia non cambierebbe in ogni caso 14.2. Domande impegnative. Altre domande sono pi complicate, e, a seconda della risposta che date, il significato della storia potrebbe cambiare: I robot toglieranno il lavoro alla gente? Toglieranno loro anche lo stipendio? Gli uomini permetteranno ai robot di lavorare al loro posto? Gli uomini non diventeranno pigri a furia di far lavorare i robot? I robot impareranno a scrivere? E a leggere? E a ragionare? Cosa scriveranno i robot? Gli uomini permetteranno ai robot di ragionare al loro posto? Gli uomini non diventeranno stupidi a far ragionare i robot al loro posto? I robot si ribelleranno agli uomini? Gli uomini si ribelleranno ai robot? A queste e ad altre domande di questo tipo si potrebbe, forse rispondere scrivendo un altro libro come questo Chiss se qualcuno di voi ha voglia di mettersi a scrivere! Magari potrei anche farlo io 14.3. Progetti per il futuro Potrei scrivere un'altra storia con tanti guai e con altre scene ridicole. Mi piacerebbe mettere l'accento sul fatto che le persone ed i robot non si capiscono, sui malintesi che fanno ridere Sto anche lavorando ad una versione per computer di questa storia, in cui, oltre a leggere le avventure dell'inventore e del robot, si possono comandare dei robot per far fare loro percorsi e disegni. 14.4. Mandatemi le vostre domande! A proposito, se vi vengono in mente domande che riguardano questa storia o i robot o i computer o le macchine, mandatamele, potrebbero trovare una risposta in una prossima robotpuntata o nella versione computerizzata della storia. Se qualcuno di voi volesse scrivere la continuazione di questa storia o un'altra storia sui robot, mi piacerebbe proprio tanto leggerla e farla, magari, commentare ai miei alunni. 14.4. Grazie Voglio concludere questo libro con un grazie a tutti i miei alunni che, in questi anni hanno contribuito alla stesura di questa storia. (Qualche centinaio negli ultimi tre anni) Ringrazio sia quelli che, con il loro entusiasmo e con la loro attenzione mi hanno fatto capire che un capitolo era ben scritto, e quelli che mi hanno suggerito di modificare delle parti sia quelli che, coi loro "UFFA!", mi hanno fatto capire che qualcosa andava modificato. La loro collaborazione stata essenziale.