IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

problème du calendrier perpétuel


Sujet :

Algorithmes et structures de données

  1. #1
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Par défaut problème du calendrier perpétuel
    bonjour
    je voudrais une solution algorithmique du problème du calendrier perpétuel

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 27
    Par défaut
    L'algo :

    Tu prends un jour que tu connais : exemple vendredi 13 juillet 2007

    Tu calcules la différence D de jours entre le 13 juillet et ta date. Ensuite, un coup de modulo 7 et c'est fini

    D mod 7 = 0 => c'est un vendredi
    D mod 7 = 1 => c'est un samedi
    D mod 7 = 2 => c'est un dimanche
    etc ...

  3. #3
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Par défaut
    Citation Envoyé par Senyk
    L'algo :

    Tu prends un jour que tu connais : exemple vendredi 13 juillet 2007

    Tu calcules la différence D de jours entre le 13 juillet et ta date. Ensuite, un coup de modulo 7 et c'est fini

    D mod 7 = 0 => c'est un vendredi
    D mod 7 = 1 => c'est un samedi
    D mod 7 = 2 => c'est un dimanche
    etc ...
    merci. mais si la date est antérieure à ma date d'un certain nombre d'années que faire?

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    365 jours / an

    + cas particuliers

  5. #5
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Par défaut
    Citation Envoyé par souviron34
    365 jours / an

    + cas particuliers
    pouvez-vous détailler plus. comment résoudre les cas particuliers

  6. #6
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Jao,
    Citation Envoyé par aljabr
    pouvez-vous détailler plus. comment résoudre les cas particuliers
    Peut-être, je m'aventure, as-tu entendu parler d'années bissextiles ?

    Ou plus spécialisé, du changement de calendrier julien à grégorien (en plus, à des dates différentes selon les pays) ?

    Et j'en passe, probablement des meilleures.

  7. #7
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Citation Envoyé par aljabr
    pouvez-vous détailler plus. comment résoudre les cas particuliers
    Il y a 366 jours dans une année bissextile au lieu de 365.
    Ca suit les règles suivantes : Une année est bissextile si :
    - l'année est divisible par 4 mais pas divisible par 100
    - l'année est divisible par 400

  8. #8
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Jao,
    Citation Envoyé par Senyk
    L'algo :

    Tu prends un jour que tu connais : exemple vendredi 13 juillet 2007

    Tu calcules la différence D de jours entre le 13 juillet et ta date. Ensuite, un coup de modulo 7 et c'est fini

    D mod 7 = 0 => c'est un vendredi
    D mod 7 = 1 => c'est un samedi
    D mod 7 = 2 => c'est un dimanche
    etc ...
    Je ne vois pas en quoi ça répond à la question ?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 27
    Par défaut
    Citation Envoyé par aljabr
    merci. mais si la date est antérieure à ma date d'un certain nombre d'années que faire?
    C'est la même chose -1 mod 7 = 6 => c'est un jeudi par exemple....

  10. #10
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Doe,
    Citation Envoyé par Senyk
    C'est la même chose -1 mod 7 = 6 => c'est un jeudi par exemple....
    Dans quel langage, quel compilateur ?

  11. #11
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par droggo
    Doe,

    Dans quel langage, quel compilateur ?
    Dans l'arithmétique modulaire de Z+/nZ+

    En informatique, ou on est plutot dans Z/nZ, il faut ajouter "n" si le résultat modulo "n" est négatif:

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int x = -7540 % 7;
    if (x<0) x+=7;
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  12. #12
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Jai,
    Citation Envoyé par pseudocode
    Dans l'arithmétique modulaire de Z+/nZ+

    En informatique, ou on est plutot dans Z/nZ, il faut ajouter "n" si le résultat modulo "n" est négatif:

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int x = -7540 % 7;
    if (x<0) x+=7;
    Je le savais, c'est juste qu'il faut donner des réponses précises.

    Le membre ayant posé la question ne sait peut-être pas ça (il y a des chances, vu la question relativement basique ).

  13. #13
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par droggo
    Je le savais, c'est juste qu'il faut donner des réponses précises.
    Je savais que tu le savais, et tu le sais bien.

    Tout ca, c'etait juste histoire de donner le code, et d'avoir mon moment de gloire
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  14. #14
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Par défaut
    analyse très fructueuse merci à tous

  15. #15
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Par défaut
    j'ai consulté le site http://www.chez.com/dmagnier/moret.html qui donne un utilitaire permettant de trouver à quel jour de la semaine correspond une date comprise entre le 1er janvier 0 et le 31 décembre 2499.

    on utilise trois tableaux : un tableau des centaines et années, un tableau des mois et un troisième des jours. on suit trois étapes en utilisant ces tableux pour aboutir au jour de la semaine recherché.

    la question que je pose est :
    une justification de ce processus (pourquoi ça marche , comment on remplit ces tableaux etc..)

    une aide sur la solution algorithmique qui décrit ce processus

Discussions similaires

  1. [XL-2007] Problème fonction "DATE" dans "calendrier perpétuel"
    Par ATLONIA dans le forum Excel
    Réponses: 4
    Dernier message: 23/11/2014, 18h30
  2. Problème formulaire calendrier
    Par ThieBEN dans le forum VBA Access
    Réponses: 3
    Dernier message: 14/12/2007, 09h00
  3. problème avec calendrier
    Par ulysse031 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 11/12/2007, 14h29
  4. [Dates] Problème de calendrier.
    Par Invité dans le forum Langage
    Réponses: 1
    Dernier message: 17/04/2007, 10h05
  5. programme de calendrier perpétuel
    Par cirtey dans le forum C
    Réponses: 5
    Dernier message: 20/12/2006, 00h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo