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