2 - Les variables

Pedro77
9,651 views

Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content
Previous: Exercice 5

Exercice 6

Dans l’optique de développer une app pour smartphone permettant de localiser le DEA (Défibrillateur Externe Automatisé) le plus proche de vous et ainsi de peut-être sauver des vies, nous allons développer un prototype permettant de tester l’idée. Dans la problématique, il est nécessaire de pouvoir calculer la distance entre deux points du globe. Ecrivez en C un programme permettant de calculer une distance à partir de coordonnées GPS. Pour l’exercice, utilisez les formules suivantes :

x=(longitudeBlongitudeA)×cos(latitudeA+latitudeB2)
y=latitudeBlatitudeA
d=x2+y2×6371

Latitudes et longitudes - Schéma

Notes :

  • Dans cette formule, les latitudes et longitudes sont exprimées en radians.
  • L'utilisateur encondera les angles de latitudes et longitudes en degrés (comme c'est le cas conventionnellement).
  • Rappelons-nous que 180° = π radians !
  • En C, en ajoutant #include <math.h> en début de programme, on a droit à M_PI qui est la constante π (avec une précision suffisante)
  • Attention, avec Visual Studio, il est toutefois nécessaire d'ajouter la ligne
#define _USE_MATH_DEFINES

juste avant la ligne

#include <math.h>
  • La formule donne la distance en km entre les 2 points.
  • Les calculs peuvent être vérifiés facilement avec Google Maps ou bien avec les valeurs tests suivantes :
    latA = 50.661778
    longA = 5.523157
    latB = 49.000968
    longB = 3.413383
    -> latA (rad) = 0.884215
    -> longA (rad) = 0.096397
    -> latB (rad) = 0.855228
    -> longB (rad) = 0.059575
    -> x = -0.023752
    -> y = -0.028987
    -> d = 238.753505 (km)
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content