Origine et nature L'algorithme est basé sur la règle "Doomsday" (jour-cible ou jour de référence) qui a été inventée par John Horton Conway, un éminent mathématicien de Princeton, dans les années 1970. Selon une confidence de Conway à Sidney West Graham, l'histoire du Doomsday commence par un défi que Martin Gardner lui aurait lancé, soit celui de proposer quelque chose de plus simple que l'algorithme de Lewis Carroll, aux fins de détermination du jour de la semaine pour une date quelconque. Cette méthode "Doomsday" de calcul du jour de la semaine a été publiée dans la revue Mathematical Surprises, Calendar Calculations ("Doomsday" rule), John Conway, Jan/Feb1991, p. 46, ainsi que dans un livre écrit par Conway (co-auteurs Elwyn R. Berlekamp et Richard K. Guy), titré "Winning Ways for your Mathematical Plays", Volume II: Games in Particular, Academic Press, London, 1982, ISBN 01-12-091102-7, p. 795-800. Conway est d'avis que trouver quel jour de la semaine tombe une certaine date ne devrait pas être que difficile si l'on y pense en termes de jeu. En réalité, la règle "Doomsday" est un concept simple qui permet, de mémoire et sans calcul fastidieux, de trouver rapidement le jour de la semaine de n'importe quelle date. Le "Doomsday" ou jour-clef est un certain jour de la semaine pour chaque année spécifique. Dans cette année, le Doomsday mensuel est une date spécifique pour chaque mois (qui correspond aussi au jour de la semaine associé à l'année considérée). Le secret de la méthode "Doomsday" est de fournir une façon de savoir le jour de la semaine pour une date donnée dans chaque mois de l'année. Le mérite de Conway est d'avoir noté et exploité le fait que certaines dates spécifiques dans les 12 mois tombent toujours le même jour de la semaine, pour toute année donnée. Exemple d'application de la Règle des Doomsdays Considérons l'année séculaire 2000 (aussi année bissextile car divisible par 4 et par 400). Comme nous le verrons plus loin, le Doomsday de l'année séculaire 2000 est Mardi. Par conséquent, en l'an 2000, tous les jours du mois ci-dessous tomberont également le mardi et ce, conformément à la Règle des Doomsdays mensuels, présentée plus bas: 4 janvier (01) 2000 1er et 29 février (02) 2000 7 mars (03) 2000 4 avril (04) 2000 9 mai (05) 2000 6 juin (06) 2000 11 juillet (07) 2000 8 août (8) 2000 5 septembre (9) 2000 10 octobre (10) 2000 7 novembre (11) 2000 12 décembre (12) 2000 Ces résultats sont parfois notés sous forme de rapport du mois au jour du même mois, mm/jj, d'où la suite ordonnée à 12 termes suivante: [ 1/4; 2/1; 3/7; 4/4; 5/9; 6/6; 7/11; 8/8; 9/5; 10/10; 11/7; 12/12 ] Pour une année normale, seuls les 2 premiers termes 1/4 et 2/1 changent pour 1/31 (ou 1/3) et 2/28 (ou 2/7); car 31 - 3 = 28 = 7x4 semaines et 28 - 7 = 21 = 7x3 semaines. La Règle des Doomsdays mensuels enseigne donc que, pour toute année donnée, normale ou bissextile, toute ces dates du mois, les 7 mars, 4 avril, 9 mai, 6 juin, 11 juillet, 8 août, 5 septembre, 10 octobre, 7 novembre et 12 décembre tombent toujours le même jour de la semaine. Le lecteur pourrait vérifier ces calculs ou la Règle des Doomsdays mensuels pour m'importe quelle autre année à l'aide de notre calendrier annuel perpétuel à 12 mois. NOTE: à ce stade même, après avoir juste noter les "Doomsdays" séculaires et mensuels ainsi que les codes des 7 jours de la semaine, le lecteur pourrait passer directement au calcul du jour de la semaine, pour toute année donnée, à l'aide de la formule de calcul présentée à la fin de cette page. Jours de la semaine et codes numériques
Doomsday des années séculaires CC00 (jour de la semaine)
Le 16e siècle (année 1500) constitue une référence importante pour le calcul des Doomsdays [mercredi en 1500], car c'est le siècle de la substitution de l'actuel calendrier grégorien à l'ancien calendrier julien. Sous l'ordre du Pape Grégoire XIII, on est passé directement du 4 octobre 1582 [un jeudi et dernier jour du vieux calendrier julien] au 15 octobre 1582 [vendredi dans nouveau calendrier grégorien, au lieu du lundi julien], soit une perte sèche de 10 jours (omission des dates 5-14 octobre 1582 dans les pays catholiques; 3-13 septembre 1752 en Angleterre et Amérique) !!! Comme les dates du calendrier grégorien se répètent tous les 400 ans, les Doomsdays séculaires ont une cycle de 4 siècles [il suffit donc de mémoriser 4 Doomsdays séculaires]. Ainsi, le Doomsday séculaire est le même en 1500, 1900, 2300, 2700, etc. Globalement, le Doomsday séculaire sera: Mercredi pour les années 1500, 1900, 2300, 2700, 3100, 3500, 3900, etc. Mardi pour les années 1600, 2000, 2400, 2800, 3200, 3600, 4000, etc Dimanche pour les années 1700, 2100, 2500, 2900, 3300, 3700, 4100, etc. Vendredi pour les années 1800, 2200, 2600, 3000, 3400, 3800, 4200, etc Notons que la raison des dates repétitives du calendrier est que dans le cycle de 400 ans, il y a exactement un total de 20 871 semaines; car 400 x 365 jours + 97 jours = 146 097 jours = 20 871 x 7 jours = 20 871 semaines. Pendant ce cycle, il y a 97 années bissextiles (366 jours = 365 + 1 jour extra en février), soit une à tous les 4 ans, sauf durant les 3 changements de siècle [(400 ÷ 4) - 3 = 97]. J. H. Conway a publié en janvier 1976 un aide mémoire pour le calcul des Doomsdays séculaires. Il s'agit d'un poème mathématique , qui sur la base du Doomsday de l'an 400 (ou 800 ou ... ou 1600 ou 2000, 2400, 2800, 3200, 3600, 4000, etc ; Doomsday séculaire chaque fois = Mardi, pour ces années toutes bissextiles), permet de calculer facilement le Doomsday de toute autre année séculaire subséquente. Considérons l'année séculaire 1600 dont le Doomsday est Mardi. Toute année bissextile décale le Doomsday de 2 jours: 366 mod 7 = 2 car 366 = 7x52 + 2; alors que toute année normale décale le Doomsday de 1 jour ( 365 mod 7 = 1 car 365 = 7x52 + 1 ). C'est précisément la raison pour laquelle votre date d'anniversaire ne tombe pas toujours le même jour de la semaine à tous les ans !... Le passage de l'an 1600 à l'année séculaire 1700 recule le Doomsday de 2 jours par rapport au mardi, soit le dimanche. De même, la transition de 1700 à 1800 décale le Doomsday de 2 jours par rapport au dimanche, soit le vendredi. Finalement, le passage de 1800 à 1900 recule le Doomsday de 2 jours par rapport au vendredi, soit le mercredi. Doomsday d'une année spécifique CCYY (jour de la semaine) Notation Soit l'année notée CCYY Notatation mathématique, sous forme d'opérateurs div et mod : n div p = nombre de fois que p divise n (diviseur entier) n mod p = le reste de la division de n par p Exemples : 13 div 5 = 2, 13 mod 5 = 3 car 13 = 5x2 + 3 20 div 4 = 5, 20 mod 5 = 0 car 20 = 5x4 + 0 Première formule de calcul Doomsday CCYY = [ Doomsday (CC00) + YY + YY div 4 ] mod 7 L'opération mod 7 sera nécessaire si et seulement si [...] >= 7, i.e total entre crochets supérieure ou égal à 7. Dans cette formule, YY div 4, partie entière de la division YY/4, est le nombre d'années bissextiles entre l'an CC00 et l'an CC00 + YY. Il importe de bien noter que chaque année normale ajoute 1 jour au Doomsday séculaire alors que toute année bissextile y ajoute 2 jours, car: année normale: 365 mod 7 = 1 car 365 = 7x52 + 1 année bissextile: 366 mod 7 = 2 car 366 = 7x52 + 2 Exemples Doomsday 1953 = [ Doomsday (1900) + 53+ 53 div 4] mod 7 = [3+ 53+ 13] mod 7 = 69 mod 7 = 6 car 69 = 7 x 9 + 6 donc, Doomsday 1953 = 6 = Samedi Doomsday 1996 = [ Doomsday (1900) + 96 + 96 div 4 ] mod 7 = [3+ 96 + 24] mod 7 = 123 mod 7 = 4 car 123 = 7 x 17 + 4 donc, Doomsday 1996 = 4 = Jeudi Doomsday 2003 = [ Doomsday (2000) + 03 + 03 div 4 ] mod 7 = [2 + 3 + 0] mod 7 = 5 opération mod 7 pas nécessaire car [2 + 3 + 0] = [5] < 7 donc, Doomsday 2003 = 5= Vendredi Deuxième formule de calcul Tous les 12 ans le Doomsday avance un jour de semaine supplémentaire, car pour l'année 12, année + année÷4 = 12 + 12÷4 = 12 + 3 = 15 ... 15 mod 7 = 1. Dans l'année spécifique, on peut donc remplacer chaque douzaine par 1 et obtenir ainsi une formule de calcul avec des nombres bien plus petits. YY ÷ 12 = Q, reste R R ÷ 4 = Q2 oublier le reste Doomsday CCYY = (Q + R + Q2) Doomsday 1953 53 ÷ 12 = 4, reste 5 5 ÷ 4 = 1 Doomsday 1953 = (4 + 5 + 1) = 10 10 jours supplémentaires depuis le Mercredi de l'année séculaire 1900 nous reportent au Samedi = Doomsday 1953 Note 10 mod 7 = 3 et il aurait pu suffir d'ajouter 3 jours au mercredi pour obtenir le même résultat Doomsday 1953 = samedi. Doomsday 1996 96 ÷ 12 = 8 , reste 0 donc Doomsday 1996 = 8 En ajoutant 8 jours au Mercredi de l'année séculaire 1900, on tombe au jeudi qui est le Doomsday 1996 Doomsday 2003 Dans ce cas, moins de 12 ans se sont écoulés depuis le début de l'année séculaire 2000. Il suffit donc d'ajouter 3 jours au Mardi, Domsday de 2000 pour obtenir Doomsday 2003 = vendredi Doomsday de chacun des mois de l'année spécifique (Jours du mois équivalents au Doomsday de cette année) Comme le siècle et l'année, chaque mois a aussi son Doomsday. Dans l'ordre, la liste des Doomsdays des 12 mois est : (31, 28, 7, 4, 9, 6, 11, 8, 5, 10, 7, 12) pour les années normales, ou (32, 29, 7, 4, 9, 6, 11, 8, 5, 10, 7, 12) pour les années bissextiles (note : 32e jour de janvier correspond en réalité au 1er février)
Truc de mémorisation des m pour mois longs - courts: long = ajouter; court = soustraire Pour mémoriser les valeurs m des Doomsdays relatifs aux mois de rang N impair, Conway suggère la phrase suivante: "I went to my nine-to-five job at the Seven-Eleven." [traduction = "Je suis allé à mon travail neuf-à-cinq entre Sept-Onze."; Note aux lecteurs non - Américains: aux U.S.A., "Seven-Eleven" ou "Sept-Onze" est le nom d'une chaîne de convenance ubiquiste i.e. très fréquente] Notés sous forme de rapport du rang N du mois au Doomsday mensuel m, soit N/m : les 5 Doomsdays relatifs aux mois de rang N impair [mars(3), mai(5), juillet(7), septembre(9) et novembre(11)] sont: 3/7, 5/9, 7/11, 9/5, 11/7 les 5 Doomsdays relatifs aux mois de rang N pair sont: 4/4, 6/6, 8/8, 10/10, 12/12 Dans notre calendrier grégorien, la structure des mois de l'année révèle des propriétés remarquables: avril + mai = 61 jours, juin + juillet = 61 jours, août + septembre = 61 jours, octobre + novembre = 61 jours. Donc, entre deux dates quelconques D avril à (D + 2) juin il y a 63 jours ou exactement 9 semaines (63 = 9x7 jours); en conséquence, chaque année (tant normale que bissextile) la date (D + 2) juin tombera toujours le même jour de la semaine que la date D avril. De façon pareille, en avançant de 2 mois et 2 jours, la date (D + 4) août sera aussi et toujours le jour de la semaine que le D avril. Sous cette même logique, des progressions sucessives révèlent que chaque année toutes les dates (D + 6) octobre et (D + 8) décembre tomberont aussi et toujours le jour de la semaine que le D avril. En postulant D = 4 et en notant ces Doomsdays sous forme de rapport du mois au jour du même mois, mm/jj, on obtient alors que chaque année (tant normale que bissextile) toutes les dates 4/4, 6/6, 8/8, 10/10, et 12/12 tomberont toujours le jour de la semaine. Par ailleurs, la date 4/4, 4 avril est équivalente au "35 mars" (35 = 5x7 semaines). Et si le "35 mars" tombe le jour J de la semaine, le 14 mars [soit 3 semaines plus tôt; 35 - 14 = 21 = 7x3 semaines] est aussi un jour J de la semaine. En outre, si à partir du 4 avril (4/4) on recule encore plus dans le temps, la date "0 mars" (qui est bien sûr le dernier jour de février) tombe également le même jour J de la semaine. Le dernier jour de février est toujours un Doomsday, que l'année soit normale (le 28 février) ou bissextile (le 29 février). Or, de février on peut faire aisément un compte à rebours vers janvier: dans l'année normale la date "0 février" (équivalente au 31 janvier) tombe aussi le même jour J de la semaine que le 4 avril, car le décalage par rapport au "0 mars" est de 28 jours = 7x4 jours ou exactement 4 semaines. Si l'année est bissextile, le décalage entre les dates "0 mars" (dernier jour de février) et "32 janvier" (équivalente au 1 février) est aussi de 28 jours, de sorte que le 1 février est Doomsday et tombe donc le même jour J de la semaine que le 4 avril; tout comme le 4 janvier (= "32 janvier" - 28 jours = 4 semaines nettes plus tôt). Il importe de noter que généralement un mois court (30 jours) décale de 2 jours le jour de la semaine du mois suivant, alors qu'un mois long (31 jours) y ajoute 3 jours; car 30 mod 7 = 2 et 31 mod 7 = 3. Donc, si le 4 avril (4/4) tombe un mercredi (comme en 2001), le 4 mai est toujours un vendredi (= 4 mai 2001), 2 jours plus tard. [Voir calendrier annuel perpétuel à 12 mois]. Doomsday et jour de la semaine pour toute date Pour toute date donnée jj/mm/CCaa, le Doomsday J de ladite date est: J = { (Doomsday CCaa) - [ (Doomsday mm) - (jj) ] } mod 7 or Doomsday de CCaa = ( Doomsday CC00 + aa + aa div 4 ) mod 7 où CC00 = année séculaire et donc J = (Doomsday CC00 + aa + aa div 4 - Doomsday mm + jj) mod 7 Examples de calcul du jour de semaine 15 octobre 1582 (Date de début du calendrier grégorien actuel) J = (Doomsday 1500 + 82 + 82 div 4 - Doomsday oct + 15) mod 7 J = (3 + 82 + 20 - 10 + 15) mod 7 J = 110 mod 7 = 5 = Vendredi car 110 = 7x15 + 5 18 janvier 1953 (Année normale) J = (Doomsday 1900 + 53 + 53 div 4 - Doomsday jan + 18) mod 7 J = (3 + 53 + 13 - 31 + 18) mod 7 J = 56 mod 7 = 0 = Dimanche car 56 = 7x8 + 0 13 septembre 1996 (Année bissextile) J = (Doomsday 1900 + 96 + 96 div 4 - Doomsday sep + 13) mod 7 J = (3 + 96 + 24 - 5 + 13) mod 7 J = 131 mod 7 = 5 = Vendredi car 131 = 7x18 + 5 13 décembre 1996 (Année bissextile) J = (Doomsday 1900 + 96 + 96 div 4 - Doomsday déc + 13) mod 7 J = (3 + 96 + 24 - 12 + 13) mod 7 J = 124 mod 7 = 5 = Vendredi car 124 = 7x17 + 5 Doomsday - Calculateur du jour de semaine Cet outil Javascript calcule le jour de la semaine pour n'importe quelle date du vingtième siècle, dans le calendrier grégorien.
Pour la date jj/mm/aa dans ce siècle, entrer jj, mm, et aa (en 2 chiffres chaque fois) dans les cases appropriées ci-dessous et le cliquer "Calculer".
|
MENU |
ACCUEIL 6 CHAPITRES CHAPITRE 1 CHAPITRE 2 CHAPITRE 3 CHAPITRE 4 CHAPITRE 5 CHAPITRE 6 7 ANNEXES ANNEXE 1 ANNEXE 2 ANNEXE 3 ANNEXE 4 ANNEXE 5 ANNEXE 6 ANNEXE 7 |