Resolution algorithme

bonjour les amis j'ai un exercice qui me derange depuis:comment ecrire un algorithme qui permet d'ecrire une date et dir si elle est juste tout ce ci en n'utilisant trois variables(jours,mois,année).sil vous plait bien vouloir m'aider.

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Une piste pour un bon début :

    Commence par tester le mois...
    1. Contributeur
      C'est un peu comme cette question en fait ^^

      Je veux bien t'aider, mais je l'écris pas pour toi..

      Un algorithme, c'est d'abord une succession d'étapes à lister et ensuite à transcrire dans une langage (une macro excel, du vb, du C++, etc...).

      Pour ta question, commence par te demander quand une date est elle valide :
      - un jour peut il porter un numéro plus grand que 31 ?
      - idem pour les mois ?
      - comment gérer les années bisextiles ?
      - comment différencier les mois de 30 et de 31 jours ?
      - comment gérer février ?

      liste toutes les relations que tu trouves et viens nous en faire part (ce sera tec ontrôles/contraintes). Ensuite on passe à l'étape 2 qui sera l'écriture du pseudo code...

      1. merci pour le debut.un jour ne peut pas contenir plus de 31 jours de meme qu'il ya 12mois et pour les années bisextiles pour le reconnaitre je fais par exemple 2014/4 si le resultats est un nombre paire je peux conclure que 2014 est une année bisextile.pour différencier les mois de 30 et31 je ne sait pas trop mais je sais que janvier a toujrs 31jrs.et pour fevrier il a 29jrs pendant les années bisextiles.sil vous plait je veux connaitre la suite.
        1. Contributeur
          pour las années bissextiles: sont bissextiles:

          - les années divisibles par 4 mais pas par 100 (1900 n'était pas une année bissextile)
          - les années divisibles par 400 (200 était une année bissextile)
      2. Modérateur
        Bonjour,

        Je me mêle de la conversation.

        Année bissextile :
        - soit divisibles par 4 mais non divisibles par 100 ;
        - soit divisibles par 400.

        Ensuite, Bruce te demande de lister toutes les contraintes. Si tu ne peux pas le faire ou si tu n'y arrives pas je pressens que tu auras d'énormes difficultés (insurmontables ?) pour parvenir à tes fins.

        Donc nous attendons toujours la liste complète des contrôles à effectuer.
        1. Contributeur
          tu peux donc écrire les règles de validation:

          Si (MOIS = 2) ET (ANNEE est divisible par 400) ALORS (JOURS) = 29
          SI (MOIS = 2) ET (ANNEE est divisible par 4) ET (ANNEE est divisible par 100) alors JOURS = 29

          etc....

          écris la suite
          1. Modérateur
            Salut Bruce,

            petit correctif :
            SI (MOIS = 2) ET (ANNEE est divisible par 4) ET NON(ANNEE est divisible par 100) alors JOURS = 29
          2. Contributeur
            exact ^^
          3. pourquoi année est divisé par 100
          4. sil te plait pourquoi mois=2 et non 1