Les fonctions sur Python sont définies par « def« .
Exemples :
Calcul du carré de -2 avec la fonction carre
def carre(x): y=x*x return y carre(-2)
Calcul de la valeur absolue de -2 avec la fonction valeur_absolue
def valeur_absolue(x): if x>=0: return x else: return -x valeur_absolue(-2)
Calcul de l’intensité de pesanteur sur Terre avec la fonction g
#calcul du champ de pesanteur g sur la Lune G=6.67e-11 def g(M,Rt,h): return G*M/(Rt+h)**2 g(5.98e24,6380e3,0)
Calcul de l’intensité de pesanteur sur Terre avec la fonction g
#calcul du champ de pesanteur g sur la Lune G=6.67e-11 def g(M,Rl,h): return G*M/(Rl+h)**2 g(5.98e24,1737e3,0)
Calcul des intensités des pesanteurs au point milieu situé entre la terre et la lune. Si gterre >glune on élimine la moitié la plus proche de la terre et on recommence.
#On prend pour origine le centre de la terre #On place deux points A à la surface de la terre et B à la surface de la lune xA=rayon_terre xB=d_terre_lune-rayon_lune liste=[] xM=(xA+xB)/2 #xL est la distance du point M par rapport au centre de la lune xL=d_terre_lune-xM g_terre=champ_pesanteur(rayon_terre,masse_terre,xM) g_lune=champ_pesanteur(rayon_lune,masse_lune,xL) ecart=g_terre-g_lune print(int(xM)) print(ecart)
#On prend pour origine le centre de la terre #On place deux points A à la surface de la terre et B à la surface de la lune xA=194521500 xB=d_terre_lune-rayon_lune liste=[] xM=(xA+xB)/2 #xL est la distance du point M par rapport au centre de la lune xL=d_terre_lune-xM g_terre=champ_pesanteur(rayon_terre,masse_terre,xM) g_lune=champ_pesanteur(rayon_lune,masse_lune,xL) ecart=g_terre-g_lune print(int(xM)) print(ecart)
Exploiter les activités précédentes pour écrire un seul programme permettant de localiser le point recherché avec la précision souhaitée.
#données d_terre_lune=384.4E6 rayon_terre=6380E3 rayon_lune=1737E3 masse_terre=5.98E24 masse_lune=7.34E22 G=6.67E-11 #calcul du champ de pesanteur g def champ_pesanteur(rayon_planete,masse_planete,rayon_trajectoire): g=G*masse_planete/(rayon_trajectoire**2) return g #dichotomie xA=rayon_terre xB=d_terre_lune-rayon_lune dif=1 while dif >1E-5: xM=(xA+xB)/2 xL=d_terre_lune-xM g_terre=champ_pesanteur(rayon_terre,masse_terre,xM) g_lune=champ_pesanteur(rayon_lune,masse_lune,xL) ecart=g_terre-g_lune if ecart>0: xA=xM else: xB=xM dif=valeur_abs(ecart) print(int(xM))
Aucune réponse