Section courante

A propos

Section administrative du site

La mesure de la température est l'une des notions scientifiques les plus couramment utilisées dans la vie quotidienne. Que ce soit en météorologie, en physique, en chimie, en ingénierie ou même dans les activités domestiques, il est souvent nécessaire de connaître avec précision le degré de chaleur ou de froid d'un environnement ou d'une substance. Pourtant, contrairement à ce que l'on pourrait croire, il n'existe pas une seule unité universelle de température. Au fil de l'histoire, plusieurs échelles ont été créées par différents scientifiques afin de répondre à des besoins particuliers. Certaines sont encore largement utilisées aujourd'hui, tandis que d'autres subsistent principalement dans les ouvrages historiques ou les documents scientifiques spécialisés.

Parmi les échelles les plus connues figure le degré Celsius, nommé en l'honneur de Anders Celsius, qui constitue aujourd'hui l'unité de référence employée par la majorité de la population mondiale. Les États-Unis utilisent encore largement l'échelle Fahrenheit, créée par Daniel Gabriel Fahrenheit au début du XVIIIe siècle. Dans le domaine scientifique, les physiciens privilégient souvent le Kelvin, une échelle absolue associée à William Thomson, car elle débute au zéro absolu, température théorique la plus basse possible. D'autres échelles, comme celles de Newton, de Rankine ou de Réaumur, témoignent également de l'évolution historique des méthodes de mesure de la température et de la diversité des approches développées au cours des siècles.

En informatique comme dans les applications scientifiques, il est souvent nécessaire de convertir rapidement une valeur d'une échelle vers une autre. Cette opération repose sur des formules mathématiques relativement simples, mais leur nombre peut devenir important lorsqu'il faut prendre en charge plusieurs systèmes de mesure différents. Le programme présenté ci-dessous rassemble ainsi plusieurs fonctions de conversion permettant de passer du Celsius au Fahrenheit, du Kelvin au Celsius, du Rankine au Fahrenheit, du Réaumur au Celsius ou encore du Newton au Celsius. Chaque fonction applique directement la formule mathématique appropriée afin de garantir des résultats précis et cohérents.

L'exemple en langage C illustre de manière concrète le fonctionnement de ces conversions à l'aide de plusieurs valeurs de référence. On y retrouve notamment le point de congélation et le point d'ébullition de l'eau, ainsi que le zéro absolu exprimé dans différentes unités. Les résultats affichés permettent de comparer facilement les diverses échelles et de mieux comprendre leurs relations. Cet exemple constitue une excellente introduction à la programmation scientifique et montre comment les opérations de conversion peuvent être automatisées efficacement. Il rappelle également que derrière les simples nombres affichés par un thermomètre se cache une longue histoire scientifique marquée par les travaux de nombreux chercheurs ayant contribué au développement des systèmes modernes de mesure de la température.

Le schéma suivant permet de représenté en fonction d'un domaine ou d'une région les températures utilisés :

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

A l'aide du code source C suivant, vous trouverez la réponse que vous souhaitez :

Essayer maintenant !
  1. #include <stdio.h>
  2.  
  3. double FahrToCent(double Fahr) {
  4.   return (5.0/9.0)*(Fahr-32.0);
  5.  }
  6.  
  7.  double CentToFahr(double Cent) {
  8.   return 1.8*Cent+32.0;
  9.  }
  10.  
  11.  double CentToKelvin(double Cent) {
  12.   return Cent+273.16;
  13.  }
  14.  
  15.  double KelvinToCent(double Kelvin) {
  16.   return Kelvin-273.16;
  17.  }
  18.  
  19.  double KelvinToFahr(double Kelvin) {
  20.   return 1.8*(Kelvin-273.16)+32.0;
  21.  }
  22.  
  23.  double RankineToCent(double Rankine) {
  24.   return (5.0/9.0)*(Rankine-491.69);
  25.  }
  26.  
  27.  double CentToRankine(double Celsius) {
  28.   return (Celsius*1.8)+491.69;
  29.  }
  30.  
  31.  double RankineToFahr(double Rankine) {
  32.   return Rankine-459.69;
  33.  }
  34.  
  35.  double ReaumurToCent(double Reaumur) {
  36.   return Reaumur*5/4;
  37.  }
  38.  
  39.  double NewtonToCent(double Newton) {
  40.   return Newton*100/33;
  41.  }
  42.  
  43.  
  44. void main() {
  45.      printf("0 Fahrenheit en Celsius: %f\n",FahrToCent(0));
  46.      printf("32 Fahrenheit en Celsius: %f\n ",FahrToCent(32));
  47.      printf("80 Fahrenheit en Celsius: %f\n\n",FahrToCent(80));
  48.      printf("0 Celcius en Fahrenheit: %f\n",CentToFahr(0));
  49.      printf("30 Celcius en Fahrenheit: %f\n",CentToFahr(30));
  50.      printf("100 Celcius en Fahrenheit: %f\n\n",CentToFahr(100));
  51.      printf("-273.16 Celsius en Kelvin: %f\n ",CentToKelvin(-273.16));
  52.      printf("0 Celsius en Kelvin: %f\n ",CentToKelvin(0));
  53.      printf("100 Celsius en Kelvin: %f\n\n ",CentToKelvin(100));
  54.      printf("0 Kelvin en Celsius: %f\n ",KelvinToCent(0));
  55.      printf("273,16 Kelvin en Celsius: %f\n ",KelvinToCent(273.16));
  56.      printf("373,16 Kelvin en Celsius: %f\n\n ",KelvinToCent(373.16));
  57.      printf("0 Kelvin en Fahrenheit: %f\n ",KelvinToFahr(0));
  58.      printf("273,16 Kelvin en Fahrenheit: %f\n ",KelvinToFahr(273.16));
  59.      printf("373,16 Kelvin en Fahrenheit: %f\n\n ",KelvinToFahr(373.16));
  60.      printf("0 Rankine en Celsius: %f\n ",RankineToCent(0));
  61.      printf("491,69 Rankine en Celsius: %f\n ",RankineToCent(491.69));
  62.      printf("671,69 Rankine en Celsius: %f\n\n",RankineToCent(671.69));
  63.      printf("-273,16 Celsius en Rankine: %f\n ",CentToRankine(-273.16));
  64.      printf("0 Celcius en Rankine: %f\n ",CentToRankine(0));
  65.      printf("100 Celcius en Rankine: %f\n\n ",CentToRankine(100.0));
  66.      printf("0 Rankine en Fahrenheit: %f\n ",RankineToFahr(0));
  67.      printf("491,69 Rankine en Fahrenheit: %f\n ",RankineToFahr(491.69));
  68.      printf("671,69 Rankine en Fahrenheit: %f\n\n",RankineToFahr(671.69));
  69.      printf("0 Réaumur en Celsius: %f\n ",ReaumurToCent(0));
  70.      printf("80 Réaumur en Celsius: %f\n ",ReaumurToCent(80));
  71.      printf("100 Réaumur en Celsius: %f\n\n",ReaumurToCent(100));
  72.      printf("0 Newton en Celsius: %f\n ",NewtonToCent(0));
  73.      printf("100 Newton en Celsius: %f\n ",NewtonToCent(100));
  74.      printf("200 Newton en Celsius: %f\n ",NewtonToCent(200));
  75. }

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


Dernière mise à jour : Samedi, le 22 août 2015