Universidad Catolica de Temuco - Ingeniería Civil en Informática

martes, 13 de diciembre de 2011

Autos de Personas



Autos de Personas. 



Autor: Camilo Ariel Friz Gómez.
Competencias:  Creatividad e innovación.(Nivel 1).
Palabras claves: Java, Mysql, creatividad, innovación, programación, Base de Datos.



El problema de Autos de personas.

    El objetivo de esta aplicación es diseñar e implementar una aplicación que permita guardar, en una base de datos, los autos de una persona. Al ejecutar la aplicación, esta debe obtener todas las personas de la tabla “persona” y guardarlas en un TreeSet, el cual es mostrado en pantalla, esto con el objetivo de saber que personas existen para registrar sus autos. Luego, el usuario debe digitar el rut de una persona, para luego comenzar a ingresar los N autos que posee.   El software mantendrá todos los autos en cache (para esto utilice un ArrayList), antes de enviarlos en conjunto a la base de datos, ya que el programa debe entregar la libertad de ingresar todos los vehículos de una persona, sin reiniciar la aplicación. hay que definir un formato de como el usuario debe ingresar la patente, y valide esto mediante una excepción propia, de tal manera, que si esta no es ingresada con el formato definido por el programador, se debe volver a digitar.





Paso 2: Análisis y Diseño:

-ENTRADA = 182315222, YE2434, HYUNDAI, H100, 2006.

-PROCESO

*Mostrar en pantalla todas las personas de la tabla Personas en la base de datos (select * from Personas), guardándolo en un TreeSet.
*Verificar que la patente no este repetida o si está dentro de los parámetros predeterminados. Esto dentro de un método llamado “rango”
[ if ((pat.length() > 6) || (pat.length() < 6)) ]
*Si los datos están correctos, guarda en un ArrayList cada uno de los datos ingresados. De lo contrario, se deben volver a digitar.
*Luego, se da la posibilidad de volver a ingresar otro vehículo, al mismo rut o a otro.
*si se termina de agregar vehículos, se enviaran todos los datos guardados en el ArrayList a la base de datos.

-SALIDA =

(interna)
insert into vehiculo (patente, marca, modelo año, rut propietario) values (YE2434, HYUNDAI, H100, 2006, 182315222).
(externa)
“Todos los vehículos fueron ingresados Correctamente”.



Paso 3: Especificación en Diagrama de Clases:



Paso 4: Implementación en Java:

(clase Principal)






(Clase de la Excepción)




(clase Persona)




(clase vehículo)





Capturas:








Proyecto Final Programación I


Proyecto Final Programación I. 



Autor: Camilo Ariel Friz Gómez.
Competencias:  Creatividad e innovación.(Nivel 1).
Palabras claves: Java, Aerolínea, creatividad, innovación, programación.





INTRODUCCION

     En nuestros días, los viajes de largas distancias son más y más comunes, por lo que se hace necesaria una organización más estricta, detallada y a la vez más transparente de lo que pudieran transportar los usuarios. Esto se debe a que se han producido muchos problemas en el antiguo sistema en que tenían los envíos de equipajes, ocasionando incomodidades a muchos usuarios, que desconfiaban cada vez más de los servicios prestados por las empresas de transportes. Sin embargo, con la mayor demanda de los viajes de larga distancia, tanto por tierra, como por aire o por mar, los sistemas antes mencionados, se hacen cada vez más complejos con la finalidad de ser más eficientes, aunque dejan al usuario sin saber nada de su equipaje hasta una vez entregado.
     Nuestro desafío como grupo, es crear un programa sencillo que sea capaz de administrar de manera eficiente y transparente el estado del equipaje de los usuarios, para otorgarles confianza y brindar un mejor servicio.
     En el presente informe se describirá detalladamente el proyecto que se ha desarrollado durante las últimas tres semanas en las clases de programación, el cual consiste en un programa que registrará y controlará el equipaje de las aerolíneas SKYUCT®.

ANALISIS Y DISEÑO

     Este es un programa hecho a un nivel un tanto complejo para nosotros como estudiantes de primer año, con una sólida base de NetBeans, con un diseño innovador y sencillo entendible para cualquiera, y utilizable por casi cualquier persona, con una mezcla de imágenes diseñadas en paint, como algunas bajadas de la internet, y otras hechas por miembros del grupo para embellecer el proyecto.
Además de todo lo tenido en cuenta con este programa, cabe destacar además que como grupo, nos preocupamos de mantener el proyecto de la mejor manera posible, es decir, tratando de mantenerlo sobre los márgenes esperados en cada evaluación, considerando las fechas preestablecidas, rubricas entregadas y por supuesto, implementando –como fuera posible- los consejos recibidos para un mayor desempeño.
     Por último, en este programa, se ha establecido un primer frame de acceso, para poner un poco más de complejidad, del que no se podrá pasar sin un usuario y contraseña preestablecidas, sin embargo, las imágenes usadas, dejan ver una mayor sencillez en la estructura, ya que al no ser tan elaborados, hacen un ambiente más amigable y fácil de utilizar, atendiendo a la rapidez y la seguridad del equipaje de los usuarios de las aerolíneas SKYUCT®.

Descripciones de los objetos participantes:

En el software
1. Etiquetas
2. Frames
3. Cuadros de texto
4. Imágenes
5. Bases de datos


Etiquetas

     Utilizadas para designar aquellos cuadros de texto en los que el programa nos brinda la información, en conjunto con algunas imágenes que muestran en grandes rasgos que la información se ingresó exitosamente en el programa o que hay algún error, ya sea al momento de ingresar los datos, como al detectar alguna anormalidad en el proceso del tratamiento del equipaje.

Frames

     Se han utilizado un número considerable de Frames, ya que el programa en si funciona en ellos utilizándolos como base, en los frames aparecen todos los demás elementos, ya que es la ventana en que se ejecutan y se muestran haciendo que el programa funcione.

Cuadros de texto

     Es en ellos donde se ingressa la información, donde los empleados de SKYUCT® deben ingresar los datos pedidos por la empresa para poder tener el registro de todos los equipajes transportados por SKYUCT®.

Imágenes

     Usadas para el embellecimiento y facilitar el uso del programa y procedimiento llevado a cabo por nuestras aerolíneas, de manera de hacerlas más entendibles, incluso para los usuarios, quienes tendrán la oportunidad de ver en qué estado se encuentra su equipaje, brindándoles confianza y seguridad en su viaje.

Bases de datos

     Es en ellas donde se almacena la información ingresada en el programa, de esta manera, la aerolínea SKYUCT® tendrá un registro de todos y cada uno de los equipajes recibidos, transportados y entregados, esta base de datos también debería contar con un servidor en la web para así poder usar el programa en lugares distanciados y de esta manera saber del estado del equipaje en cuestión.

     Descripciones y objetivos de los controles usados

1. Menú
2. Botones

Menú

     Dado el diseño de nuestro programa, el menú de este consta de tres partes fundamentales para la ejecución y funcionalidad , ya que desde ahí, se accede a ingresar en nuestras bases de datos toda la información recibida por la empresa para el transporte del equipaje y la seguridad, de este modo también se puede tener acceso al estado y lugar donde se encuentran los cargos en cuestión, es decir, desde este menú, se puede ver si el equipaje ha sido abordado con éxito, si tal vez tuvo algún percance y no pudiese ser transportado como es debido, o cualquier detalle que estos elementos pudieran tener. Pasando ya de esto, tenemos también en este menú, un lugar para las referencias y manuales para el usuario, ya que si bien, el programa es sencillo de utilizar, cabe lugar para respaldar nuestro programa con ayuda y servicio técnico en caso de que este pudiera presentar algún error o mal funcionamiento, así como también para que no se le dé un uso indebido que conlleve a errores con el trabajo realizado.

Botones

     Son estos los que tienen una mayor preparación para este trabajo, ya que son los que realizan las acciones que el programa lleva a cabo, usados para verificar y devolver datos concretos por pantalla, o simplemente limpiarla, también está el botón para salir del programa, que fue todo un desafío para nuestro grupo, debido a que fue muy difícil hallar la manera de hacerlo responder a lo que queríamos.
     Cabe destacar que cada botón tiene su funcionalidad dentro del programa, porque cada acción realizada dentro del, es llevada a cabo por estos, que se encuentran tanto en los menús, como en las ventanas, haciendo más didáctico y a la vez más llamativo nuestro proyecto.
Diseño de pantallas

PANTALLA INICIAL:

     Es la primera pantalla que aparece al ejecutar el programa, consta de una imagen acompañada de dos cuadros de texto nombrados como usuario y contraseña, que se usa para autentificar e identificar a quien use el programa, desde aquí, teniendo el acceso, se puede pasar a las pantallas posteriores

PANTALLA GENERAL:

     Desde aquí, se ve el proceso global que sigue el equipaje desde que es recibido en nuestras oficinas hasta que es entregado de vuelta a nuestros pasajeros, viendo también las entidades que se ven relacionadas durante todo el proceso.

PANTALLA DE INGRESO:

     A ella ingresamos desde el primer menú de la barra de menús, aquí, se agregan los datos tanto del dueño del equipaje, como su equipaje con la finalidad de poderlos relacionar para no ocasionar perdidas ni retardos de entrega, además de informar desde aquí también si el paquete esta en condiciones de ser transportado o no.

PANTALLA DE SALIDA:

     Aquí es donde se puede registrar la entrega de los paquetes que son retirados satisfactoriamente, donde son sacados del proceso de transporte pero almacenados en nuestras base de datos en casos de disconformidades con los pasajeros.

PANTALLA DE CONTROL DE CARGA:

     Aquí es donde se regula el paso del equipaje, se nos muestra su estado y posibles desperfectos que puedan o no tener, que impida una entrega oportuna o quizás una retención debido a la infracción de las normas preestablecidas para el buen transporte del equipaje.


Reflexiones:

     Nuestro pequeño programa, es, un ejemplo de las bases desde donde evolucionaron los programas que regulan el equipaje de miles de usuarios día a día en sus viajes de larga y corta distancia, ya que están construidos en escala de muchísimas veces mayores en cuanto a capacidad de almacenamiento, como desarrollo del software en sí.
     Esto a su vez nos sirve como base de las próximas materias ya que nos deja en claro que la imaginación es muy importante al momento de diseñar, ya que al igual que la imaginación, la programación es limitada sólo por los recursos desde donde se está programando.
     Nos hemos dado cuenta también de que la programación es algo que se incorpora lentamente a la persona, ya que para programar, hay que hacerlo eficiente y velozmente, hasta llegar a hacerlo casi tan normal como leer o escribir, de modo que nos sea mucho más sencillo para planes futuros así como para tratar de enseñar esto a futuras personas que, como nosotros en este momento, estamos recién empezando en el amplio y detallado tema de la programación

Capturas:










viernes, 9 de diciembre de 2011


 El Robot Destructor. 



Autor: Camilo Ariel Friz Gómez.
Competencias:  Trabajo en Equipo.(Nivel 1).
Palabras claves: NXC, NXT, Robot, UCT.






En este trabajo les mostraremos, como logramos hacer que el robot chocara con sierto elemento (pilar),y al hacer el choque que éste reaccionara retrocediendo y emitiendo un sonido representando la explocion. Despues de esta explocion, el robot se dirigiese a otro pilar, haciendo los mismos procedimientos del primero. Al cabo de chocar y hacer explotar 5 pilares, éste emitira una melodia y asi terminara su recorrido.
 Como prueba concreta les mostraremos un video; tambien les mostraremos el codigo usado en este robot,y la solucion a los distintos problemas que tuvimos durante el desarrollo.


Estrategia de trabajo:


-Gerardo Sepúlveda:   fue nuestro jefe de grupo, ayudo en el desarrollo del código
                                   de” NXC”.

-Camilo Friz:  Fue nuestro productor multimedia, edito el video y fue nuestro apollo       
                     a la hora de editar el codigo para nuestro robot; ayudo a poner de
                     forma correcta las piezas de los sensores.

-Daniela Muñoz.:  fue nuestra secretaria, nos aporto con la camara para gravar el
                              Video y  le puso piezas al robot para que viera mas bonito y
                              Ayudo a crear el informe.


-Camilo Henríquez:  fue staff de apoyo.


  Nuestra solución al problema fue  tener datos concretos del desarrollo de la ejecucion del programa,  crear el codigo correcto y a la hora de ejecutar el codigo en el robot, colocar los pilares de forma necesaria para que este los pudiera  hacer explotar.


Modelo de la solución


Nuestra solución fue tratar de manejar bien los comandos para que el robot funcionara, como por ejemplos: el if  que es la sentencia SI,  el contador que nos sirve  para contar bien la cantidad de vueltas del “Repeat”, el while(true) para repetir infinitamente la ultima frecuencia y el PlayTone  que nos proporciona el sonido.


 Pseudocódigo Robot Destructor:



                   -Avanzar derecho indefinidamente hasta que toque algún pilar.
                   -Al chocar con el objeto, retroceder medio segundo.
                   -Emitir un sonido de detonación.
                   -Esperar 2 segundos.
                   -Realizar un giro entre 90º y 720º grados aleatoriamente.
                   -Avanzar derecho hasta encontrarse con otro pilar.
                   -Realizar todas estas operaciones, cuatro veces.
                   -Al chocar la quinta vez con un pilar, retroceder medio segundo.
                   -Emitir un sonido de que no queda dinamita.
                   -Detenerse.



Código del programa


//Grupo The BootFather...

intcontador=0;
intGiro;

task main()
{
SetSensorTouch(IN_1);
OnFwd(OUT_A, 78);
OnFwd(OUT_C, 75);            //EL ROBOT AVANZA DERECHO.
while (true)                            //SE HACE LA ULTIMA SENTENCIA INFINITAMENTE.

 {
if (SENSOR_1 == 1)           //SI EL SENSOR DE TACTO SE ACTIVA.
{
OnRev(OUT_AC, 75);
Wait(500);              //EL ROBOT RETROCEDE.
PlayTone(4000,1000);    //EL ROBOT EMITE UN SONIDO DE DETONACION.
Off(OUT_AC);
Wait(2000);             //SE DETIENE POR DOS SEGUNDOS.
OnRev(OUT_C, 75);
OnFwd(OUT_A, 75);
Giro =Random(2000)+700;
Wait (Giro);            //EL ROBOT GIRA EN SU EJE (GIRO ALEATORIO).
OnFwd(OUT_AC, 75);      //EL ROBOT AVANZA DERECHO.
contador++;             //EL ROBOT SUMA UN GIRO.
     }


if (contador==5)             //CUANDO EL CONTADOR MARQUE LA QUINTA VUELTA.
{
Off(OUT_AC);                 //SE DETIENE EL ROBOT.
PlayTone(5500, 1000);        //SE EMITE UN SONIDO. AVISA QUE NO TIENE DINAMITA.
Wait(1000);
StopAllTasks();              //SE DETIENE EL ROBOT COMPLETAMENTE Y FINALIZA.

}
}
}


Informe de Autoevaluación


               
Nombre
      Responsabilidad
(Es responsable en cumplir
  todas las tareas de su Rol)
Creatividad e Innovación
(Propone soluciones
creativas e innovadoras)
Camilo Friz
                 7.0
                7.0
Camilo Henríquez
                 4.0
                4.0
Daniela Muñoz
                 7.0
                7.0
Gerardo Sepúlveda
                 6.0
                6.0



                         Video del Robot Destructor



  



Conclusión


Al realizar éste trabajo, aprendimos como hacer que el robot cumpliera con funciones específicas y que al ejecutarlas  las hiciera igual como se le ordenaba.
 En éste robot, en especifico  tenia que hacer explotar 5 pilares y luego cantar una melodía, todo eso se fue posible gracias a los códigos que utilizamos en éste trabajo.







sábado, 3 de diciembre de 2011

Movimiento Rectilíneo Uniforme y Acelerado.



 Movimiento Rectilíneo Uniforme y Acelerado. 



Autor: Camilo Ariel Friz Gómez.
Competencias:  Aplica las Ciencias de la ingeniería.(Nivel 1).
Palabras claves: MRU, MRUA, NXC, Fisica.



¿Cómo uno puede saber el momento exacto de una colisión entre dos vehículos?, ¿A qué distancia ocurrirá el impacto?, todas estas dudas se pueden resolver a través de unos cálculos simples de problemas de encuentro de móviles con MRU.
Para realizar el siguiente informe, respondimos a algunas interrogantes planteadas por el profesor en una guía de trabajo sobre MRU, cuya metodología es calcular las pruebas teóricamente en primer lugar y luego realizar la prueba práctica con nuestros Robot Lego (adaptado para esta actividad) para comprobar los resultados de manera más interesante y eficiente.
Los resultados obtenidos se acercan bastantes a nuestros cálculos teóricos dándonos una gratificación extra por el buen resultado obtenido.
MOVIMIENTO RECTILÍNEO UNIFORME (M.R.U.)
El Movimiento Rectilíneo Uniforme es un movimiento con trayectoria rectilínea y está caracterizado por tener una velocidad constante. O sea el móvil con M.R.U. “recorre distancias iguales en tiempos iguales”.


Esta ecuación permite predecir en un momento futuro determinado cual será la posición del móvil con M.R.U. conociendo su velocidad, la posición inicial del mismo y el instante inicial del movimiento.
En la mayoría de los ejercicios, se toma para mayor simplicidad el instante inicial igual a cero, lo cual equivale a usar un cronómetro y ponerlo en cero al inicio del experimento. La ecuación horaria. Se transforma entonces en:

REPRESENTACIONES GRÁFICAS DEL M.R.U:

Esta última fórmula se puede representar gráficamente en un sistema de coordenadas cartesianas. La variable independiente es “t” y se representa en el eje horizontal y la función es “X” que se representa en el eje de ordenadas (vertical).


La representación gráfica de X = f (t) corresponde a una recta, cuya pendiente es la velocidad del móvil y cuya ordenada al origen es la posición inicial Xi.


Movimiento Rectilíneo Uniformemente Acelerado 

Evolución respecto del tiempo de la posición, de la velocidad y de la aceleración de un cuerpo sometido a un movimiento rectilíneo uniformemente acelerado, según la mecánica clásica.
El movimiento rectilíneo uniformemente acelerado (MRUA), también conocido como movimiento rectilíneo uniformemente variado (MRUV), es aquel en el que un móvil se desplaza sobre una trayectoria recta estando sometido a una aceleración constante.
Un ejemplo de este tipo de movimiento es el de caída libre vertical, en el cual la aceleración interviniente, y considerada constante, es la que corresponde a la gravedad.
También puede definirse el movimiento como el que realiza una partícula que partiendo del reposo es acelerada por una fuerza constante.
En el movimiento rectilíneo acelerado, la aceleración instantánea es representada como la pendiente de la recta tangente a la curva que representa gráficamente la función v(t).
La velocidad v para un instante t dado es:

v(t) = 1/2 at + v0
                             siendo v la velocidad Inicial


Finalmente la posición x en función del tiempo se expresa por:

x(t) = 1/2at2 + v0t + x0
Donde x0 es la posición inicial.

Además de las relaciones básicas anteriores, existe una ecuación que relaciona entre sí el desplazamiento y la rapidez del móvil. Ésta se obtiene despejando el tiempo y sustituyendo el resultado en:

v2 = 2a(x-x0) + vo2

A. Se requiere que tome datos del tiempo en segundos y de la posición en metros del robot tomando como referencia la primera línea que atraviesa. Con estos datos grafique y encuentre utilizando la herramienta de línea de tendencia de Excel o de cálculo, la función asociada a la tendencia que siguen estos datos.

Desarrollo:



B. Con la función de posición y tiempo, identifique la aceleración de su robot y la velocidad con la que inicia su movimiento.


C. Utilizando los datos de aceleración y velocidad inicial encontrados en el punto (b) , encuentre la función de la velocidad vs tiempo que representa a su robot y calcule la velocidad que lleva su robot en cada uno de los tiempos medidos en la tabla 1 , grafique estos datos ¿qué forma debe tener los datos de la velocidad vs tiempo?.

CONCLUSIONES PREVIAS:

-MRUA es aquel movimiento en el que un móvil se desplaza sobre una trayectoria recta estando sometido a una aceleración constante.
-La aceleración instantánea es representada como la pendiente de la recta tangente a la curva que representa gráficamente la función v(t).
-Las hojas de cálculo, como por ejemplo Excel, nos facilitan el trabajo para poder graficar los movimientos de aceleración, y también nos entrega la fórmula (en función del tiempo) para obtener una nueva distancia.
-Dando respuesta a la última pregunta (pregunta C), las dos líneas deberían formar una línea recta, ya que la aceleración es constante según el tiempo.

2) tiempo de encuentro y posición

Con su robot, y utilizando los datos de aceleración y velocidad inicial estimados en la actividad 1, se plantea el montaje de la figura adjunta. Utilizando un segundo robot (el cual se mueve con una velocidad contaste conocida (0,191 m/s)), se debe hacer un problema de encuentro.
Se requiere:
 Teóricamente calcular el tiempo y la posición de encuentro.
 Demostrar a través de montaje en laboratorio, que se cumple lo que entrega la teoría.




Desarrollo Actividad:
a) Del vehículo o robot 1 se pudo obtener los siguientes datos:

b) Velocidad inicial =0,024 m/s

-Aceleración = 0,024 m/s (0,012m/s *2(esto se debe a que Excel me entrega un medio de la aceleración total en la ecuación entregada en el gráfico)).

-Distancia inicial= 0 m.

Entonces la ecuación general para obtener la distancia en cualquier instante de tiempo (en mrua) del robot quedaría de la siguiente forma:
0,012T2+0,024T*0

Del vehículo o robot 2 se entregan los siguientes datos:
En si el robot es tiene una velocidad contante en el tiempo por ende no tiene aceleración, en otras palabras es un movimiento rectilíneo uniforme.

Velocidad= -0,191 m/s (el signo - , se debe a que el vehículo va en dirección contraria al robot 1).
Distancia inicial = 2,5 m.

Entonces la ecuación generar para obtener la distancia en cualquier instante de tiempo (en mru) del robot quedaría de la siguiente forma:

0,191T+2,5
El siguiente paso para poder calcular el tiempo en el cual se encontraran estos dos vehículos, es el de igualar las ecuaciones de posición de estos móviles con el fin de despejar tiempo.

0,012T2+0,024T*0=-0,191T+2,5
0,012T2+0,215T-2,5=0

Ahora se obtuvo una ecuación de segundo grado el cual se pude resolver a través de la fórmula más común de resolver este problema.

Remplazo de datos: 


Entonces el resultado de esta ecuación de segundo grados nos da 8,029 segundos, el cual corresponde al tiempo el cual demoran estos móviles en encontrarse.
Para poder obtener la distancia de en el cual se encuentran estos vehículos solo se debe remplazar el tiempo (8,029) en las ecuaciones de distancia de cada uno de estos móviles.
Móvil 1= 0,012*8,0292+0,024*8,029 = 0,966 m
Móvil 2= -0,191*8,029+2,5=0,966 m
Entonces se pude decir que estos móviles se encontraran a 8,029 segundos. iniciados su recorrido, en una distancia de 0,966 metros.

MECANISMOS DE VERIFICACIÓN

Para las actividades realizadas en este laboratorio el mecanismo de verificación que utilizamos fue el de realizar los cálculos numéricos en el cuaderno y luego procedíamos a realizarlos con nuestro robot de forma práctica para todos las interrogantes planteas.
Desde calcular la velocidad de nuestro robot mediante los datos entregados por el programa y luego los transcribimos los datos a Excel y mediante la regresión obtuvimos la velocidad para las diversas potencias. También podríamos haber realizado el cálculo manualmente mediante la fórmula de velocidad= d/t, ya que teníamos los datos que nosotros habíamos medido de manera confiable Para calcular la distancia recorrida luego de un cierto tiempo lo verificamos directamente midiendo cuanto avanzo nuestro robot y comparando con nuestros cálculos teóricos.
Y para el problemas de choque luego de calcular la velocidad de nuestros robot, creamos un programa simple en NXC que hiciera avanzar el robot de forma recta por el tiempo que nosotros quisiéramos y en nuestro casi seria el tiempo calculado teóricamente, y así se pudo corroborar que tan acertados habían sido nuestras estimaciones y cálculos previo, y para la distancia la medimos para ver si era la que se había calculado anteriormente.

REFLEXIONES.

En este informe se logró completar todos los objetivos que se nos plantearon:
El desarrollo de la actividad 2 no fue problema, ya que al tener los datos de los dos vehículos (uno entregados por el profesor y otro calculados en la actividad uno) se ha hecho fácil remplazar los datos en las ecuaciones correspondientes.
Una vez obtenidas las ecuaciones de cada uno de estos movimientos, se han igualado y luego despajado el tiempo, recurriendo a la solución general de una ecuación de segundo grado obteniendo así el tiempo en que demoran en colisionar estos vehículos.
Una vez obtenido el tiempo, se pudo obtener la distancia aproximada del recorrido de estos dos vehículos al momento de colisionar, solo se debe remplazar la el tiempo en las ecuaciones obtenidas en Excel u/o realizase por el alumno en cada caso.