Algoritmo Doomsday

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

O algoritmo Doomsday ou regra Doomsday (algoritmo do "dia do fim do mundo", em inglês), é um algoritmo que permite calcular em qual dia da semana cai um dia de um determinado ano. Seu nome provém do Doomsday, nome em inglês do último dia de fevereiro, data na que se baseiam os cálculos deste algoritmo.

Introdução[editar | editar código-fonte]

Este algoritmo de cálculo mental foi inventado pelo matemático inglês John Conway. Tem a característica de proporcionar um calendário perpétuo (o calendário gregoriano, pelo contrário, funciona em ciclos de 400 anos, tras os que precisa uma revisão). Parte do fato de que, no calendário (juliano ou gregoriano) de qualquer ano, os dias 4 de abril (4/4), 6 de junho (6/6), 8 de agosto (8/8), 10 de outubro (10/10) e 12 de dezembro (12/12) sempre caem no mesmo dia da semana, sendo este o mesmo dia da semana no que cai o último dia de fevereiro. Tem que ter em conta que para o calendário juliano o Doomsday de um ano caia num dia da semana que pode diferir do que lhe corresponde no calendário Gregoriano.

O algoritmo consta de três passos: encontrar o día marcador para o século, encontrar o Doomsday do ano, e encontrar o dia da semana da data que quermos buscar.

Cálculo do Doomsday de um ano[editar | editar código-fonte]

Primeiro tomamos o dia marcador do século. Lembremos que, a todos os efeitos concernientes à regra Doomsday, cada século começa com um ano "00" e termina com um ano "99".

Século Marcador Mnemónico
1800-1899 Sexta-feira
1900-1999 Quarta-feira Em inglês, "We-in-dis-day"
aproximadamente "nós neste dia" e similar a pronuncia de Wednesday, Quarta-feira em inglês (a maioria de nós nascimos neste século)
2000-2099 Terça-feira "Y-Tue-K"
(Y2K, o ano 2000, foi o início deste século) Tue é a abreviatura de Tuesday, Terça-feira em inglês)
2100-2199 Domingo

A continuação, encontramos o Doomsday correspondente ao ano. Para levar isto a cabo segundo Conway, começamos por dividir os dois últimos dígitos do ano (chamamos isto de y) por 12 e ficamos com a parte inteira do quociente (à que denominamos por a) e o resto (ao que chamamos b). Depois disso, dividimos ao resto por 4 e pegamos a parte inteira do quociente (c). Finalmente, determinamos a suma destes três números para obter o total d=a+b+c. (É possível dividir por 7 e ficamos com o resto. Este número é equivalente, e deve ser igual, à soma dos últimos dois dígitos do ano mais a parte inteira destes dígitos dividido por 4)

Agora, contamos para diante o número especificado de dias (d ou o resto que fica ao dividí-lo por 7) a partir do dia marcador, e encontramos o Doomsday que corresponde ao nosso ano. \left({\left\lfloor{\frac{y}{12}}\right\rfloor+y \bmod
12+\left\lfloor{\frac{y \bmod 12}{4}}\right\rfloor}\right) \bmod
7+\rm{marcador}=\rm{Doomsday}

Por exemplo, para o ano 1966, no século XX, temos:

\begin{matrix}\left({\left\lfloor{\frac{66}{12}}\right\rfloor+66 \bmod 12+\left\lfloor{\frac{66 \bmod 12}{4}}\right\rfloor}\right) \bmod 7+\rm{Quarta} & = & \left(5+6+1\right) \bmod 7+\rm{Quarta} \\
\ & = & \rm{Segunda}\end{matrix}

Por o que o Doomsday de 1966 caiu em segunda-feira.

Similarmente, o Doomsday de 2005 caiu também em segunda-feira, já que:

\left({\left\lfloor{\frac{5}{12}}\right\rfloor+5 \bmod
12+\left\lfloor{\frac{5 \bmod 12}{4}}\right\rfloor}\right) \bmod
7+\mbox{Terça}=\mbox{Segunda}

Cálculo do dia da semana de uma data dada[editar | editar código-fonte]

O dia da semana de uma determinada data pode ser encontrado com facilidade a partir de um Doomsday.

Os dias seguintes sempre caem em Doomday correspondente para qualquer ano no calendário Gregoriano ou Juliano:

As datas listadas acima foram escolhidas por serem fáceis de lembrar: as correspondentes aos meses pares são simplemente dobros, 4/4, 6/6, 8/8, 10/10, 12/12, e as de quatro dos meses impares (5/9, 9/5, 7/11 e 11/7) podem ser lembradas usandorecuerdan usando a memorização "Trabalho de 9 a 5 no 11."

Para as datas em março, o 7 de março cai em Doomsday, mas a pseudodata "0 de março" é mais fácil de lembrar, ja que é necessariamente o mesmo que o último dia de fevereiro.

O Doomsday de um ano está diretamente relacionado com os dias da semana para datas no periodo compreendido entre março e fevereiro do ano seguinte. Para as datas correspondentes a janeiro e fevereiro do ano atual, devemos fazer uma distinção entre anos normais e bissextos.

Lista de todos os Doomsdays[editar | editar código-fonte]

Janeiro (anos normais) 3, 10, 17, 24, e

31

 1-5
Janeiro (anos bissextos) 4, 11, 18, e 25
Fevereiro (anos normais) 7, 14, 21, e 28  6-9
Fevereiro (anos bissextos) 1, 8, 15, 22, e 29
Março 7, 14, 21, e 28  10-13
Abril 4, 11, 18, e 25  14-17
Maio 2, 9, 16, 23, e 30  18-22
Junho 6, 13, 20, e 27  23-26
Julho 4, 11, 18, e 25  27-30
Agosto 1, 8, 15, 22, e 29  31-35
Setembro 5, 12, 19, e 26  36-39
Outubro 3, 10, 17, 24, e 31  40-44
Novembro 7, 14, 21, e 28  45-48
Dezembro 5, 12, 19,

e 26

 49-52
Janeiro do ano seguinte 2, 9, 16, 23, e 30
Fevereiro do ano seguinte 6, 13, 20,

e 27

Nos anos bissextos, o n-ésimo Doomsday cai na n-ésima semana ISO. Nos anos normais, o dia depois do n-ésimo Doomsday cai na semana n, assim, num ano normal o número da semana de um Doomsday é um menor se este é domingo, isto é, nos anos normais que começam em sexta-feira.

Fórmula para o Doomsday de um ano[editar | editar código-fonte]

As fórmulas seguintes para o calculo do Doomsday de um ano são convenientes para o uso com ordenadores:

Para o calendário Gregoriano:

\mbox{Doomsday} =  \mbox{terça-feiras} + y +
\left\lfloor\frac{y}{4}\right\rfloor -
\left\lfloor\frac{y}{100}\right\rfloor +
\left\lfloor\frac{y}{400}\right\rfloor

Para o calendário Juliano:

\mbox{Doomsday} =  \mbox{Domingo} + y +
\left\lfloor\frac{y}{4}\right\rfloor

Estas fórmulas também são aplicaveis para o calendário gregoriano proléptivo e o calendário Juliano proléptico. Utilizam a função parte inteira e a numeração anual astronômica para anos aC.