heures←heures % 24 
FinSi 
FinSi 
FinSi 
Afficher jours, heures, minutes, secondes 
FIN
Dans le meilleur des cas, un seul calcul sera effectué. Dans le pire, neuf. Entre les deux, toute une gamme. Si par 
exemple  on  additionne  60  secondes,  alors  on  augmente  forcément  d’une  minute,  et  trois  calculs  supplémentaires 
sont  effectués.  Si  on  augmente  d’une  heure,  alors  trois  autres  nouveaux  calculs  ont  lieu,  et  d’une  journée,  deux 
derniers calculs. On retrouve bien neuf calculs, au pire. Mais la complexité moyenne est largement réduite par rapport 
au premier algorithme. Ce serait calculable via un intervalle aléatoire mais borné de n valeurs pertinentes. 
Voici seulement la partie modifiée du code Java : 
secondes+=nbsec; 
 
if(secondes>59) { 
minutes+=(secondes/60); 
secondes=secondes%60; 
 
if(minutes>59) { 
heures+=(minutes/60); 
minutes=minutes%60; 
if(heures>23) { 
jours+=(heures/24); 
heures=heures%24; 
} 
} 
}
Sachant que Unix compte le nombre de secondes écoulées depuis le 1er janvier 1970 à minuit pour calculer la date 
actuelle,  vous  savez  maintenant  comment  le  système  d’exploitation  fait  pour  vous  la  fournir  !  Et  encore,  il  doit 
convertir les jours en années, en tenant compte des années bissextiles. Vous avez maintenant tout le nécessaire 
pour  créer  vous­même  les  morceaux  d’algorithmes  manquants.  Vous  pouvez  même  si  vous  le  souhaitez  créer  un 
algorithme supplémentaire pour gérer par exemple les fuseaux horaires en fonction d’une heure centrale UTC. Il n’y a 
rien de difficile ! 
- 14 -
© ENI Editions - All rigths reserved - Jonifar lina
60
Précédent

- 60/220

Suivant