[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Dia da semana
>From: Augusto Morgado <morgado@centroin.com.br>
>Reply-To: obm-l@mat.puc-rio.br
>To: obm-l@mat.puc-rio.br
>Subject: Re: Dia da semana
>Date: Mon, 21 Aug 2000 10:38:47 -0300
>
>
>
>Ecass Dodebel wrote:
> >
> > >From: "Wellington Ribeiro de Assis" <wassis@epq.ime.eb.br>
> > >Reply-To: obm-l@mat.puc-rio.br
> > >To: "discusspio de problemas" <obm-rj@mat.puc-rio.br>
> > >Subject: Dia da semana
> > >Date: Fri, 18 Aug 2000 23:59:17 -2:00
> > >
> > >Prezados amigos
> > >
> > >Alguem sabe dizer como eh o algoritmo usado para se descobrir que dia
> > >da semana cai uma determinada data de um ano qualquer?
> > >
> > >Bons estudos e abraco a todos,
> > >Wellington
> >
> > Ol�,
> >
> > eu tenho uma id�ia. Conseguiremos descobrir em que dia da semana cai o
>dia D
> > do m�s M do ano A, se soubermos que dia da semana foi 1/1/1 (por
>exemplo), e
> > quantos dias j� se passaram at� o dia D/M/A desde 1/1/1, e fazer o resto
>da
> > divis�o por 7, o resto 0 nos dir� que D/M/A � o mesmo dia da semana de
> > 1/1/1, o resto 1 que D/M/A � um dia depois, e assim por diante. Vou
> > apresentar uma poss�vel solu��o. Defino o seguinte:
> > - DA(A) = n�mero de dias dos anos entre o ano 1 e A-1 (inclusive), para
>A>0,
> > n�o vou considerar os casos com o ano negativo.
> > - DM(M) = n�mero de dias dos meses entre 1 e M-1, do ano A.
> > - DD(D) = n�mero de dias anteriores a D, no m�s M do ano A.
> > O resto procurado � o da divis�o de
>ND(D/M/A)=DA(A)+DM(M)+DD(D)-ND(1/1/1)
> > por 7.
> > Eu n�o vou falar muitos detalhes (para n�o ficar muito chato). Tomando a
> > fun��o [x], menor inteiro, que diz o natural N, tal que N<=x<N+1, da�,
> > [x]=N, temos
> > DA(A) = 365(A-2) + [(A-1)/4], se A>0
> > DM(M) = 31([M/2] + [M/9] - [M/10] + [M/11] - [M/12])
> > + 30([M/5] + [M/7] + [M/12])
> > + 28([M/3] - [M/6] - [M/9] - [M/12])
> > + [1 - A/4 + [A/4]]([M/3] - [M/6] - [M/9] - [M/12])
> > DD(D) = D
> > Agora podemos fazer algumas simplica��es m�dulo 7.
> >
> > ND(D/M/A) =
> >
>(A-2)+[(A-1)/4]+3([M/2]+[M/9]-[M/10]+[M/11]-[M/12])+2([M/5]+[M/7]+[M/12])+[1-A/4+[A/4]]([M/3]-[M/6]-[M/9]-[M/12])+D
> > (mod 7)
> >
> > Hoje, ND(20/8/2000) = 0 (mod 7), domingo.
> > Primeiro dia da era crist�, ND(1/1/1) = 0 (mod 7), domingo.
> > Proclama��o da Independ�ncia, ND(7/9/1922) = 5 (mod 7), sexta-feira.
> > Proclama��o da Rep�blica, ND(15/11/1889) = 4 (mod 7), quinta-feira.
> >
> > Eu tenho quase certeza de que para anos A negativos, uma express�o
>v�lida �
> > a seguinte:
> >
> > ND(D/M/A) =
> >
>A-[(|A|+3)/4]+3([M/2]+[M/9]-[M/10]+[M/11]-[M/12])+2([M/5]+[M/7]+[M/12])+[1-(A+1)/4+[(A+1)/4]]([M/3]-[M/6]-[M/9]-[M/12])+D
> > (mod 7),
> >
> > ela deixa os restos similares aos da express�o com o A>0, ou seja, 0
> > continua sendo domingo, e assim por diante.
> >
> > Eu n�o uni os dois casos (A>0 e A<0) numa express�o s�, por que n�o
>existe o
> > ano 0, e isso complicou tudo para mim, talvez eu at� conseguisse, mas
> > ficaria algo t�o comprido que prefiro nem tentar.
> >
> > Obrigado!
> >
> > Eduardo Casagrande Stabel.
> >
>Eduardo:
>Nao examinei com cuidado o que voce fez. Mas a primeira impressao eh que
>nao esta correto porque me parece que voce esta considerando que todos
>os anos multiplos de 4 sejam bissextos, o que nao eh verdade. Em suma,
>parece que a matematica eh boa mas os anos bissextos infelizmente nao
>sao os multiplos de 4.
>
>Anos bissextos sao todos os que sao multiplos de 4 sem ser de 100; os
>multiplos de 100 so sao bissextos se forem multiplos de 400.
>Morgado
Ol� prof. Morgado,
eu n�o sabia desse dado sobre os anos bissextos, pensei, como voc� bem
citou, que os m�ltiplos de 4 eram bissextos. Bom, com o dado que voc� passa,
acho que n�o fico muito dif�cil de corrigir a minha f�rmula, mas vou pensar
melhor. Tenho uma d�vida: e quanto aos anos AC? como ficam os bissextos?
Obrigado pela corre��o!
Eduardo Casagrande Stabel.
________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com