Con questa attività potrai scoprire quanto pesi sui vari pianeti del Sistema Solare.
Lo farai programmando con un vero linguaggio di programmazione: Scratch. Alla fine, potrai fare usare il tuo programma a chi vuoi, facendo divertire anche i più grandi, che scopriranno quanto sia più confortante pesarsi su Marte, piuttosto che su Giove.
Iniziamo scaricando le immagini dei pianeti, che diventeranno i nostri sprite: un’immagine per ogni pianeta. Per farlo, clicca sull’immagine con il tasto sinistro del mouse e vedrai che si aprirà una versione ingrandita del pianeta. A questo punto clicca con il tasto destro del mouse sull’immagine ingrandita e salvala nella tua cartella di lavoro. Il nome di ogni immagine corrisponde al nome del pianeta (con l’estensione PNG). Sono tutte immagini vere, riprese da satelliti della Nasa o dell’Esa.
A questo punto, si inizia a programmare con Scratch. Se non hai Scratch installato sul computer, puoi programmare direttamente dalla piattaforma del Mit. Crea un nuovo programma e, come prima cosa, importa un nuovo sprite per ogni pianeta (usando le immagini appena scaricate).
Importando i pianeti, vedrai che nel palcoscenico (stage) hanno tutti le stesse dimensioni. Per creare un Sistema Solare con (almeno) le dimensioni che siano correttamente in scala, quello che possiamo fare è ridurre la dimensione di tutti i pianeti rispetto a Giove, che è il più grande e che possiamo tenere così com’è. Tutti i pianeti dovranno quindi essere rimpiccioliti rispetto a Giove, in questo modo:
- il diametro di Mercurio è il 3% di quello di Giove
- il diametro di Venere è l’8% di quello di Giove
- il diametro della Terra è il 9% di quello di Giove
- il diametro di Marte è il 5% di quello di Giove
- il diametro di Saturno è l’84% di quello di Giove
- il diametro di Urano è il 36% di quello di Giove
- il diametro di Nettuno è il 35% di quello di Giove
Per rimpicciolirli, basta andare a mettere quel numerino percentuale riportato in grassetto dentro alla casella della dimensione dello sprite, così:
Quando li hai caricati tutti e hai ridotto le dimensioni di tutti gli sprite, tranne che di Giove, disponili come vuoi all’interno dello stage. Questo programma sarà rappresentativo solo delle dimensioni (in scala) dei pianeti, non della loro distanza o posizione.
A questo punto seleziona il tuo personaggio (il gattino o uno sprite che vuoi tu). Eventualmente rinominalo e personalizzalo come più ti piace. Come prima cosa, il personaggio ti chiederà quanto pesi sulla Terra. Questo è il momento di usare una bilancia per scoprirlo! Quando l’hai scoperto, vai a scrivere il pezzettino di codice che te lo chiede e memorizza la tua risposta.
Dai comandi delle Situazioni, prendi “Quando si clicca sulla bandierina verde” e trascina il comando nell’area di script. Poi, in Sensori, prendi il comando “Chiedi” e scrivi la domanda “Quanto pesi sulla Terra?” all’interno del comando stesso. Così:
Crea una nuova variabile (per tutti gli sprite) che si chiama “peso sulla Terra” e portala al valore della “risposta”, che trovi in Sensori. Il comando “porta peso sulla Terra a risposta” lo attacchi sotto al comando azzurro contenente la domanda.
Adesso arriva la parte più complicata del programma. Quando si clicca sullo sprite di un pianeta, bisogna calcolare il peso che avremmo se ci pesassimo sugli altri pianeti del Sistema solare. Successivamente, il peso ci viene comunicato in una vignetta.
Partiamo da Mercurio, selezionando lo sprite del pianeta. Su Situazioni prendiamo il comando “quando si clicca su questo sprite”. In Aspetto prendiamo il comando “dire … per 2 secondi”. Poi dobbiamo costruire la frase con il nostro peso su Mercurio, che però ci dobbiamo andare calcolare usando l’operatore moltiplicativo. I comandi che ci servono li troviamo in Operatori e sono questi:
Come prima cosa, gli facciamo calcolare il prodotto tra il nostro peso sulla Terra e un numerino che dipende dalla forza di gravità di ogni pianeta, rispetto alla Terra. Questi numerini sono:
- la forza di gravità su Mercurio è 0.38 volte quella sulla Terra
- la forza di gravità su Venere è 0.91 volte quella sulla Terra
- la forza di gravità su Marte è 0.38 volte quella sulla Terra (si, come quella su Mercurio)
- la forza di gravità su Giove è 2.36 volte quella sulla Terra (avrei detto di più, visto quanto è grosso)
- la forza di gravità su Saturno è 0.92 volte quella sulla Terra (d’altra parte in una piscina galleggerebbe)
- la forza di gravità su Urano è 0.89 volte quella sulla Terra
- la forza di gravità su Nettuno è 1.14 volte quella sulla Terra
Il numero risultante, lo arrotondiamo all’unità usando il comando “arrotonda”. Poi usiamo il comando “Unione di” e componiamo la risposta, andando a incastrare ogni pezzettino al suo posto. Così:
Questa cosa va fatta per ogni pianeta, cliccando sullo sprite corrispondente a ogni pianeta e inserendo il numerino giusto (e cambiando anche il nome del pianeta, ovviamente). Alla fine, quando cliccherai sulla bandierina verde, dopo aver inserito il tuo peso, potrai cliccare su ogni pianeta del Sistema Solare per scoprire quanto peseresti laggiù… o lassù!
Vuoi inserire anche la Luna? Provaci! Tieni presente che sulla Luna peseremmo 1/6 rispetto al nostro peso sulla Terra 😉
Il programma lo puoi personalizzare come vuoi… se vuoi vedere qualche esempio fatto da altri bambini, vai alla cartella del progetto dove potrai aggiungere anche il tuo: Quanto pesi nel Sistema solare?
Guarda il webinar dedicato all’attività, svolto in occasione della Europe Code Week 2020:
Complimenti! Ottimo strumento didattico e presentazione coinvolgente e chiara.