Registro del tiempo (PLANTILLA PARA ESTUDIANTES)

[color=#999999]Esta actividad pertenece al [i]libro de GeoGebra [/i][url=https://www.geogebra.org/m/nfjy7ug4]El dominio del Tiempo[/url].[/color][br][br]Veremos cómo podemos aprovechar el paso del tiempo y los vectores para realizar simulaciones de Física sin necesidad de recurrir al cálculo diferencial ni a la trigonometría y sin (casi) usar fórmulas. Con ello se pierde un pelín de exactitud, pero a cambio se gana simpleza y versatilidad.[br][br]Para lograrlo, lo primero que debemos hacer es recoger la hora del ordenador (u otro dispositivo que estemos usando) y usarla para contar el tiempo que transcurre desde que pulsamos el botón [img]https://www.geogebra.org/resource/yxbcmb2f/CZJZaLQBirTUHVXU/material-yxbcmb2f.png[/img].[br][br][color=#cc0000]El protagonista indiscutible de todas las simulaciones será el guion que asociemos a un deslizador animado. Llamaremos [i]"[/i][b]anima[/b][i]" [/i]a este deslizador, que creamos [b]de 0 a 1, con incremento 0.001[/b].[/color][br][br][b]TOMA DEL TIEMPO[/b][br][br]Tomaremos el tiempo real del reloj de tu dispositivo en un instante inicial [i]t0[/i] y, cada poco, el deslizador [b]anima[/b], en MOVIMIENTO PERPETUO (de ahí el título de esta presentación), se encargará de volverlo a tomar en un instante [i]t1[/i]. Llamaremos [i]tt[/i] al último instante registrado y [i]dt[/i] a la diferencia de tiempo (unas pocas centésimas de segundo) entre esos instantes de toma de tiempo. La variable [i]t[/i] almacenará el tiempo total, en segundos, transcurrido desde [i]t0[/i].[br][br]Para ello, creamos las variables que vamos a usar, con los siguientes valores iniciales:[br][br][b][b] t0[/b][/b] = {0, 0, 0} [b] [br] t1[/b] = {0, 0, 0} [b][b] [br] tt [/b][/b]= 0[b][b] [br] dt[/b][/b] = 0[b][br] t[/b] = (t1(3) < t0(3)) * 3600 + (t1(3) - t0(3)) * 60 + t1(2) - t0(2) + (t1(1) - t0(1)) / 1000 [br][br][list][*][color=#0000ff]t[/color] recoge los segundos transcurridos.[/*][*][color=#0000ff]dt[/color] almacenará el valor (t1(1) < tt) + (t1(1) − tt)/1000, es decir, recogerá  la [color=#0000ff]FRACCIÓN DE SEGUNDO TRANSCURRIDA[/color] entre dos ejecuciones del guion del deslizador [b]anima[/b].[/*][/list][br][b]BOTÓN [img]https://www.geogebra.org/resource/yxbcmb2f/CZJZaLQBirTUHVXU/material-yxbcmb2f.png[/img][/b][br]Creamos el botón [img]https://www.geogebra.org/resource/yxbcmb2f/CZJZaLQBirTUHVXU/material-yxbcmb2f.png[/img] con el siguiente guion "al clic", que toma la hora inicial {[i]milisegundos[/i], [i]segundos[/i], [i]minutos[/i]} y la asigna a [i]t0[/i] y [i]t1[/i]. Inmediatamente, activa el deslizador [b]anima[/b]. [br][br][color=#0000ff] Valor(t0, Primero(TomaTiempo(), 3))[br] Valor(t1, t0)[br] IniciaAnimación(anima, true)[/color][br][br][br][b]GUION DEL DESLIZADOR "anima[/b]"[br][br]En el deslizador [b]anima [/b]escribimos el siguiente guion "al actualizar"[b],[/b] que se encarga de actualizar [i]t1[/i] y registrar los segundos transcurridos ([i]dt[/i]) desde [i]tt[/i]:[br][br] [color=#cc0000] # Calcula los segundos dt transcurridos; para ello, suma un segundo si t1(1) < tt[/color][br][color=#0000ff] Valor(tt, t1(1))[br] Valor(t1, Primero(TomaTiempo(), 3))[br] Valor(dt, (t1(1) < tt) + (t1(1) [color=#0000ff]−[/color] tt)/1000)[/color][br][br][b][br]BOTÓN [img]https://www.geogebra.org/resource/hwdawgnn/MmhoDfF5M6lNH9D4/material-hwdawgnn.png[/img][/b][br][br]Finalmente, creamos el botón [img]https://www.geogebra.org/resource/hwdawgnn/MmhoDfF5M6lNH9D4/material-hwdawgnn.png[/img] con el siguiente guion "al clic":[br][color=#0000ff][br] Valor(anima, 0)[br] IniciaAnimación(anima, false)[br] Valor(t0, {0,0,0})[br] Valor(t1, t0)[/color]
[b]GUION DEL DESLIZADOR "anima[/b]" [br] [br]En el deslizador [b]anima [/b]escribimos el siguiente guion "al actualizar"[b],[/b] que se encarga de actualizar [i]t1[/i] y registrar los segundos transcurridos ([i]dt[/i]) desde [i]tt[/i]:[br] [br][color=#cc0000]# [/color][color=#cc0000]Calcula los segundos dt transcurridos; para ello, suma un segundo si t1(1) < tt[/color] [br][color=#0000ff]Valor(tt, t1(1)) [br][/color][color=#0000ff]Valor(t1, Primero(TomaTiempo(), 3)) [/color][br][color=#0000ff]Valor(dt, (t1(1) < tt) + (t1(1) − tt)/1000)[/color][br] [br] [br][br][color=#999999]Autor de la actividad y construcción GeoGebra: [url=https://www.geogebra.org/u/rafael]Rafael Losada[/url].[/color][br]

Information: Registro del tiempo (PLANTILLA PARA ESTUDIANTES)