COMPUTACIÓN FÁCIL CON JAVIER
Curriculum Vit.
Quinto
Cuarto
Tercero
Segundo
Primero
Comunicación Virtual
FrontPage
Quinto
 
MOVIMIENTO RECTILÍNEO UNIFORMEMENTE VARIADO
Yo no se, si les gustará física, pero el ejemplo que vamos a ver tiene ver con eso.

Hablaremos del movimiento rectilíneo uniformemente variado, según la pagina 78 del libro de física de Jorge Mendoza(lo use en el colegio), dice:

“El Movimiento Rectilíneo Uniformemente Variado es aquel movimiento donde la trayectoria es una línea recta, variando progresivamente el valor de la velocidad, ya sea aumento o disminuyendo... el valor de la aceleración se mantiene constante”.

Vamos a suponer que se trate de un móvil que inicia del reposo y acelera de manera constante, lo que vamos a tratar de averiguar es el tiempo que demora en recorrer 6000 Km.

Nuestra variable será la aceleración, la formula que nos permitirá obtener el tiempo es:
e = Vi t + ½ at2

Al ser la velocidad inicial 0, por que parte del reposo, la formula se simplifica a:
e = ½ at2

Despejado el tiempo obtenemos:
t = sqrt(2e/a)

Donde sqrt, es la raíz cuadrada. (En un código de Visual Basic no puede colocar el símbolo de la raíz cuadrada, así que tiene que utilizar esta palabra. Además en Visual Basic es la función que permite obtener este cálculo).

Probemos:
Si el espacio a recorrer es 6000 km y la aceleración es 150 km/hr. ¿Cuánto demorará el auto en llegar a la meta?.

t = sqrt(2*6000/150)
t= 8.9442 hr

Espero que estés comprendiendo.

Continuemos, pero esta vez algo más complicado:
Para que el ejemplo sea interesante consideraremos dos móviles.
* Un Grand Kia 4x4 de 4 cilindros y 8 válvulas de 3500cc.
* Un Vitara 4x4 de 4 cilindros y 8 válvulas de 2500 cc.

Supongamos que el Grand Kia recorre con una aceleración de 200Km/hr y el Vitara con 180 Km/hr, sin duda el Grand Kia ganará, pero ¿en cuanto tiempo?.

Solución de el Grand Kia
volvamos a nuestra formula:
t = sqrt(2e/a)
t = sqrt(2*6000/200)
t = 7.7459 hr

Solución de el Vitara
Otra vez volvamos a nuestra fórmula:
t = sqrt(2e/a)
t = sqrt(2*6000/180)
t = 8,1649 hr

En el momento que llegó el Grand Kia a la meta (en 7.7459 hr), el Vitara ha recorrido solamente 5399.9065 Km.

EJEMPLO:
Ahora muy bien alumnos, elabore un programa que tome como única variable la aceleración de los autos, Que no solamente se obtenga los tiempos que demoren en recorrer, sino que de modo gráfico simule una competencia de dos autos y muestre la distancia que separa un vehículo del otro.

El programa funcionará de la siguiente manera:
· El tiempo que marca el cronómetro en segundos se mostrará en TxtTiempo.
· Los autos se situarán a una determinada distancia, de acuerdo a la propiedad Top.
· El espacio que recorrerán estará asociado a TxtEspacio (6000) y se controlará mediante la propiedad Left.
· Al final de la vía de cada auto, se tiene un cuadro de texto TxtTiempoAutoMarron y TxtTiempoAutoRojo que mostraran los tiempos de cada auto.
· Los datos que se ingresarán por teclado serán las aceleraciones, en TxtAceleracionAutoMarron y TxtAceleracionAutoRojo.
· El color del auto ganador se mostrará en la etiqueta LblGanador.
· Y a la derecha en TxtTiempoGanador el tiempo que hizo.

Elabore la siguiente interfaz de programa:
imagen

Cambia las siguientes propiedades:
imagen
En la lista de propiedades definidas hay una nueva DataFormat, con ella puede definir el tipo de valor que guardara el cuadro de texto.

El control que da inicio a la carrera es CmdInicio:

* En ella inicializamos TxtTiempo en 0 y ponemos en marca el cronómetro.

* Luego usando la fórmula e = ½ at2, se obtiene el tiempo que demora en recorrer los 6000 km cada vehículo.

* Deduciendo quien demoro menos tiempo, se muestra en TxtTiempoGanador el menos tiempo logrado, así como en LblGanador el color vehículo ganador.


Sabiendo esto, entonces escribimos el siguiente código:
imagen
El cronómetro en tiempo de diseño ha sido programado para llegar a 100 milisegundos, al transcurrir esta cantidad de tiempo se ha de ejecutar el procedimiento asociado:

* Incrementamos el tiempo de TxtTiempo en una unidad.

* Si este tiempo es mayor o igual al tiempo del ganador, entonces detenemos el cronometro.

* Caso contrario calcularemos el espacio recorrido por cada uno de los vehículos usando la formula: e = ½ at2, el resultado lo asignamos a la propiedad Left de cada vehículo, con lo que la imagen se habrá desplazado y con aceleración constante.

Sabiendo esto, entonces escribimos el siguiente código:
imagen
Cuando una línea es muy larga, puede partir en dos o mas líneas, para Visual Basic sepa que corresponde a una sola instrucción, al final de cada línea ponga el símbolo de subrayado “_”.

Como vio este ejemplo aparentemente complicado lo hemos resuelto sin necesidad de usar variables, fue suficiente saber referenciar.


MOVIMIENTO COMPUESTO
Volvamos a nuestro libro de física.

“Se denomina Movimiento Compuesto a la combinación de dos movimientos simples: el Movimiento Rectilíneo Uniforme (M.R.U.) y el Movimiento Rectilíneo Uniformemente Variado (M.R.U.V.). Cada uno de los movimientos componentes se cumple como si los demás no existiesen”.
imagen
Así si un helicóptero vuela a 200 metros de la superficie y dispara un proyectil a 80 m/s, donde la gravedad es de 10 m/s2 y se desea saber a que distancia ha de impactar, primero calcularíamos el tiempo que demoraría en hacer el impacto:
h = ½ gt²
t = sqrt(2e/g)
t = sqrt(2*200/10)
t = 6.3245 seg.

El proyectil llegara a su blanco en 6.3245 segundos, ahora pasamos a calcular la distancia en que impactará:
e =v.t
e =80 * 6.3245
e =505.96 m

Siga el mismo criterio para solucionar el siguiente programa que deberá presentar el día Miércoles 23 de Agosto en un disquete, o envié el trabajo como documento adjunto a mi correo electrónico: profe_javi_rodri@hotmail.com.

El Programa consiste en disparar un proyectil desde un acantilado y darle a un barco que se encuentra a cierta distancia. El cañón está ubicado a una altura de 2000 metros de la superficie del mar, la trayectoria del proyectil como en la realidad esta afectado por la gravedad y por la velocidad inicial. Si el proyectil da en el blanco se supone que deberá hundir el barco.

* Utilice las siguientes imágenes:
imagen
imagen
imagen
imagen
* Diseñe la siguiente interfaz de programa.
imagen





































































































































































































































































































































































































ESTIMADOS ALUMNOS ACA LES DOY EL CÓDIGO
-----------------------------------------------------

Private Sub cmdInicio_Click()
txtTiempo.Text = 0
tmrTiempo.Enabled = True
imgProyectil.Visible = True
imgBarcoMuerto.Visible = False
imgBarcoMuerto.Left = txtDistanciaBarco.Text
imgBarcoVivo.Left = txtDistanciaBarco.Text
imgBarcoVivo.ZOrder 0
txtTiempoImpacto.Text = Sqr(2 * 2000 / txtGravedad.Text)
txtDistanciaProyectil.Text = txtVelocidadProyectil.Text * txtTiempoImpacto.Text
End Sub


Private Sub cmdSalir_Click()
End
End Sub


Private Sub tmrTiempo_Timer()
txtTiempo.Text = txtTiempo.Text + 1
If Val(txtTiempo.Text) > Val(txtTiempoImpacto.Text) Then
tmrTiempo.Enabled = False
imgProyectil.Visible = False
End If
imgProyectil.Top = 700 + (txtGravedad.Text * txtTiempo.Text * txtTiempo.Text) / 2
imgProyectil.Left = 400 + txtVelocidadProyectil.Text * txtTiempo.Text
If (imgProyectil.Left >= imgBarcoVivo.Left - 300 And imgProyectil.Left <= imgBarcoVivo.Left + 300 And imgProyectil.Top = imgProyectil.Top) Then
imgBarcoMuerto.Visible = True
imgBarcoMuerto.ZOrder 0
End If
End Sub