Exercice 8 (travail pratique #1) : Collision avec le soleil
(à remettre le 20 janvier 2017)
Si la terre arrête de tourner autour du soleil, elle ira s’écraser sur le soleil. On vous demande d’écrire un
programme qui, connaissant la date à laquelle la terre a arrêté de tourner (année, jour, heure, minute) et la
distance précise en kilomètres entre la terre et le soleil à ce moment-là, calculera la date (à la seconde près)
de l’écrasement de la terre sur le soleil.
Pour la date, on vous demande de travailler constamment avec le format année/jour (pas de mois), i.e.
année, jour, heure et seconde. Par exemple, le 23 décembre 2016 est le 358ejour de l’année 2016 et le 1er
septembre 2016 est le 245ejour de l’année 2016. De plus, pour les besoins de ce programme, on ignore les
années bissextiles et on considère qu’il y a exactement 365 jours dans une année.
La formule suivante donne le temps que prendra la terre à s’écraser dans le soleil :
T=π
2r3
2MG
1
2
où Test le temps avant la collision exprimé en secondes,
rest le rayon de l’orbite terrestre exprimé en kilomètres,
Mreprésente la masse du soleil ≡1.989 ×1030Kg
Gest la constante de gravitation qui se trouve dans scipy.constants.G (import scipy.constants)
πse trouve dans math.pi (import math)
Votre programme lit donc en entrée :
— la date de l’arrêt (année, jour, heure et minute). Toutes ces valeurs sont entières.
— Il doit aussi lire la distance entre la Terre et le Soleil au moment de l’arrêt (qui est une valeur
réelle). On rappelle que le rayon moyen de l’orbite terrestre est d’environ 149500000 Kms.
On vous demande d’afficher les deux résultats suivants en sortie :
— Le temps avant la collision
Cette valeur sera exprimée en années, jours, heures, minutes et secondes. Toutes ces valeurs
doivent êtres entières. (entiers).
— La date de l’écrasement
Ce résultat est aussi affiché en années, jours, heures, minutes, secondes. Les valeurs affichées
sont entières.
Comme votre calcul produira un résultat en nombre de secondes avant la collision, vous devez
convertir ce temps en années, jours, heures, minutes et secondes grâce aux opérations arithmétiques
suivantes : addition, division entière et modulo. En utilisant l’heure comme exemple, div pour
représenter la division entière et mod pour représenter le modulo, les formules pour calculer le
nombre d’heures avant la collision sont :
— Heures avant collision = T0div nbr de secondes dans une heure
— Temps restant = T0mod nbr de secondes dans une heure
4