Caída libre de un objeto: altura máxima y tiempo en caer

Eduardo Fernández González

/* Este programa calcula el tiempo que tarda un objeto en caer al suelo en función de una altura y una velocidad de lanzamiento vertical dadas. En caso de que el lanzamiento sea hacia arriba también calcula la altura máxima que alcanza dicho objeto.

NOTA: En caso de que el lanzamiento sea hacia abajo en el apartado velocidad a la que es lanzado el objeto hacia arriba deberá introducirse un 0 y en el apartado de velocidad a la que es lanzado el objeto hacia abajo el número correspondiente

Las unidades usadas son metros, segundos y metros/segundos (m/s) por lo que será en estas unidades en las que deberán introducirse los datos. */

/* Este programa calcula el tiempo que tarda un objeto en caer al suelo en funcion de una altura y una velocidad de lanzamiento vertical dadas. En caso de
que el lanzamiento sea hacia arriba también calcula la altura maxima que alcanza el objeto

NOTA: en caso de que el objeto sea lanzado hacia el suelo, se debera introducir 0 en el apartado
 de la velocidad a la que dicho objeto es lanzado hacia arriba y el numero correspondiente en el apartado de la velocidad hacia abajo

Las unidades que se usan son metros, segundos y metros/segundos(m/s) por lo que sera en estas unidades en las que deberan introducirse los datos.
*/

#include <iostream>
#include <math.h>

using namespace std;

#define g 9.8

int main()
{
    double tiempo, v_abajo, altura, v_arriba, altura_max;

cout << "Introduce la altura en metros desde la que es lanzado el objeto: " ;
cin >> altura;
cout << "\n";
cout << "Introduce la velocidad en m/s a la que es lanzado el objeto hacia arriba: ";
cin >> v_arriba;
cout << "\n";

    if (v_arriba==0) {
        cout << "Introduce la velocidad en m/s a la que es lanzado el objeto hacia abajo: ";
        cin >> v_abajo;
        cout << "\n" << "\n";
        tiempo = ((-v_abajo)+sqrt(pow(v_abajo,2)+4*altura*(g/2)))/g;
        cout << "El tiempo que tarda el objeto en llegar al suelo son " <<tiempo <<" segundos" <<endl;

        }
    else {
        tiempo= (v_arriba+sqrt(pow(v_arriba,2)+4*altura*(g/2)))/g;
        cout << "\n" << "El tiempo que tarda el objeto en llegar al suelo es: " <<tiempo <<" segundos" <<endl;
        altura_max =((pow(v_arriba,2))/(2*g))+altura;
        cout <<"\n" <<"\n" <<"La altura maxima que alcanza el objeto es: " <<altura_max <<" metros" <<"\n" <<"\n";

    }

  return 0;
}

Acerca de programacion1z

Curso de introducción a la programación en C
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Deja un comentario