- TD3 : Module : Algorithmique et programmation. Langage : Python - 
INP Toulouse   Claude MONTEIL - Marc SOUQUES  Ecole Nationale Supérieure Agronomique de Toulouse   page 1/3 
TD3 : Les structures de données en Python : liste, fichier-texte. 
           Les traitements : fonction standard, fonction importé, fonction développeur 
Thème : Randonnée pédestre. 
1 - Présentation du thème de la randonnée 
On  souhaite  gérer  le  contexte  d'une  randonnée  pédestre  pour  laquelle  nous  traitons  plusieurs  points 
géographiques, avec la latitude, la longitude, l'altitude et l'heure (hh:mm:ss) de chaque point. 
2 - Travail à faire 
2.1 - Traiter  altitudes,  latitudes,  longitudes  et  heure  d'une 
série de points pour effectuer divers calculs 
Ouvrir le programme LireFichierRandonnee3_Distances-Vitesses-Debut.py où du code est déjà saisi. 
Remarque :  
NomProgrammeDebut pour un fichier de début de TD à compléter. 
NomProgramme pour un fichier de correction du TD proposé après chaque TD. 
 Ressources pour ce TD : 
Définitions : 
Latitude : coordonnée de position Nord-Sud mesurée ici en degrés / pôles 
Longitude : coordonnée de position Ouest-Est mesurée ici en degrés / Greenwich 
Méridien : demi-cercle imaginaire tracé sur le globe reliant les pôles 
Parallèle : cercle imaginaire reliant tous les lieux situés sur une même latitude. 
 
Formules : 
Distance en mètres entre 2 latitudes sur un méridien : la formule est donnée dans le code 
Distance en mètres entre 2 longitudes sur un parallèle : la formule est donnée dans le code 
Distance entre 2 points en 2D 'à plat' à altitude constante : voir théorème de Pythagore plus bas 
Distance entre 2 points en 3D 'en relief' à altitude variant : voir extension théorème de Pythagore plus bas 
 
Le théorème de Pythagore  indique  que, dans  un  triangle  rectangle :  le 
carré de la longueur de l’hypoténuse, qui est le côté opposé à l'angle droit, 
est  égal  à  la  somme  des  carrés  des  longueurs  des  deux  autres  côtés  :  
c2 = a2 + b2.  Donc la longueur de l'hypoténuse :   c =   . . .     
Pour nous : 
- a  est la distance entre 2 latitudes (Nord-sud). 
- b  est la distance entre 2 longitudes (Ouest-Est). 
- c  est la distance entre 2 points GPS (latitude ; longitude). 
 
Pour gérer le relief et donc l'altitude, calculer e en intégrant la distance d, 
donnée en mètres, entre 2 altitudes. 
Généraliser le théorème de Pythagore à cette 3° dimension ou 
considérer le triangle rectangle 'plat' de côtés c et d avec hypoténuse e. 
 
Python : 
Utiliser la bibliothèque math pour importer des fonctions :  
cosinus (cos), racine carrée (sqrt) et la constante pi. 
Pour élever un nombre au carré, utiliser : soit   x * x  ;  soit   x ** 2  (** pour puissance)