Bonjour,
Voilà le code:
******************************************************
# ‘jour’ est initialement la date en jours écoulés depuis le 01/01/2005
annee = 2005
while jour > 365:
if EstAnneeBissextile(annee):
if jour > 366:
jour = jour - 366
annee = annee + 1
else:
jour = jour - 365
annee = annee + 1
print "Aujourd’hui nous sommes le", jour, "ieme jour de l’année", annee
******************************************************
Cette algo converti un nombre de jour depuis le 1er janvier 2005 en le n-ieme jour d'une année.
On dispose d'une fonction nbBissextile(x) qui calcule le nombre d'années bissextile en 2005 et x (exclu), cete fonction est censé aider pour l'invariant de boucle...
Mon problème est de trouver l'invariant de boucle, en théorie ça avait l'air simple mais maintenant que je dois le faire, plus tant que ça^^.
On nous demande aussi de corriger l'algo si nécessaire, il me semble avoir trouver un problème si jour=366 et que l'année est bissextile, ce que j'ai corrigé comme cela:
while (jour>365 and (not EstAnneeBissextile(annee)) or (jour>366 and EstAnneeBissextile(annee))
Merci d'avance!
Partager