Inserisci la velocità (tra 5 e 15) e il numero delle particelle (tra 50 e 150).
Realizza un grafico della forza in funzione dell'energia.
Realizza un grafico della forza media esercitata sulle pareti in funzione dell'energia, con almeno 6 punti sperimentali.
Cambia sia la velocità delle particelle (tra 5 e 15) che il loro numero (tra 50 e 150).
Valuta dato per dato le incertezze di misura, che dovrebbero dipendere dal numero di particelle.
Allega uno screenshot del tuo programma in scratch.
Cos’è Scratch?
Scratch è un ambiente di programmazione visuale che permette di creare facilmente giochi, simulazioni e animazioni.
Oggi costruiremo una simulazione fisica: 100 particelle (palline) si muoveranno dentro uno spazio, rimbalzando sui bordi e calcoleremo alcune proprietà fisiche come impulso, forza media ed energia. Confronteremo il risultato con l'equazione di stato dei gas perfetti per arrivare ad una interpretazione microscopica della temperatura.
Obiettivo:
Capire come usare Scratch per simulare un sistema di particelle.
Imparare concetti di base di programmazione e fisica.
Sviluppare un approccio logico alla risoluzione dei problemi.
Cosa faremo:
Scegliere uno sprite che rappresenti le particelle.
Personalizzarlo se necessario (es. cambiando il colore o le dimensioni).
Perché è importante:
Lo sprite rappresenta l’elemento visivo principale della nostra simulazione: in questo caso, la particella.
Esempio pratico:
Aggiungi lo sprite di una pallina dalla libreria di Scratch.
Ridimensiona la pallina per adattarla allo spazio disponibile.
Cosa faremo:
Esploreremo le categorie di comandi che useremo nella simulazione:
Movimento (blu): per far muovere le particelle.
Controllo (arancione): per usare i cicli e i cloni.
Operatori (verde): per calcoli matematici.
Variabili (arancione chiaro): per creare e manipolare valori numerici.
Perché è importante:
Familiarizzare con i comandi ci aiuterà a costruire il programma in modo più semplice e veloce.
Cosa faremo:
Creare un programma base per far muovere una pallina avanti e indietro all’interno della finestra grafica.
Perché è importante:
Capire come gestire il movimento e le collisioni con i bordi.
Esempio di codice:
Cosa faremo:
Modificare il programma per posizionare la pallina in un punto casuale e farle assumere una direzione casuale all’inizio.
Perché è importante:
Aggiungere casualità rende la simulazione più realistica.
Esempio di codice:
Cosa faremo:
Creare una variabile globale Velocità e permettere all’utente di impostarne il valore all’inizio della simulazione.
Perché è importante:
La variabile permette di controllare il comportamento del programma.
Esempio di codice:
Cosa faremo:
Calcolare l’impulso totale trasferito dalla particella nel corso del tempo quando questa colpisce la parete destra:
Creiamo una variabile globale Impulso e portiamola a 0
Creiamo una variabile locale vx uguale alla componente orizzontale della velocità
Stabiliamo se la particella ha appena urtato il bordo controllando se la componente orizzontale della velocità è ancora uguale al vecchio valore vx
in caso affermativo,
se il nuovo valore è negativo, incrementiamo Impulso di 2 vx
Perché è importante:
Introduciamo concetti di base della fisica (impulso = variazione di quantità di moto).
Esempio di codice:
Cosa faremo:
Creare 100 particelle clonando lo sprite originale.
Perché è importante:
Con la clonazione possiamo replicare il comportamento di una particella senza dover scrivere il codice per ogni sprite.
Esempio di codice:
Cosa faremo:
Calcolare la forza media (impulso totale diviso il tempo) e l’energia totale del sistema.
Perché è importante:
Queste variabili ci aiutano a monitorare il comportamento del sistema nel tempo.
Esempio di codice: