Pour calculer la hauteur d’un plafond nuageux, il y a plusieurs techniques :
La Première : On calcule la température de rosée, ce qui nous permet de calculer la hauteur du plafond nuageux.
import math
a=17.27
b=237.7
temperature=float(input("Température en °C : "))
humiditeRelative=float(input("Thumidité en% entre 0 et 100 : "))
alpha=((a*temperature)/(b+temperature) +math.log(humiditeRelative/ 100))
tpreRosee = (b* alpha) / (a-alpha)
plafondNuage = 125 * (temperature -tpreRosee)
print("température de rosée = ",tpreRosee,"°C")
print("plafond Nuageux = ",plafondNuage,"m")
Voici le résultat obtenue : Température en °C : 20
Thumidité en% entre 0 et 100 : 50 (T pour Taux).
température de rosée = 9.254294282076941 °C
plafond Nuageux = 1343.2132147403825 m
La Deuxième : Amélioration du calcul avec une fonction
import math
a=17.27
b=237.7
def plafondNuageux(tpre,tH):
alpha=((a*tpre)/(b+tpre) +math.log(tH / 100))
t_rosee = (b* alpha) / (a-alpha)
plafondNuage = 125 * (tpre -t_rosee)
return t_rosee,plafondNuage
tpreRosee,plafondNuage=plafondNuageux(20,50)
print("température de rosée = ",tpreRosee,"°C")
print("plafond Nuageux = ",plafondNuage,"m")
Voici le résultat obtenue : température de rosée = 9.254294282076941 °C
plafond Nuageux = 1343.2132147403825 m
La deuxième partie est plus pour préciser les éléments du programme :
On précise les types des arguments de la fonction et de la donnée retournée
import math
a=17.27
b=237.7
def plafondNuageux(tpre:float,tH:float)->tuple:
alpha=((a*tpre)/(b+tpre) +math.log(tH / 100))
t_rosee = (b* alpha) / (a-alpha)
plafondNuage = 125 * (tpre -t_rosee)
return t_rosee,plafondNuage
tpreRosee,plafondNuage=plafondNuageux(20,50)
print("température de rosée = ",tpreRosee,"°C")
print("plafond Nuageux = ",plafondNuage,"m")
Voici le résultat obtenue : température de rosée = 9.254294282076941 °C
plafond Nuageux = 1343.2132147403825 m
On documente la fonction
import math
a=17.27
b=237.7
def plafondNuageux(tpre:float,tH:float)->tuple:
"""
La temperature doit être en °C et tH. l'humidité relative est comprise entre 0 et 100
la fonction renvoi un tuple contenant la temperature de rosée puis le plafond nuageux.
"""
alpha=((a*tpre)/(b+tpre) +math.log(tH / 100))
t_rosee = (b* alpha) / (a-alpha)
plafondNuage = 125 * (tpre -t_rosee)
return t_rosee,plafondNuage
tpreRosee,plafondNuage=plafondNuageux(15,0.01)
print("température de rosée = ",tpreRosee,"°C")
print("plafond Nuageux = ",plafondNuage,"m")
Voici le résultat obtenue : température de rosée = -76.43326065613661 °C
plafond Nuageux = 11429.157582017076 m
Et si on rentre la fonction help(plafondNuageux) dans la console, ce message va s’afficher :
“Help on function plafondNuageux in module __main__: plafondNuageux(tpre: float, tH: float) -> tuple La temperature doit être en °C et tH. l’humidité relative est comprise entre 0 et 100 la fonction renvoi un tuple contenant la temperature de rosée puis le plafond nuageux.”
Le code en HTML avec du Javascript
<html lang="fr">
<head>
<title>Nuages</title>
<meta charset="UTF-8" />
<link rel=" stylesheet" href="nuages.css" />
</head>
<script>
function affiche() {
var temperature =parseFloat(prompt('température en°C?'));
var humiditeR =parseFloat(prompt('humidité relative en %?'));
var a = 17.27;
var b = 237.7;
var meteo=""
var alpha = a * temperature / (b + temperature) + Math.log(humiditeR * 0.01);
var pointRosee = b * alpha / (a - alpha);
var plafondNuage = 125 * (temperature - pointRosee)
var plafondNuageFt =400*(temperature - pointRosee)
if(isNaN(plafondNuage)||humiditeR>100||humiditeR<0||isNaN(humiditeR)){meteo="erreur"}
else{
meteo = "Le point de rosée est égal à " + pointRosee.toFixed(0) + "°C " +"et la base des nuages est à " + plafondNuage.toFixed(0) + "m .";
meteo = meteo + "<br><b>soit " + plafondNuageFt.toFixed(0) + " ft .</b>";
}
document.getElementById("test").innerHTML = "<b>" + meteo + "</b>";
}
</script>
<body>
<h2>Hauteur du plafond nuageux</h2><br>
<button class="button" onclick="affiche()">Calculateur</button><br><br>
<h4 id="test"></h4>
</body>
</html>
On peut découper le programme en 3 parties :
• La 1ere partie est en HTML : elle définit le nom, la langue et la couleur (si on joint un fichier css avec son titre en écrivant “href=titre du fichiercss.css” ) de la page.
• La 2eme partie est en javascript : c’est la partie calculatoire du programme. On a traduit le programme python en javascript.
•La 3eme partie est aussi en javascript : c’est une “class boutton”, elle permet d’afficher un bouton sur la page web. Ici en l’occurrence, lorsque l’on va appuyer sur le bouton, le programme va s’effectuer.
No Responses