Convertisseur de distance


Accueil > Projets > Convertisseur de distance

Par Chausi Ursuegui T., Cymbler N. en novembre 2019

Ce projet a été réalisé par des élèves en spécialité NSI du Lycée Louis Pasteur. Ils sont également les auteurs de ce compte rendu. Pour en savoir plus : Les projets en spécialité NSI

Présentation

Ce projet a été réaliser par Chausi Ursuegui T. et Cymbler N. en classe de première G3 dans le cadre de leur enseignement de spécialité NSI (numérique et sciences de l’informatique), au lycée Louis Pasteur à Avignon .
Avec comme matériel un ordinateur équipé du logiciel Thonny.

Description de Projet

Ce projet est un programme écrit en Python qui sert dans plusieurs domaine à convertir n’importe quelle distance allant du Pico mètre jusqu’au Téra mètre. Nous avons décider de faire ce programme car de nombreux étudiants de tout âge rencontre ce problème particulièrement en physique chimie .

Notre programme
Version 1

  1. d = int(input("Indiquez la distance: "))
  2. print("pm / nm / µm / mm / cm / dm / m / dam / km / hm / M / G / T")
  3. u_d = input("Indiquez l'unité de départ: ")
  4. print("pm / nm / µm / mm / cm / dm / m / dam / km / hm / M / G / T")
  5.  
  6. if u_d =="Tm":
  7.     d_Tm = d
  8.     d_Gm = d * 1000
  9.     d_Mm = d *1000000
  10.     d_km = d * 1000000000
  11.     d_hm = d * 10000000000
  12.     d_dam = d * 100000000000
  13.     d_m = d * 1000000000000
  14.     d_dm = d * 10000000000000
  15.     d_cm = d * 100000000000000
  16.     d_mm = d * 1000000000000000
  17.     d_µm = d * 1000000000000000000
  18.     d_nm = d * 1000000000000000000000
  19.     d_pm = d * 1000000000000000000000000
  20.  
  21. if u_d =="Gm":
  22.     d_Tm = d / 1000
  23.     d_Gm = d
  24.     d_Mm = d * 1000
  25.     d_km = d * 1000000
  26.     d_hm = d * 10000000
  27.     d_dam = d * 100000000
  28.     d_m = d * 1000000000
  29.     d_dm = d * 10000000000
  30.     d_cm = d * 100000000000
  31.     d_mm = d * 1000000000000
  32.     d_µm = d * 1000000000000000
  33.     d_nm = d * 1000000000000000000
  34.     d_pm = d * 1000000000000000000000
  35.  
  36. if u_d =="Mm":
  37.     d_Tm = d / 1000000
  38.     d_Gm = d / 1000
  39.     d_Mm = d
  40.     d_km = d * 1000
  41.     d_hm = d * 10000
  42.     d_dam = d * 100000
  43.     d_m = d * 1000000
  44.     d_dm = d * 10000000
  45.     d_cm = d * 100000000
  46.     d_mm = d * 1000000000
  47.     d_µm = d * 1000000000000
  48.     d_nm = d * 1000000000000000
  49.     d_pm = d * 1000000000000000000
  50.  
  51. if u_d =="km":
  52.     d_Tm = d / 1000000000
  53.     d_Gm = d / 1000000
  54.     d_Mm = d / 1000
  55.     d_km = d
  56.     d_hm = d * 10
  57.     d_dam = d * 100
  58.     d_m = d * 1000
  59.     d_dm = d * 10000
  60.     d_cm = d * 100000
  61.     d_mm = d * 1000000
  62.     d_µm = d * 1000000000
  63.     d_nm = d * 1000000000000
  64.     d_pm = d * 1000000000000000
  65.  
  66. if u_d =="hm":
  67.     d_Tm = d / 10000000000
  68.     d_Gm = d / 10000000
  69.     d_Mm = d / 10000
  70.     d_km = d / 10
  71.     d_hm = d
  72.     d_dam = d * 10
  73.     d_m = d * 100
  74.     d_dm = d * 1000
  75.     d_cm = d * 10000
  76.     d_mm = d * 100000
  77.     d_µm = d * 100000000
  78.     d_nm = d * 100000000000
  79.     d_pm = d * 100000000000000
  80.  
  81. if u_d =="dam":
  82.     d_Tm = d / 100000000000
  83.     d_Gm = d / 100000000
  84.     d_Mm = d / 100000
  85.     d_km = d / 100
  86.     d_hm = d / 10
  87.     d_dam = d
  88.     d_m = d * 10
  89.     d_dm = d * 100
  90.     d_cm = d * 1000
  91.     d_mm = d * 10000
  92.     d_µm = d * 10000000
  93.     d_nm = d * 10000000000
  94.     d_pm = d * 10000000000000
  95.  
  96. if u_d =="m":
  97.     d_Tm = d / 1000000000000
  98.     d_Gm = d / 1000000000
  99.     d_Mm = d / 1000000
  100.     d_km = d / 1000
  101.     d_hm = d / 100
  102.     d_dam = d / 10
  103.     d_m = d
  104.     d_dm = d * 10
  105.     d_cm = d * 100
  106.     d_mm = d * 1000
  107.     d_µm = d * 1000000
  108.     d_nm = d * 1000000000
  109.     d_pm = d * 1000000000000
  110.  
  111. if u_d =="dm":
  112.     d_Tm = d / 10000000000000
  113.     d_Gm = d / 10000000000
  114.     d_Mm = d / 10000000
  115.     d_km = d / 10000
  116.     d_hm = d / 1000
  117.     d_dam = d / 100
  118.     d_m = d / 10
  119.     d_dm = d
  120.     d_cm = d * 10
  121.     d_mm = d * 100
  122.     d_µm = d * 100000
  123.     d_nm = d * 100000000
  124.     d_pm = d * 100000000000
  125.  
  126. if u_d =="cm":
  127.     d_Tm = d / 100000000000000
  128.     d_Gm = d / 100000000000
  129.     d_Mm = d / 100000000
  130.     d_km = d / 100000
  131.     d_hm = d / 10000
  132.     d_dam = d / 1000
  133.     d_m = d / 100
  134.     d_dm = d / 10
  135.     d_cm = d
  136.     d_mm = d * 10
  137.     d_µm = d * 10000
  138.     d_nm = d * 10000000
  139.     d_pm = d * 10000000000
  140.  
  141. if u_d =="mm":
  142.     d_Tm = d / 1000000000000000
  143.     d_Gm = d / 1000000000000
  144.     d_Mm = d / 1000000000
  145.     d_km = d / 1000000
  146.     d_hm = d / 100000
  147.     d_dam = d / 10000
  148.     d_m = d / 1000
  149.     d_dm = d / 100
  150.     d_cm = d / 10
  151.     d_mm = d
  152.     d_µm = d * 1000
  153.     d_nm = d * 1000000
  154.     d_pm = d * 1000000000
  155.  
  156. if u_d =="µm":
  157.     d_Tm = d / 1000000000000000000
  158.     d_Gm = d / 1000000000000000
  159.     d_Mm = d / 1000000000000
  160.     d_km = d / 1000000000
  161.     d_hm = d / 100000000
  162.     d_dam = d / 10000000
  163.     d_m = d / 1000000
  164.     d_dm = d / 100000
  165.     d_cm = d / 10000
  166.     d_mm = d / 1000
  167.     d_µm = d
  168.     d_nm = d * 1000
  169.     d_pm = d * 1000000
  170.  
  171. if u_d =="nm":
  172.     d_Tm = d / 1000000000000000000000
  173.     d_Gm = d / 1000000000000000000
  174.     d_Mm = d / 1000000000000000
  175.     d_km = d / 1000000000000
  176.     d_hm = d / 100000000000
  177.     d_dam = d / 10000000000
  178.     d_m = d / 1000000000
  179.     d_dm = d / 100000000
  180.     d_cm = d / 10000000
  181.     d_mm = d / 1000000
  182.     d_µm = d / 1000
  183.     d_nm = d
  184.     d_pm = d * 1000
  185.  
  186. if u_d =="pm":
  187.     d_Tm = d / 1000000000000000000000000
  188.     d_Gm = d / 1000000000000000000000
  189.     d_Mm = d / 1000000000000000000
  190.     d_km = d / 1000000000000000
  191.     d_hm = d / 100000000000000
  192.     d_dam = d / 10000000000000
  193.     d_m = d / 1000000000000
  194.     d_dm = d / 100000000000
  195.     d_cm = d / 10000000000
  196.     d_mm = d / 1000000000
  197.     d_µm = d / 1000000
  198.     d_nm = d / 1000
  199.     d_pm = d
  200.  
  201. u_a = input("Indiquez l'unité d'arrivée: ")
  202.  
  203. if u_a=="Tm":
  204.     print("La distance en Tm est %.2f Tm." % d_Tm)
  205.  
  206. if u_a=="Gm":
  207.     print("La distance en Gm est %.2f Gm." % d_Gm)
  208.  
  209. if u_a=="Mm":
  210.     print("La distance en Mm est %.2f Mm." % d_Mm)
  211.  
  212. if u_a=="km":
  213.     print("La distance en km est %.2f km." % d_km)
  214.  
  215. if u_a=="hm":
  216.     print("La distance en hm est %.2f hm." % d_hm)
  217.  
  218. if u_a=="dam":
  219.     print("La distance en dam est %.2f dam." % d_dam)
  220.  
  221. if u_a=="m":
  222.     print("La distance en m est %.2f m." % d_m)
  223.  
  224. if u_a=="dm":
  225.     print("La distance en dm est %.2f dm." % d_dm)
  226.  
  227. if u_a=="cm":
  228.     print("La distance en cm est %.2f cm." % d_cm)
  229.  
  230. if u_a=="mm":
  231.     print("La distance en mm est %.2f mm." % d_mm)
  232.  
  233. if u_a=="µm":
  234.     print("La distance en µm est %.2f µm." % d_µm)
  235.  
  236. if u_a=="nm":
  237.     print("La distance en nm est %.2f nm." % d_nm)
  238.  
  239. if u_a=="pm":
  240.     print("La distance en pm est %.2f pm." % d_pm)

Télécharger

Description du Programme

Voici la première version de notre programme alors nous avons détailler les calcul pour chaque conversions (de m en mm , de km en hm ...)et nous avons a la fin écrit une phrases de réponse pour touts les résultats en donnant l’unité donné par l’utilisateur et le résulta demandé .

Fonctionnement du programme

1-Indiquer le distance a convertir
2-Donner l’unité de départ
3-Donner l’unité d’arrivé
4-Vous avez le résultat

Une version améliorée

Notre programme
Version 2

  1. d = float(input("Indiquez la distance: "))
  2. print("pm = 0\tnm = 1\tµm = 2\tmm = 3\tcm = 4\tdm = 5\tm = 6\tdam = 7\thm = 8\tkm = 9\tMm = 10\nGm = 11\tTm = 12")
  3. u_d = int(input("Indiquez l'unité de départ: "))
  4. u_a = int(input("Indiquez l'unité d'arrivée: "))
  5. {exposant = [10**-12,10**-9,10**-6,10**-3,10**-2,10**-1,10**0,10**1,10**2,10**3,10**6,10**9,10**12]
  6. prefixe = ["pm","nm","µm","mm","cm","dm","m","dam","hm","km","Mm","Gm","Tm"]}
  7. d_c = d * exposant[u_d] / exposant[u_a]
  8. print(d_c,prefixe[u_a])

Télécharger

Explication du Programme

Après avoir fini la version 1 ont a trouvé que c’était beaucoup trop long et nous avons donc voulu le raccourcir .
Ont a donc chercher un moyen et nous avons trouve l’utilité des listes

exposant = [10**-12,10**-9,10**-6,10**-3,10**-2,10**-1,10**0,10**1,10**2,10**3,10**6,10**9,10**12]
prefixe = ["pm","nm","µm","mm","cm","dm","m","dam","hm","km","Mm","Gm","Tm"]

qui regroupe touts les calcul qu’il permette de faire la conversion de distance, et que l’on peut voir dans la version 1. Par contre même si nous sommes passer de 220 lignes a 8 lignes les possibilité sont les même ainsi que le fonctionnement . Nous avons décidé de remplacer int par float pour que vous puissiez convertir des décimaux .

Conclusion

J’espère que notre programme vous aidera pour toute vos conversions.
Si vous voulez vous pouvez le récupéré et rajouter d’autres unités de votre choix si vous vous en sentez capable.

Programme (ZIP - 401 octets)
Programme