Para determinar o dia da semana a que corresponde uma data dada por
três variáveis A, M, D, correspondendo respectivamente ao valor do ano, mês e dia (todas inteiras, com 1 ≤ D ≤ 31, 1 ≤ M ≤ 12, A ≥ 1582) pode-se usar o seguinte algoritmo:
(Primeiro deve-se calcular um valor FATOR:)
Se o mês for Janeiro ou Fevereiro:
FATOR = 365 × A + 31 × (M – 1) + D + INT((A – 1)/100 + 1)
Para os meses restantes:
FATOR = 365 × A + 31 × (M – 1) + D – INT(0.4 × M + 2.3) + INT(A/4) – INT(0.75 ×(INT(A/100) + 1))
O dia da semana é então dado por SEMANA = (FATOR MOD 7) com a correspondência 0≡sábado, 1≡domingo, 2≡segunda, ..., 6≡sexta.
Escreva um subprograma FUNCTION SEMANA(D,M,A) em Pascal que determina
o dia da semana de uma data caracterizada por D,M,A. Além disso, escreva um programa principal que use a função anterior para tabelar o dia da semana do Natal do ano 2000 até o ano de 2013 (inclusive).
Gostaria de ideias para resolver esse exercicio.
Obrigado