Page 1 of 2

pour les fans d'années bissextiles

PostPosted: 29 Mar 2009, 20:44
by critor
Bonsoir,


Nous avons eu aujourd'hui une petite nouveauté intéressante sur le portail:
http://tiplanet.org/index.php?mod=archives&ac=voir&id=1187

C'est un programme à qui on donne une date, et il répond le jour de la semaine.

Le programme gère les années bissextiles (si vous tapez 29021999, il vous dit de recommencer car le 29 février 1999 n'existe pas).


Le problème des années bissextiles répond à une règle logique non évidente, que j'ai voulu vérifier.
Après avoir sadiquement torturé ce programme pendant quelques longues minutes, j'ai trouvé un bug.

Je vous mets donc au défi de trouver ce bug.

Indice 1: le bug concerne les années bissextiles.
Indice 2: vous avez entendu parler du bug de l'an 2000? alors avec ce programme, c'est le bug de l'an.... (complétez la phrase)


J'informerai l'auteur après.
Allez! A vos méninges! :#coucou#:

Re: pour les fans d'années bissextiles

PostPosted: 29 Mar 2009, 20:59
by ced78fr
a yes critor me fais plaisir, marco a un bug dans son programme !!! :#gni#: LOL

bon ba je vais être obligé de la chercher ! lol le bug de l'année... 0000 nan ? xD
sa réaction demain ou tout de suite, je lui envoie un sms pour lui dire de passer, normallement il a mis quelques programmes en ligne, notamment un pendu super bien fait !

Re: pour les fans d'années bissextiles

PostPosted: 29 Mar 2009, 21:09
by critor
Je n'ai pas testée les années 0000 ou négatives.
(d'ailleurs je crois qu'on ne peut même pas rentrer d'année négative).

De plus, il y a eu des changements de calendrier dans l'Histoire, et même des dates que l'on a arbitrairement sautées pour rattraper le retard avec le soleil lorsque les années bissextiles n'avaient pas encore été inventées...
Donc, si on remonte trop loin, la date et le jour de la semaine ne veulent pas dire grand chose de toutes façons...


Indice 3: le bug n'a pas encore eu lieu... ne regarde pas vers le passé mais tourne-toi vers l'avenir! :;):

Bon évidemment, tout-le-monde sait que je suis tordu :%):
L'univers ne va pas s'écrouler demain parce qu'il y a un bug dans le programme de Marco.
Mais... A force de négliger l'avenir, on en arrive à des situations comme pour le bug de l'an 2000.

Re: pour les fans d'années bissextiles

PostPosted: 29 Mar 2009, 21:34
by Marco
critor2000 wrote:Bonsoir,


Nous avons eu aujourd'hui une petite nouveauté intéressante sur le portail:
http://tiplanet.org/index.php?mod=archives&ac=voir&id=1187

C'est un programme à qui on donne une date, et il répond le jour de la semaine.

Le programme gère les années bissextiles (si vous tapez 29021999, il vous dit de recommencer car le 29 février 1999 n'existe pas).


Le problème des années bissextiles répond à une règle logique non évidente, que j'ai voulu vérifier.
Après avoir sadiquement torturé ce programme pendant quelques longues minutes, j'ai trouvé un bug.

Je vous mets donc au défi de trouver ce bug.

Indice 1: le bug concerne les années bissextiles.
Indice 2: vous avez entendu parler du bug de l'an 2000? alors avec ce programme, c'est le bug de l'an.... (complétez la phrase)


J'informerai l'auteur après.
Allez! A vos méninges! :#coucou#:

Ba j'espère que t'es sûr de ton coup là... Pourtant la TI a assez de chiffres significatifs pour compter tous les jours jusqu'en 9996...
wikipedia wrote:fonction Est_Bissextile(Entier Année) :
// % pour modulo
si Année % 400 Est 0 alors bissextile
sinon si Année % 100 Est 0 alors non bissextile
sinon si Année % 4 Est 0 alors bissextile
sinon non bissextile

Re: pour les fans d'années bissextiles

PostPosted: 29 Mar 2009, 21:49
by critor
Marco wrote:Ba j'espère que t'es sûr de ton coup là parce que si l'année est divisible par 400 elle est bissextile ^^
Et puis scuze j'ai fait une MàJ du LISEZ MOI mais g eu peur de déranger en réenvoyant un mail pour modifier malast version est ici

wikipedia wrote:fonction Est_Bissextile(Entier Année) :
// % pour modulo
si Année % 400 Est 0 alors bissextile
sinon si Année % 100 Est 0 alors non bissextile
sinon si Année % 4 Est 0 alors bissextile
sinon non bissextile


Je te félicite pour la règle ci-dessus. Beaucoup de personnes oublient la règle du 400.
Ton programme est très bon.
Bientôt il sera parfait :;):

Faut se méfier avec Wikipedia...
L'algorithme ci-dessus est incomplet...

Il y a encore une exception...

Indice 4: En l'année 10000 par exemple, ton programme sera décalé de 3 jours par rapport au soleil. Donc, il faut appliquer une 4ème règle de correction AVANT ça!

C'est important tu sais: tu te rends compte? Dans quelques années, les élèves qui regardent le calendrier sur leur 83+ pourraient se tromper de jour pour le Bac! :;):

Re: pour les fans d'années bissextiles

PostPosted: 29 Mar 2009, 21:52
by Marco
J'ai du mal à voir un autre facteur :-s... La règle marche pas avec 4000 ?

Et puis Xywez lis le programme y'a une chance pour que tu comprenne même pas ce que j'ai fait dedans pour alléger les calculs, ni l'algorithme d'ailleurs.
En plus tu m'as dit de continuer mes maths, pas de passer et tu peux télécharger le pendu g modifié pour la WINDOW :D:

Re: pour les fans d'années bissextiles

PostPosted: 29 Mar 2009, 22:05
by Marco
definition=3052 a écrit:
Ce calendrier grégorien offre selon les règles énoncées une année moyenne de 365, 2425 jours, ce qui est encore un peu trop long, mais n'engendre qu'une erreur de 3 jours en 10 000 ans.

http://www.techno-science.net/?onglet=glossairedefinition=3052

Mais mes calculs sont uniquement à base de nombres entiers...
C'est plus dur un an = 365.2422 jours, je sais pas quels jours doivent être retirés...

Re: pour les fans d'années bissextiles

PostPosted: 29 Mar 2009, 22:11
by critor
Marco wrote:J'ai du mal à voir un autre facteur :-s... La règle marche pas avec 4000 ?


Bien deviné, bravo. C'est le bug de l'an 4000!

4000 et toutes les années divisibles par 4000, ne seront pas bissextiles.
C'est l'exception à la règle précédente (les années divisibles par 400 sont bissextiles).


(intéressant à exprimer en logique de la façon la plus simple possible... ça pourrait être un exo de début de sup :;): )


Et non non non, ne me dis pas que 4000 c'est loin... En 1960-1970, les informaticiens disaient aussi "2000 c'est loin on s'en fout..."... T'as vu le résultat...



Allez, corrige ça et je vote pour te rajouter une étoile, car le programme sera parfait! :;):

Re: pour les fans d'années bissextiles

PostPosted: 29 Mar 2009, 22:13
by Marco
Merci critor !
Je le up demain je suis sous debian et j'ai pas TIconnect etc.
J'ai fait ça l'année dernière à cause d'un exo de spé maths que je trouvais intéressant ^^

Xywez tu sais qui va te taper demain matin :8):

Re: pour les fans d'années bissextiles

PostPosted: 30 Mar 2009, 06:29
by Marco
Voilà j'ai envoyé la mise à jour !