Versioni
| PremessaSarebbe bello fare disegnare alla Tarta tutto ciò che ci viene in mente e vederla lavorare per noi, tranquillamente seduti gustandoci un po' di beato riposo. Ma è possibile fare ciò? Certo che si! Il problemaSi tratta di realizzare un programma che permette di disegnare qualsiasi parallelepipedo in proiezione assonometrica (Dimetrica, Monometrica oppure Isometrica). Successivamente eseguire una serie di test per verificare il software realizzato al fine di rappresentare oggetti tridimensionali reali. IMPORTANTE: per vedere gli esempi è necessario avere scaricato ed installato il PlugIn apposito
StrumentiUtilizzeremo l'ambiente di programmazione MicroWorlds Ex rilasciato da LCSI che fa uso del linguaggio di programmazione Logo. Nelle esperienze proposte i gruppi di lavoro/ricerca erano costituiti da due studenti. DestinatariL'esperienza laboratoriale è stata sperimentata con successo in diverse classi di seconda e terza media. Condizioni iniziali - prerequisitiOvviamente è possibile realizzare questa ricerca avendo zero prerequisiti dal punto di vista dell'utilizzo dell'ambiente di programmazione MicroWolds Ex e di conoscenza del linguaggio Logo. Qui diamo per scontato che l'esperienza sia proposta a ragazzi/e che possiedono le seguenti conoscenze:
MetodologiaE' tutta improntata alla scoperta-ricerca della soluzione del problema iniziale, eventualmente scomposto in problemi più semplici. Fondamentale è la consapevolezza che ciò che conta è l'immersione nel percorso di ricerca, lungo il quale ciascuno può affrontare le difficoltà secondo i propri ritmi e le proprie capacità. Quindi largo ai pregiudizi, alle soluzioni preconfezionate ed agli stereotipi. Lo spazio concesso alla propria soluzione, la disponibilità a ricevere aiuto, se necessario, sono la migliore medicina contro la noia, la banalità e prevedibilità del fare scuola quotidiano. Chiunque partecipi deve rendersi conto che l'elemento fondamentale è l'esperienza vissuta in prima persona, gli errori commessi, le successive ipotesi e le conclusioni finali. Il tutto in un'opera di continua sistemazione del sapere che non ha fine, ma che rappresenta l'obiettivo più importante ed elemento di vera crescita cognitiva. E la conclusione non dovrebbe essere l'etichetta su di un registro, ma la senzazione, il piacere, il godimento dell'utilizzo dei propri mezzi cognitivi e della propria espansione culturale. Problema 1Nell'ottica del raggiungimento dell'obiettivo finale che è quello di implementare un modello/programma per disegnare solidi geometrici, poniamoci come primo ed irrinunciabile problema la creazione di una procedura che disegna un semplice quadrato di 100 passi di lato La maggior parte degli studenti, se dotati dei prerequisiti sopra elencati, giunge velocemente ad una soluzione simile a questa: TO QUA PD REPEAT 4[FD 100 RT 90] END Problema 2Come creare una procedura che disegna un quadrato di 90 passi? e di 80? e di 40? La metafora del cassetto (variabile) Diciamo alla Tarta di mettere un numero in un cassetto, quindi di disegnare un quadrato con il lato di tanti passi pari al numero inserito nel cassetto. Come realizzare ciò? In due momenti. Prima, durante la scrittura della procedura, fissiamo il nome al cassetto, nome che verrà utilizzato in luogo del numero di passi da fare. Poi, durante l'utilizzo della procedura, scrivendo il nome della procedura seguito dal numero di passi da inserire nel cassetto. Fase 1 di creazione procedura TO QUA :lato PD REPEAT 4[FD :lato RT 90] END :lato rappresenta il contenuto del cassetto Fase 2 di utilizzo della procedura QUA 90 Perciò si chiama la procedura QUA e si inserisce il numero 90 nel cassetto "lato. Quando la Tarta eseguirà i comandi troverà 90 dentro il cassetto, quindi avanzerà di quel numero di passi. ...Sperimentare la procedura QUA con numeri diversiIMPORTANTE: per vedere gli esempi è necessario avere scaricato ed installato il PlugIn apposito
Problema 3Come creare una procedura che disegna un rettangolo di altezza 100 e larghezza 50 passi? Si giunge presto alla soluzione: TO RETT PD REPEAT 2[FD 100 RT 90 FD 50 RT 90] END Problema 4Come modificare la procedura RETT per disegnare quasiasi rettangolo? E' facile osservare più gruppi giungere velocemente alla soluzione tipo: TO RETT :alt :larg PD REPEAT 2[FD :alt RT 90 FD :larg RT 90] END ...Sperimantare la procedura RETT con diverse misureIMPORTANTE: per vedere gli esempi è necessario avere scaricato ed installato il PlugIn apposito
Problema 5Colorare l'esterno con il nero (9) e l'interno del rettangolo con il colore rosso (15) NOTA BENE! Fare una riflessione sul funzionamento del comando FILL. Quando si invoca questo La Tarta versa la vernice esattamente nel punto in cui si trova. Il colore ha due possibilità:
Evidentemente la strategia da consigliare è quella di entrare nella figura con la "penna su", versare il colore e tornare in posizione. TO RETT :alt :larg PD SETC 9 REPEAT 2[FD :alt RT 90 FD :larg RT 90] PU RT 45 FD 5 SETC 15 FILL BK 5 LT 45 END ...Sperimentare la proceduraProblema 6Come riuscire a diseganre rettangoli di qualsiasi misura e colore del bordo e dell'interno? La soluzione potrebbe essere: TO RETT :alt :larg :cbordo :cdentro PD SETC :cbordo REPEAT 2[FD :alt RT 90 FD :larg RT 90] PU RT 45 FD 5 SETC :cdentro FILL BK 5 LT 45 END ...Sperimentare la procedura e provare a sovrapporre due rettangoli di colore diversoProblema 7Come modificare la procedura RETT per riuscire a sovrascrivere rettangoli uno sull'altro? NOTA BENE Il nocciolo della questione è colorare l'interno senza utilizzare FILL. Quindi è meglio proporre di isolare questo aspetto e di non preoccuparci del bordo che disegneremo in un secondo tempo. Le soluzioni sono tante, alcune più semplici, più brevi, altre più complicate e lunghe da scrivere. Si può tenere presente una tecnica, che potremmo definire "tecnica dell'imbianchino" perchè riprende l'azione che esegue un imbianchino quando si accinge a pitturare una parete con un pennello. In sostanza egli dipinge tante strisce larghe una pennellata una accanto all'altra. Allo stesso modo potremmo istruire la tarta per farle disegnare tante righe verticali (oppure orizzontali) affiancate sino ad arrivare alla larghezza stabilita. Si può anche consigliare (ma solo dopo che qualcuno ne scopre le coseguenze) di seguire la sequenza:
Per offrire un suggerimento più marcato e comprensibile si può mimare con il gesso il movimento alla lavagna. In fin dei conti per realizzare ciò la tarta può avanzare, indietreggiare quindi spostarsi sulla riga successiva. Di quanto? Quante volte in tutto? Dopo numerosi tentativi qualcuno arriverà ad una soluzione ... ad esempio questa: TO RETT :alt :larg :cdentro PD SETC :cdentro REPEAT :larg[FD :alt BK :alt RT 90 FD 1 LT 90] PU RT 90 BK :larg LT 90 END Naturalmente (e sarebbe una bella cosa) varranno tutte le altre soluzioni che porteranno al medesimo risultato. Successivametne sarà necessario modificare la procedura per colorare anche il bordo ... TO RETT :alt :larg :cdentro :cbordo PD SETC :cdentro REPEAT :larg[FD :alt BK :alt RT 90 FD 1 LT 90] PU RT 90 BK :larg LT 90 SETC :cbordo REPEAT 2[FD :alt RT 90 FD :larg RT 90] END ...Sperimentare la procedura al fine di sovrapporre diversi rettangoli di differenti coloriProblema 8E se volessimo diseganre un parallelogrammo con l'angolo a 45 gradi come in figura? Come dovremmo modificare la procedura? (meglio crearne una nuova di nome PARAL) NOTA BENE E' consigliabile fare una riflessione al fine di individuare il valore della seconda rotazione mentre si disegna il contorno. Portando l'attenzione sui valori degli angoli, eventualmetne con un disegno alla lavagna, non sono pochi quelli che, sollecitati, si accorgono che tale rotazione corrisponde a 180 - 45 Qualcuno c'è sempre che trova la soluzione più o meno velocemente ... poi seguiranno i compagni TO PARAL :alt :larg :cdentro :cbordo PD SETC :cdentro REPEAT :larg[FD :alt BK :alt RT 45 FD 1 LT 45] PU RT 45 BK :larg LT 45 SETC :cbordo REPEAT 2[FD :alt RT 45 FD :larg RT 180 - 45] END ...Sperimentare la procedura per disegnare diversi parallelogrammiProblema 9Come modificare la procedura PARAL per poter cambiare l'angolo a piacimento? Ovviamente inserendo una nuova variabile (cassetto) di nome "angolo che metteremo tutti al primo posto nella lista. E' bene che la sequenza sia la medesima per tutti al fine di avere riferimenti comuni nelle chiamate prodedurali. Sarà sufficiente sostituire il valore 45 con :angolo TO PARAL :angolo :alt :larg :cdentro :cbordo PD SETC :cdentro REPEAT :larg[FD :alt BK :alt RT :angolo FD 1 LT :angolo] PU RT :angolo BK :larg LT :angolo SETC :cbordo REPEAT 2[FD :alt RT :angolo FD :larg RT 180 - :angolo] END ...Sperimentare la procedura con angoli diversiSoprattutto offrire ai ragazzi l'opportunità di riflettere su questi esempi eseguiti nella console comandi uno di seguito all'altro:
Quale effetto si ottiene utilizzando un valore negativo? IMPORTANTE: per vedere gli esempi è necessario avere scaricato ed installato il PlugIn apposito
Problema 10Utilizzando la procedura PARAL nella console comandi disegnare la figura qui sotto rispettando i valori nelle dimensioni e nei colori Problema 11A patire dalla soluzione appena trovata, costruire una procedura PIPEDO che disegna il parallelepipedo proposto Problema 12Modificare la procedura PIPEDO affinchè sia possibile disegnare il parallelepipedo con qualsiasi altezza Problema 13Modificare la procedura PIPEDO affinchè sia possibile disegnare il parallelepipedo con qualsiasi larghezza Problema 13Modificare la procedura PIPEDO affinchè sia possibile disegnare il parallelepipedo con qualsiasi profondità Problema 13Modificare la procedura PIPEDO affinchè sia possibile disegnare il parallelepipedo con qualsiasi colore nelle tre facce ...Sperimentare la procedura PIPEDO :H :L :P :C1 :C2 :C3Problema 14Utilizzare la procedura PIPEDO per disegnare in scala le composizioni lego qui sotto proposte | DidaWikiDidaWiki è il WikiWiki italiano dedicato alla didattica. Scorciatoia per l'uso: RegoleDiFormattazioneDelWiki Se è la prima volta che senti parlare di WikiWiki, leggi WikiInUnMinuto o BenvenutoAiVisitatori. Argomenti Recenti | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Tutti i testi pubblicati nel sito sono sotto una Licenza Creative Commons | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||