Cerca

modulo attività

modulo tecnica

esperimenti

In questo articolo si illustrano i risultati di ulteriori esperimenti eseguiti con Scratch per sondarne alcune caratteristiche di velocità.

Viene provocata una rotazione di 7 gradi più volte e si cerca di misurare il tempo impiegato a compiere tutte le rotazioni richieste (nota 1) utilizzando sript differenti.

La rotazione multipla può essere effettuata vantaggiosamente utilizzando i cicli di ripetizione ma si va a scoprire che i comandi di controllo del flusso delle istruzioni hanno una notevole incidenza sui tempi di calcolo.

Può accadere di chiedersi quanto sia veloce Scratch ad eseguire dei calcoli.velocita scratch

Scratch è un linguaggio interpretato che provvede a tenere aggiornato un output grafico.

La grafica di Scratch deve permettere la rappresentazione di azioni in modo tale da assicurare una sufficiente fluidità dei movimenti da rappresentare.

Per assicurare questo requisito Scratch deve aggiornare il grafico con un ritmo minimo che sia sufficiente ad ingannare il cervello umano per assicurare la sensazione di movimento.

In un articolo precedente si è visto come disegnare poligoni e circonferenze sfruttando alcune caratteristiche di Scratch link1

Per approfondire la conoscenza del funzionamento di Scratch si possono sperimentare delle modifiche aglli script peer vedere cosa accade.


Già si è visto che verrà visionato solo l'ultimo comando del ciclo, come visibile in questo esperimento link1. Infatti, premendo [tasto 1] si realizza il moto orbitale previsto perchè l'ultima istruzione prima del termine del ciclo è "fai cento passi".

cerchi conTrucco

Scambiando l'ordine delle istruzioni interne al ciclo (quelle blu) le cose cambiano.

Con [tasto 2] oppure [tasto 3] si agisce su un ciclo dove l'ultima istruzione è diversa da "fai cento passi". In questo caso si osserva che l'oggetto ruotare su se stesso nella posizione centrale.

Con [tasto 4] si osserva l'effetto di una istruzione di attesa, seppur per un tempo nullo.

Anche l'istruzione di attesa consente il ridisegno dello stage.

L'oggetto viene posizionato al centro, lo stage viene ridisegnato, poi l'oggetto viene posizionato fuori e, di nuovo, lo stage viene ridisegnato.

Risultato: si vedono i percorsi a raggiera compiuti dall'oggetto.

 

Con [tasto 5] si prova a vedere cosa fa entro il termine di un secondo.

Risultato: compie 30-31 cicli di disegno. L'argomento è stato trattato in un altro articolo link1.

 

Con [tasto 6] si esegue più volte la sequenza principale senza l'uso di un ciclo ma disponendo una ripetizione continua tramite un messaggio di richiamo della sequenza stessa.

Quello che si osserva è fortemente dipendente dall'angolo di rotazione scelto. Non esiste più la circonferenza o il poligono ma varie figure geometriche regolari o spiraliformi.

Interessante è notare come si comporta con multipli di 9 o 36.

L'assenza di un ciclo e quindi della forzatura del ridisegno al termine di esso porta Scratch ad eseguiire il ridisegno al ritmo di 30 frame per secondo.

 

 

 

 

 

Lavorando con Scratch può accadere di imbattersi nel calcolo di derivate di funzioni trigonometriche.limSixSux

Nel libro "Cinematica 2 con Scratch" viene costruito il moto armonico a partire dalla velocià calcolata con

\[V_M*\cos(\omega*t)\]

Con una successiva costruzione puramente numerica si calcolano l'accelerazione e lo spazio percorso.

I risultati di queste due operazioni numeriche vengono confrontati con i risultati delle corrispondenti operazioni analitiche di derivazione ed integrazione.

Per considerare i risultati del calcolo numerico occorre ricordare che Scratch esegue calcoli con gli angoli espressi in gradi sessagesimali.

Nell'espressione di cui sopra, la grandezza ω è misurata in gradi/sec e non in rad/sec.