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 :

algo pour donner la date du lendemain.


Sujet :

Algorithmes et structures de données

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 41
    Points : 17
    Points
    17
    Par défaut algo pour donner la date du lendemain.
    bonjour,
    voila j'ai un algo a faire. Il faut demander a l'utilisateur d'etree la date du jour sous la forme aaaa/mm/jj. Mais il faut faire attention aux années bisextiles.

    Bon tout d'abors nous n'avons pas encore vu les boucles, nous avons vu les switchet les Si.. alors...sinon. Je sais par ou commencer mais je ne sais pas comement m'y prendre pour les années bisextilles.

    Et je ne sais pas non plus comment faire quand ca change d'année.

    Je ne veux pas que vous le fassiez je voudrais juste quelques conseils.
    Merci

    [edit] Faut il faire une imbrication de si?

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    Citation Envoyé par vanilla94
    [edit] Faut il faire une imbrication de si?
    Oui, tu pourrais même avoir à imbriquer un si dans un switch.

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    je me doutais qu'il allait y avoir plein d'imbrications.

    Et pour les année bisextiles tu n'aurais pas une astuce?!

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    Pour les années bissextiles, fais un si dans le cas du switch correspondant au mois de février.
    Tu peux même avoir plusieurs si dans ce cas si tu considères qu'une année est bissextile ssi est multiple de 4, mais pas de 100 à moins qu'elle ne soit multiple de 400.

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    juste pour le mois de frvrier ca ferais ca?!:

    suivant
    cas 02:
    T<-- reste(anné/4)
    si T=0 alors
    il y a 29 jours
    sinon
    il y a 28 jours
    C'est tres incomplet je sais mais c'est juste sur le principe.

  6. #6
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    Borisd t'a donné la solution pour savoir si une année est bissextile.
    Maintenant, il existe un petit algo qui permet de te donner le jour de la semaine en fonction de la date : google est ton ami.
    Avec les deux, tu peux gérer sans aucun problème ton exercice.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    Oui, sans oublier "Fin Si", si tu considères qu'une année est bissextile si elle est un multiple de 4 (si on veut être précis, 1800 et 1900 ne l'étaient pas, mais 2000 si).

  8. #8
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par borisd
    si on veut être précis, 1800 et 1900 ne l'étaient pas, mais 2000 si.
    comment fait on alors pour les cas particuliers?! je ne les prends pas en conte?

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    Tu réimbriques un si dans celui que tu as déjà (si t=0) pour vérifier si on a un multiple de 100, puis un autre pour vérifier si on a un multiple de 400.

  10. #10
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    mais par exemple 2008 est une annee bisextile

    donc T=0 donc il y a 29 jour mais par 100 et 400 2008 n'ets pas divisible.

    En fait si je comprend bien une année bisextile est divisible par 4 mais pas par 100. Et si elle est divisible par 100 elle ne doit pas l'estre par 400 c'est bien ca?! Ce qui serait le cas pour 1800?

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    2006 n'est pas divisible par 4 -> non bissextile.
    2008 est divisible par 4, pas par 100 -> bissextile
    1900 est divisible par 4, par 100, pas par 400 -> non bissextile
    2000 est divisible par 4, par 100, par 400 -> bissextile

  12. #12
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    donc en gros si j'ai bien compris ca donne:

    suivant
    cas 02:
    T<-- reste (a/4)

    si T=0 alors
    S<-- reste (a/100)

    si S=0 alors
    D<-- reste (a/400)

    si D=0 alors
    29 jours
    sinon
    28jours

    sinon
    29jours

    sinon
    28jours

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    Oui c'est ça
    Attention cependant à deux petites choses quand tu écris un algorithme :*
    - n'oublie pas les Fin Si. Sans eux, on ne sait pas quand on doit reprendre l'exécution de l'algorithme si on n'entre pas dans le Si ou le Sinon
    - idente les parties imbriquées pour qu'on y voit clair

    Ton algo serait alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    suivant
     cas 02:
       T<-- reste (a/4)
       si T=0 alors
         S<-- reste (a/100)
         si S=0 alors
           D<-- reste (a/400)
           si D=0 alors
             29 jours
           sinon
             28jours
           fin si
         sinon
           29jours
         fin si
       sinon
         28jours
       fin si
    fin suivant

  14. #14
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 41
    Points : 17
    Points
    17
    Par défaut


    je l'ai ecrit sur ma feuille mais j'ai oublié de le refaire dans mon post desolé.

    Merci de m'avoir aider. Mainetant je m'attaque au reste.

    Juste une question (c'est la derniere j'espere!) je dois faire le cas de chaque mois avec des si dedans pour les jour pour le changement d'année je l'imbrique dans le mois de decmbre?

  15. #15
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    Ta question n'est pas très très claire, mais je crois que la réponse est oui

  16. #16
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    oui c'est vrai ce n'est pas tres caleir!

    En fait c'etait je dois imbriquer le changement d'année dans le mois de decembre?!

    ca ferais un truc dans le genre (juste la partie du changement d'année)

    Si J=31alors
    J=01
    M=01
    A=A+1
    finsi

  17. #17
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    Oui, parfait!

  18. #18
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    merci beaucoup!! Je n'ai plus quá le rediger et apres a le tester sous java pour voir si je n'ai pas fait d'erreur.

  19. #19
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    est ce que dans cas je peux metre plusieurs variables?!

    ex
    suivant
    cas "01", "03", "05" et ainsi de suite jusquá 10
    instructions

  20. #20
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    Dans un algorithme, du moment que c'est compréhensible et qu'il n'y a pas d'ambiguité, tu mets ce que tu veux.
    Lors de la transcription en un langage de programmation, par contre, tu dois respecter sa syntaxe. Si le Java admet plusieurs valeurs pour ta variable dans un switch, c'est que tu peux le faire, sinon, c'est que tu ne peux pas.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 5
    Dernier message: 02/09/2014, 21h43
  2. Réponses: 12
    Dernier message: 14/10/2011, 21h52
  3. [Conception] Additionner le nombre de jours pour donner une date
    Par bilou95 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/11/2006, 09h03
  4. Algo pour écrire un chiffre
    Par Skyw4lKR dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 11/08/2004, 13h32
  5. Réponses: 7
    Dernier message: 13/12/2003, 14h09

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