Ejercicio obligatorio 1

Fecha de entrega: Jueves 28 de marzo

Introducción

Sabemos del CBC que \(v = \frac{dx}{dt}\) y que \(a = \frac{dv}{dt}\).

Si quisiéramos computar la velocidad de un cuerpo instante a instante, siendo el tiempo entre los instantes \(\Delta t\) entonces podemos decir que:

\(a = \frac{\Delta v}{\Delta t} \implies \Delta t\,a = \Delta v.\)

Si estamos partiendo de un instante de tiempo \(t_i\) nos moveremos a un instante de tiempo \(t_{i+1} = t_i + \Delta t\) y, usando la misma convención para la velocidad, podemos expresar la ecuación anterior como:

\(v_{i+1} = \Delta t\,a + v_i,\)

Análogamente podríamos desarrollar la ecuación de la posición pero para hacer el mismo desarrollo deberíamos asumir que \(\Delta t\) es pequeño y por lo tanto \(v_i \approx v_{i+1}\), por lo que es indistinto cual tomemos al desarrollar nuestra ecuación. Entonces podremos decir que:

\(x_{i+1} \approx \Delta t\, v_i + x_i.\)

Tenemos así dos ecuaciones para trazar la evolución de una partícula sometida a un MRUA.

Evolución en el tiempo

Se pide programar una función double computar_velocidad(double vi, double a, double dt); que dada la velocidad actual vi, la aceleración a y el paso temporal dt devuelva la velocidad del próximo instante.

Se pide programar una función double computar_posicion(double pi, double vi, double dt); que dada la posición actual pi, la velocidad actual vi y el paso temporal dt devuelva la posición del próximo instante.

Tiro oblicuo

Dadas las siguientes definiciones:

#define DT 0.001

#define G 9.81

#define VELOCIDAD_INICIAL 20
#define ANGULO_INICIAL 50

Se pide implementar un programa que calcule el tiro oblicuo de un proyectil que parte a velocidad VELOCIDAD_INICIAL m/s en un ángulo de ANGULO_INICIAL grados que parte de las coordenadas \(x_0 = 0, y_0 = 0\), siendo el eje \(x\) el horizontal y el eje \(y\) el vertical apuntando hacia arriba, por lo que la gravedad G apuntará en la dirección \(-y\).

El programa deberá imprimir en formato CSV las columnas \(t_i\), \(x_i\) y \(y_i\) desde el instante inicial y hasta que el proyectil descienda por debajo del eje \(y = 0\) para cada paso temporal.

Graficación

Se pide graficar la trayectoria que genera el programa como salida en el software de su preferencia (planilla de cálculos, octave, gnuplot, etc.)

Validación

Se pide calcular por otro método el problema planteado (esto puede ser analíticamente, mediante otro software, con alguna calculadora online, etc.) y comparar el resultado del instante final.

Entrega

Deberá entregarse:
  1. El código fuente del programa desarrollado.

  2. El gráfico de la trayectoria.

  3. El desarrollo de la validación del instante final.

La entrega se realiza por correo a la dirección algoritmos9511entregas en gmail.com (reemplazar en por arroba).

El ejercicio es de entrega individual.