Section courante

A propos

Section administrative du site

Les unités de mesure utilisées pour exprimer la température de l'air, qu'il fasse chaud ou froid, sont nombreuses et ont évolué au fil de l'histoire des sciences. Selon les pays, les domaines d'application et les traditions scientifiques, différentes échelles thermométriques peuvent être employées pour représenter une même température. Ainsi, alors que le degré Celsius est aujourd'hui l'unité la plus répandue auprès du grand public et dans la plupart des pays du monde, d'autres échelles demeurent utilisées dans certains contextes particuliers. Le degré Fahrenheit reste notamment très populaire aux États-Unis, tandis que le kelvin est l'unité privilégiée dans les laboratoires scientifiques et les travaux de physique.

Au cours des siècles, plusieurs savants ont proposé leur propre système de mesure de la température afin de répondre aux besoins de leur époque. C'est ainsi qu'ont vu le jour les échelles Celsius, Fahrenheit, Kelvin, Réaumur, Newton et Rankine. Certaines de ces unités sont encore couramment employées, alors que d'autres sont principalement rencontrées dans des ouvrages historiques, des textes scientifiques anciens ou des études spécialisées portant sur l'histoire des sciences. Chacune possède ses propres points de référence et sa propre méthode de graduation, ce qui explique la nécessité de disposer de formules permettant de convertir facilement une température d'une échelle à une autre :

Unités de mesure Utilisation Date de création Origine du nom
Celsius Unité de mesure international utilisé par le grand publique 1948 Anders Celsius
Fahrenheit Unité de mesure surtout utilisé par les américains 1724 Daniel Gabriel Fahrenheit
Kelvin Unité de mesure surtout utilisé par les physiciens 1954 Lord Kelvin
Newton Unité de mesure utilisé en histoire Environ 1700 Isaac Newton
Rankine Unité de mesure surtout utilisé par les physiciens 1859 William John Macquorn Rankine
Réaumur Unité de mesure utilisé en histoire 1731 René-Antoine Ferchault de Réaumur

Le tableau suivant présente les principales unités de mesure de la température, leur domaine d'utilisation, leur date d'apparition ainsi que l'origine de leur nom. Il permet de mieux comprendre l'évolution des méthodes de mesure thermique et l'influence des grands scientifiques qui ont contribué à leur développement.

Dans le domaine de la programmation, il est souvent utile de pouvoir effectuer automatiquement ces conversions afin de traiter des données météorologiques, scientifiques ou industrielles. Qu'il s'agisse d'un logiciel de prévisions météorologiques, d'un système de surveillance environnementale ou simplement d'un exercice pédagogique, la conversion entre les différentes échelles de température constitue un excellent exemple d'application des formules mathématiques dans un programme informatique.

À l'aide du code source Delphi présenté ci-dessous, vous pourrez convertir des températures entre les principales échelles utilisées dans le monde scientifique et technique. Les fonctions proposées permettent notamment de passer du Fahrenheit au Celsius, du Celsius au Kelvin, du Kelvin au Fahrenheit, ainsi que d'effectuer diverses conversions impliquant les échelles Rankine, Réaumur et Newton. Vous trouverez ainsi une solution simple et complète pour manipuler et comparer ces différentes unités de température tout en découvrant les relations mathématiques qui les unissent :

  1. Program MeteoConv;
  2.  
  3. {$APPTYPE CONSOLE}
  4. Uses SysUtils;
  5.  
  6. Function FahrToCent(Fahr:Real):Real;Begin
  7.  FahrToCent := (5.0/9.0)*(Fahr-32.0);
  8. End;
  9.  
  10. Function CentToFahr(Cent:Real):Real;Begin
  11.  CentToFahr := 1.8*Cent+32.0;
  12. End;
  13.  
  14. Function CentToKelvin(Cent:Real):Real;Begin
  15.  CentToKelvin := Cent+273.16;
  16. End;
  17.  
  18. Function KelvinToCent(Kelvin:Real):Real;Begin
  19.  KelvinToCent := Kelvin-273.16;
  20. End;
  21.  
  22. Function KelvinToFahr(Kelvin:Real):Real;Begin
  23.  KelvinToFahr := 1.8*(Kelvin-273.16)+32.0;
  24. End;
  25.  
  26. Function RankineToCent(Rankine:Real):Real;Begin
  27.  RankineToCent := (5.0/9.0)*(Rankine-491.69);
  28. End;
  29.  
  30. Function CentToRankine(Celsius:Real):Real;Begin
  31.  CentToRankine := (Celsius*1.8)+491.69;
  32. End;
  33.  
  34. Function RankineToFahr(Rankine:Real):Real;Begin
  35.  RankineToFahr := Rankine-459.69;
  36. End;
  37.  
  38. Function ReaumurToCent(Reaumur:Real):Real;Begin
  39.  ReaumurToCent := Reaumur*5/4;
  40. End;
  41.  
  42. Function NewtonToCent(Newton:Real):Real;Begin
  43.  NewtonToCent := Newton*100/33;
  44. End;
  45.  
  46. BEGIN
  47.  WriteLn('0 Fahrenheit en Celsius: ',FahrToCent(0));
  48.  WriteLn('32 Fahrenheit en Celsius: ',FahrToCent(32));
  49.  WriteLn('80 Fahrenheit en Celsius: ',FahrToCent(80));
  50.  WriteLn;
  51.  WriteLn('0 Celcius en Fahrenheit: ',CentToFahr(0));
  52.  WriteLn('30 Celcius en Fahrenheit: ',CentToFahr(30));
  53.  WriteLn('100 Celcius en Fahrenheit: ',CentToFahr(100));
  54.  WriteLn;
  55.  WriteLn('-273,16 Celsius en Kelvin: ',CentToKelvin(-273.16));
  56.  WriteLn('0 Celsius en Kelvin: ',CentToKelvin(0));
  57.  WriteLn('100 Celsius en Kelvin: ',CentToKelvin(100));
  58.  WriteLn;
  59.  WriteLn('0 Kelvin en Celsius: ',KelvinToCent(0));
  60.  WriteLn('273,16 Kelvin en Celsius: ',KelvinToCent(273.16));
  61.  WriteLn('373,16 Kelvin en Celsius: ',KelvinToCent(373.16));
  62.  WriteLn;
  63.  WriteLn('0 Kelvin en Fahrenheit: ',KelvinToFahr(0));
  64.  WriteLn('273,16 Kelvin en Fahrenheit: ',KelvinToFahr(273.16));
  65.  WriteLn('373,16 Kelvin en Fahrenheit: ',KelvinToFahr(373.16));
  66.  WriteLn;
  67.  WriteLn('0 Rankine en Celsius: ',RankineToCent(0));
  68.  WriteLn('491,69 Rankine en Celsius: ',RankineToCent(491.69));
  69.  WriteLn('671,69 Rankine en Celsius: ',RankineToCent(671.69));
  70.  WriteLn;
  71.  WriteLn('-273,16 Celsius en Rankine: ',CentToRankine(-273.16));
  72.  WriteLn('0 Celcius en Rankine: ',CentToRankine(0));
  73.  WriteLn('100 Celcius en Rankine: ',CentToRankine(100.0));
  74.  WriteLn;
  75.  WriteLn('0 Rankine en Fahrenheit: ',RankineToFahr(0));
  76.  WriteLn('491,69 Rankine en Fahrenheit: ',RankineToFahr(491.69));
  77.  WriteLn('671,69 Rankine en Fahrenheit: ',RankineToFahr(671.69));
  78.  WriteLn;
  79.  WriteLn('0 Réaumur en Celsius: ',ReaumurToCent(0));
  80.  WriteLn('80 Réaumur en Celsius: ',ReaumurToCent(80));
  81.  WriteLn('100 Réaumur en Celsius: ',ReaumurToCent(100));
  82.  WriteLn;
  83.  WriteLn('0 Newton en Celsius: ',NewtonToCent(0));
  84.  WriteLn('100 Newton en Celsius: ',NewtonToCent(100));
  85.  WriteLn('200 Newton en Celsius: ',NewtonToCent(200));
  86. END.

on obtiendra le résultat suivant :

0 Fahrenheit en Celsius: -17,7778
32 Fahrenheit en Celsius: 0
80 Fahrenheit en Celsius: 26,6667

0 Celcius en Fahrenheit: 32
30 Celcius en Fahrenheit: 86
100 Celcius en Fahrenheit: 212

-273.16 Celsius en Kelvin: 0
0 Celsius en Kelvin: 273,16
100 Celsius en Kelvin: 373,16

0 Kelvin en Celsius: -273,16
273,16 Kelvin en Celsius: 0
373,16 Kelvin en Celsius: 100

0 Kelvin en Fahrenheit: -459,688
273,16 Kelvin en Fahrenheit: 32
373,16 Kelvin en Fahrenheit: 212

0 Rankine en Celsius: -273,161
491,69 Rankine en Celsius: 0
671,69 Rankine en Celsius: 100

-273,16 Celsius en Rankine: 0,002
0 Celcius en Rankine: 491,69
100 Celcius en Rankine: 671,69

0 Rankine en Fahrenheit: -459,69
491,69 Rankine en Fahrenheit: 32
671,69 Rankine en Fahrenheit: 212

0 Réaumur en Celsius: 0
80 Réaumur en Celsius: 100
100 Réaumur en Celsius: 125

0 Newton en Celsius: 0
100 Newton en Celsius: 303,03
200 Newton en Celsius: 606,061

Voir également

Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - FahrenheitToCelsius
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - CelsiusToFahrenheit
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - Convert

Dernière mise à jour : Dimanche, le 17 août 2014