Calcul date de paques (date mobile)

0/5 (2 avis)

Snippet vu 9 978 fois - Téléchargée 18 fois

Contenu du snippet

Calcule la date du dimanche de pâques en fonction de l'année donnée.

L'année doit être postérieure à 1583 (apparition du calendrier grégorien).

Source / Exemple :


//Algorithme de Oudin trouvé dans Wikipédia et retranscrit en C++ Builder
   //http://fr.wikipedia.org/wiki/Calcul_de_la_date_de_P%C3%A2ques

   int Annee;
   int G, C, C_4;
   int E, H;
   int K, P, Q, I, B, J1, J2, R, M;
   char Paques[11];

   try
   {
      Annee = Edit1->Text.ToInt();
   }
   catch (...)
   {
      Annee = 2008;
   }

   //L'année doit être postérieure à 1583 (apparition du calendrier grégorien)
   if (Annee < 1583)
      Annee = 1583;

   Edit1->Text = AnsiString(Annee);

   G = Annee%19;

   //Année bissextile ?
   C = Annee/100;
   C_4 = C / 4;

   E = (8*C+13)/25;

   //épacte
   H = (19*G + C - C_4 - E + 15)%30;

   K = H/28;
   P = 29/(H+1);
   Q = (21-G)/11;
   I = ( K*P*Q - 1 ) * K + H;
   B = Annee/4;
   B = B + Annee;
   J1 = B + I + 2 + C_4 - C;

   //J2 calcule le jour de la lune pascale
   J2 = J1 % 7;
   R = 28 + I - J2;

   //mois : mars
   M = 3;

   if (R > 31)
   {
      //mois suivant
      R = R-31;
      M++;
   }

   sprintf(Paques, "%02d/%02d/%04d", R, M, Annee);

   Edit2->Text = AnsiString(Paques);

Conclusion :


Je n'ai pas trouvé parmi les sources déjà proposées alors je me lance.
Pas bien compliqué, il est vrai, mais si ça peut aider certains...

A voir également

Ajouter un commentaire Commentaires
Stanel Messages postés 6 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 16 décembre 2008
3 sept. 2008 à 08:37
C'est vrai, mais pas pour les orthodoxes. Voila:

#include <dos.h>
#include <stdio.h>

void main(void)
{
int plus,annee,siecle,jour,mois;
printf("\L'annee:");scanf("%4u",&annee);
if(annee<1600) annee=1600;
plus=10;
if(annee>1600)
{
siecle=annee/100;
plus+=siecle-16-(siecle-16)/4;
}
jour=plus-10+((19*(annee%19)+16)%30)+((2*(annee%4)+4*(annee%7)+6*((19*(annee%19)+16)%30))%7);
mois=4;
if(jour>30)
{
mois++;
jour-=30;
}
printf("Pacques:%02u/%02u/%04u",jour,mois,annee);
}
cs_meudon Messages postés 35 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 16 janvier 2009
19 août 2008 à 09:17
Salut,

Il existe aussi des sources en VB avec le détail du calcul de la date de Paques suivants plusieurs méthodes :

http://olravet.fr/telechargement.php

et voir aussi le fantastique fichier d'aide de "Calendes" pour découvrir les méthodes de calcul:

http://olravet.fr/AideCalendes/Paques.htm

C'est très intéressant.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (steph12358)