import numpy as np
import matplotlib.pyplot as plt

#Données
g,h,v0=9.8,1,3
#Lancer d'un projectile: utilisation de liste
lt,lz=[0],[h]
dt=20e-3
i=0
while lz[i]>0:
    lt.append(lt[i]+dt)
    lz.append(-g*lt[i+1]**2/2+v0*lt[i+1]+h)
    i=i+1
plt.plot(lt,lz)
plt.grid()
plt.xlabel('t(s)')
plt.ylabel('z(m)')
plt.show()

#Lancer d'un projectile: utilisation d'un vecteur
tf=v0/g+((v0**2/g**2)+(2*h/g))**0.5
def z(t):
    return -g*t**2/2+v0*t+h
t=np.linspace(0,tf,1000)
plt.plot(t,z(t))
plt.grid()
plt.xlabel('t(s)')
plt.ylabel('z(m)')
plt.show()

