1

Je voulais savoir si quelqu'un connais un algorithme pour faire une calendrier perpetuel (on met le jour, le mois et l'année et on trouve à quel jour de la semaine correspond cette date).
Kevin> Si tu réponds à cette question, essaye d'être simple avec tes explications parce-que des fois elles sont inintelligibles.
[edit]Edité par Verstand le 28-11-2001 à 16:18:27[/edit]
Memento moris, carpe diem.
Divide y vencerás.

2

heu, y'a un prog en asm qui le faisait bnien il me semble ...
sur ticalc.orgil y est ...

sinon, je pourrais te sortir l'algodans qq jours

3

c pas bien dur en fait, tu te bases sur une année que tu connais exactement, et toutes les autres années tu fais un calcul en fonction des années bissectiles

4

oué...
Tu pars, par ex, de... heu...
Sinon, il faut savoir que les années bissextiles sont des multiples de 4, et les siècles bissextiles sont des multiples de 400.
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

5

Regarde la source de dateserl et de weekday (qui utilise dateserl) . Mais il faudrait gérer les années multiples de 100 et pas de 400 correctement. Dans datefunc, il n'y a que 1900 qui est reconnu correctement, donc il faut que la date soit entre 1801 et 2099.
[edit]Edité par Kevin Kofler le 28-11-2001 à 20:12:27[/edit]
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

6

Mais il n'y a pas une façon de faire un algorithme qui puisse aller de l'an 1 à jusqu'à n'importe quelle année?
Memento moris, carpe diem.
Divide y vencerás.

7

arf...
je crois qu'il faut rajouter aussi un an au calendrier tous les ans....
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

8

Essaye cela:
[i]\START92\
\COMMENT=
\NAME=dateserl
\FILE=DATESERL.89F
(y,m,d)
Func
\(C)\y,m,d:Func
Local a,b,c,e,f,ds
{0,31,59,90,120,151,181,212,243,273,304,334}\->\a
{0,31,60,91,121,152,182,213,244,274,305,335}\->\b
{0,366,731,1096}\->\c
{1,32,60,91,121,152,182,213,244,274,305,335}\->\e
{\(-)\1,36524,73048,109572}\->\f
d+int((y-1900)/400)*146097+f[mod(int((y-1900)/100),4)+1]+mod(int((y-1900)/4),100)*1461+c[mod(y,4)+1]\->\ds
If mod(y,100)=0 and mod(y,400)\!=\0 Then
ds+e[m]\->\ds
ElseIf mod(y,4)=0 Then
ds+b[m]\->\ds
Else
ds+a[m]\->\ds
EndIf
If y<0:ds+366\->\ds
Return ds
EndFunc

\STOP92[/i]

Ça devrait prendre en considération tout: années divisibles par 100 et pas par 400, inexistence de l'année 0 (donc on rajoute 366 au date serial pour tout ce qui précède l'an 1).

Et pour déduire le jour de semaine, il suffit de prendre mod(dateserl(y,m,d),7):
{"dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"}[mod(dateserl(y,m,d),7)+1]
[edit]Edité par Kevin Kofler le 29-11-2001 à 23:10:41[/edit]
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

9

Et le fait que le pape Grégoire ait changé de calendrier en 1582, introduisant les années divisibles par 100 mais pas par 400 comme non-bissextiles ?
Excusez-moi, c t juste pour taquiner Kevin grin

10

J'ai trouvé l'algorithme......
Merci à tous ceux qui ont répondu à ce topic, je vous suis reconnaissant.....
coolgrinsmile
Memento moris, carpe diem.
Divide y vencerás.