Heure d'Eté.

Deux fois par an, on nous dit  : on va changer nos horloges d'une heure. Ce sera rigolo.
Les gens sérieux nous expliquent que ce n'est pas le côté rigolo qui prime, mais le côté "Economie d'énergie".

Pourquoi "Economie d'énergie" ?
Si je me lève alors qu'il fait encore noir, j'allume les lampes, donc je consomme de l'énergie.
Pareil si je me couche après le coucher du soleil.

En fait, je n'obéis pas au soleil : j'obéis à mon réveil.
Mon réveil peut être réglé de 4 façons différentes :



L'heure (solaire) du lever (courbe rouge) et du coucher de soleil (courbe bleue) se calculent facilement avec une formule en "Cosinus";
les heures d'hiver et d'été s'en déduisent facilement ; pour l'heure mixte, ça dépend du jour de l'année.
il y a donc 3 formules jumelles + une formule à condition :

heure solaire heure d'hiver heure d'été heure mixte
Heure de lever de soleil 6 + 2 × cos(2×pi×j / 365)
= 6 + 2 × cos(0.017214 × J)
7 + 2 × cos(2×pi×j / 365)
= 7 + 2 × cos(0.017214 × J)
8 + 2 × cos(2×pi×j / 365)
= 8 + 2 × cos(0.017214 × J)
tester si heure d'été ou heure d'hiver
Heure de coucher de soleil 18 - 2 × cos(2×pi×j / 365)
= 18 - 2 × cos(0.017214 × J)
19 - 2 × cos(2×pi×j / 365)
= 19 - 2 × cos(0.017214 × J)
20 - 2 × cos(2×pi×j / 365)
= 20 - 2 × cos(0.017214 × J)
tester si heure d'été ou heure d'hiver
("J" désigne le numéro du jour, qui va de 1 à 365 ;
Le coefficient "pi" vient du fait qu'on travaille en radians ;
ces formules suffisent largement pour ce qu'on souhaite faire
Les formules varient selon la latitude ; chez nous, elles sont correctes !)

Chaque jour, je me lève à 6 h 30 et je me couche à 23 h (heures lues sur mon réveil-matin !)
Le soleil ne se lève pas et ne se couche pas en même temps que moi.
Il suffit de calculer les durées d'allumage des lampes, et de cumuler sur 365 jours !

Invitation au travail :
Faire le programme qui affiche le temps annuel d'allumage des lampes.

Il sera intéressant de faire tourner le programme avec les heures de décalage suivantes :
Option 1 : Décalage Hiver = Décalage Eté = 0 (heures solaires)
Option 2 : Décalage Hiver = 1, et Décalage Eté = 1 (sans changement été-hiver)
Option 3 : Décalage Hiver = 1, et Décalage Eté = 2 (situation actuelle)
Option 4 : Décalage Hiver = 2, et Décalage Eté = 2 (sans changement été-hiver)


Stratégie :



Squelette :



Programmation VBA :


Voici le programme Visual Basic, sous Excel :

Sub DécalageHoraire()
    DécalHiv = Cells(2, 2)
    DécalEté = Cells(2, 3)
    Décal = DécalHiv
    AlluCumul = 0
    For J = 1 To 365
        If J = 90 Then Décal = DécalEté
        If J = 361 Then Décal = DécalHiv 'on aurait pu mettre Else, mais zut !
        'calcul des heures de lever et de coucher
        LevSol = 6 + 2 * Cos(0.017214 * J)
        CouSol = 18 - 2 * Cos(0.017214 * J)
        LevMoi = 6.5 - Décal
        CouMoi = 23 - Décal
       
'déterminer s'il faut allumer ; si oui, cumuler
        AlluJour = 0
'allumage des lampes dans la journée
        If LevMoi < LevSol Then AlluJour = LevSol - LevMoi
        If CouMoi > CouSol Then AlluJour = AlluJour + CouMoi - CouSol
        AlluCumul = AlluCumul + AlluJour
        'affichage (optionnel)
        lgn = J + 3 'd'après modèle, affichage des jours à partir de lgn 4
        Cells(lgn, 1) = J
        Cells(lgn, 2) = LevSol
        Cells(lgn, 3) = LevMoi
        Cells(lgn, 4) = CouSol
        Cells(lgn, 5) = CouMoi
        Cells(lgn, 6) = AlluJour
        Cells(lgn, 7) = AlluCumul
    Next
    Cells(2, 4) = AlluCumul
End Sub

Résultats :
A titre d'information, voici les résultats, sous Excel, par VBA :

Heures solaires : 1973 heures
Heures d'hiver :  1791 heures
Heures d'été :  1670 heures
Heures mixtes : 1670 heures également

En faisant 3 heures de décalage avec l'heure solaire, on descend à 1642 heures


Pour mieux entrer dans le travail, on peut afficher tous les résultats sous Excel, un peu à la manière suivante :



RETOUR Accueil