Como calcular o dia da semana de qualquer ano

O algoritmo de Zeller é a maneira mais comum de calcular o dia da semana de uma determinada data. Foi publicado em 1882 e seu design foi desenvolvido para ser desenvolvido manualmente, mas pode ser facilmente implementado em software. O algoritmo de Zeller funciona para que o primeiro dia de identificação seja aquele com o qual o século começou; portanto, adicionando anos, meses e dias, qualquer outro pode ser conhecido. Você precisa ter boas bases na aritmética modular para entender como essa notação funciona. Seguindo as instruções, qualquer pessoa pode colocá-lo em prática.

Passo 1

Prepare a informação. Para executar o algoritmo é necessário especificar um dia, um mês e um ano. Ele lista os meses de três a 14, começa em março e termina em fevereiro. Isso garante que os dias bissextos caiam sempre no final do ano, o que simplifica os cálculos: se o mês <3, mês = mês + 12.

Etapa 2

Calcule o século e o ano. A década de 1950 deve ter 19 anos, embora o século 20 seja reconhecido com esta figura: século = base (ano / 100) = Ano do século = ano mod 100.

Etapa 3

Encontre o dia da semana em que o século começou: Dia da semana = base (século 4/4) + 5 * século. Zeller determinou que esse cálculo, do módulo sete, fornecerá o dia da semana em que qualquer século começou. O cálculo base considera o fato de que a cada quatro séculos não há dia bissexto.

Etapa 4

Calcule o dia da semana em que o ano começou: Dia da semana = Dia da semana + Ano do século + base (Ano do século / 4). Com exceção dos anos bissextos, cada ano deve começar no dia seguinte à semana que começou no ano anterior. O cálculo, do módulo sete, fornece o dia da semana do primeiro dia do ano.

Etapa 5

Encontre o dia da semana em que o mês começou: Dia da semana = Dia da semana + base ((mês + 1) * 26) / 10). Esse é o coração do algoritmo de Zeller, que observou que esse cálculo é capaz de determinar em qual dia da semana um mês começará. Essa fórmula elimina a necessidade de tabelas de pesquisa para determinar a duração de cada mês.

Etapa 6

Adicione o dia do mês e calcule o dia da semana em que a data cai: Dia da semana = dia da semana + dia Semana do dia = dia da semana mod 7.

Etapa 7

Converter a data nos padrões da Organização Internacional de Padronização: a data da semana; o dia da semana começa com segunda-feira = 1. Com o algoritmo Zeller, o sábado é usado = 0. Para a conversão, a aritmética modular simples é usada: Dia da semana = ((dia da semana + 5) mod 7) + 1.

Referências

Categorias Internet
 

Você pode estar interessado:

Deixe um comentário