Nous avons regroupé dans ce chapitre des algorithmes portant sur les calculs en relation les calendriers. Ces problèmes sont algorithmiquement faciles à résoudre, mais comportent une partie calculatoire intéressante.



Le calendrier julien fût instauré par Jules César en l'an 45 avant Jésus Christ. Avant cette époque les dates étaient fixées par les Pontifes. Mais ceux-ci les modifiaient pour raccourcir ou allonger les durées des mandats de leurs ennemis ou de leurs amis.

Le calendrier instauré par Jules César est très proche du calendrier que nous connaissons actuellement, la durée de l'année est fixée à 365 jours un quart. Concrètement les années sont composées de 365 jours et tous les quatre ans on ajoute un jour supplémentaire. L'origine du calendrier julien fût fixé 4668 ans avant la date à laquelle Jules César instaurât le calendrier. Les années étaient divisées en mois. La notion de semaines ne fût introduite qu'après la mort de Jules César.

Les mesures faites pour connaître la durée exacte d'une année font apparaître que l'année dure en réalité 365,2522 jours. Cette durée diminue au cours des ans sous l'action de la lune et des marées (à l'époque de Jules César la période de rotation était de 365,2523 jours). Cette différence introduit chaque année un décalage de 0,0022 jours entre la date officielle et la date réelle. Au cours des siècles ce décalage n'a fait qu'augmenter si bien qu'au XVIième siècle il y avait une différence de 10 jours entre la date officielle et la position effective de la terre. L'équinoxe de printemps prévue le 21 mars tombait en réalité de 11 mars.

Le pape Grégoire XII par la bulle Inter Gravissima fît supprimer 10 jours au calendrier. Le lendemain du 4 octobre 1582 fût le 15 octobre. Pour éviter que ce décalage conséquence du calendrier julien se reproduise il fût décidé de supprimer trois années bissextiles par période de 400 ans. Les années séculaires (années dont le numéro se termine par deux zéros) dont le chiffre des siècles n'est pas un multiple de quatre ne sont plus bissextiles dans ce nouveau calendrier (l'année 2000 est bissextile par contre l'année 2100 ne l'est pas). C'est ce calendrier que nous utilisons actuellement. Il est connu sous le nom de calendrier grégorien.

Tous les pays n'ont pas adopté ce calendrier à la même époque. La France changea de date le 9 décembre 1582, les Pays-Bas le 14 décembre 1582, l'Angleterre et la Suède en 1752. Pour les pays de religion orthodoxe le changement n'eut lieu qu'au début du XXième siècle. Le calendrier grégorien continue à créer un décalage entre la date officielle et la date réelle, mais ce décalage n'est que de 0,0003 jour par an, d'où l'introduction d'un jour supplémentaire tous les 3000 ans, ce qui ne devrait pas poser trop de problèmes.

Enfin c'est sur une proposition du moine Denys le Petit qu'en 532 l'église prit comme référence pour le compte des années le 1er janvier qui suivit la naissance de Jésus. Le 1er janvier 754 années de Rome devint le 1er janvier 1 de l'ère chrétienne. Dans cette numérotation il n'y a pas d'année 0, on passe directement de l'année 1 avant JC à l'année 1 après JC.


Jour julien

Si l'on veut mesurer des durées sur des échelles de temps très longues (par exemple une étude sur les taches solaires) on est obligé de se ramener à une méthode de numérotation qui ne tienne pas compte des changements de calendrier. On définit le jour julien comme le nombre de jours qui séparent une date exprimée dans le calendrier julien ou grégorien de l'origine du calendrier c'est-à-dire le 1er janvier 4713 avant Jésus Christ.


Ecrire un programme (source : JourJulien.c et exécutable : JourJulien) qui calcule le jour julien à partir d'une date exprimée dans le calendrier julien ou grégorien.
La date sera fournie sous forme de trois arguments au programme (exemple : JourJulien 22 12 1963)
Indications

Ecrire un programme qui calcule le nombre de jours qui séparent deux dates. Combien de jours avez-vous vécu ?
Indications

A partir de la formule précédente écrire un programme qui affiche la date complète à partir d'une date abrégée.
exemple: si l'on entre 1 1 1991 le programme répond Mardi 1er janvier 1991.
Indications

Edmond Rostand écrit dans Cyrano de Bergerac:
Et samedi vingt-six, une heure avant dîné,
Monsieur de Bergerac est mort assassiné.
Sachant que la scène se passe le 26 septembre 1655, l'écrivain a-t-il raison ?
Indications

Un arrière-grand-père, un grand-père, un père et un fils sont tous nés un dimanche 29 février. Quelle est la solution la moins ancienne à ce problème ?

choisissez votre solution :




Programme solution Sommaire