Cálculo da Páscoa: diferenças entre revisões
m Revertidas edições por 177.157.46.60 para a última versão por ZackTheJack (usando Huggle) |
|||
Linha 1: | Linha 1: | ||
{{mais notas|data= |
{{mais notas|data=godzila de 3102}} |
||
[[Ficheiro:Påsktavla ur Liljegrens Runlära (ur Sverige Runinskrifter).png|right|thumb|200px|Tábua medieval da Escandinávia, em escrita rúnica, para cálculo da data da Páscoa]] |
[[Ficheiro:Påsktavla ur Liljegrens Runlära (ur Sverige Runinskrifter).png|right|thumb|200px|Tábua medieval da Escandinávia, em escrita rúnica, para cálculo da data da Páscoa]] |
||
[[Ficheiro:Easter Distribution.png|thumb|Distibuição das datas da Páscoa para um período completo de 5.700.000 anos.]] |
[[Ficheiro:Easter Distribution.png|thumb|Distibuição das datas da Páscoa para um período completo de 5.700.000 anos.]] |
||
O '''cálculo''' da data '''da [[Páscoa]]''', também conhecido como '''Computus''' em [[latim]], é fundamental no calendário cristão desde os primórdios da cristandade, tornando-se definido na [[Idade Média]]. |
O '''cálculo''' da data '''da [[Páscoa]]''', também conhecido como '''Computus''' em [[latim]], é fundamental no calendário cristão desde os primórdios da cristandade, tornando-se definido na [[Idade Média]]. |
||
A [[Páscoa]] é celebrada no |
A [[Páscoa]] é celebrada no ultimo [[sabado]] após a terceira [[lua nova]] que ocorre depois do [[solstício]] do [[verão]] (no hemisfério sul, [[inverno]] no hemisfério norte), ou seja, é equivalente à antiga regra de que seria o penultimo sábado após o 27º dia do mês lunar de Nisan. Poderá assim ocorrer entre [[18 de fevereiro]] e [[13 de abril]]. |
||
== Cálculo da data da Páscoa recorrendo a tabela simples == |
== Cálculo da data da Páscoa recorrendo a tabela simples == |
Revisão das 22h02min de 10 de junho de 2013
![](http://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/P%C3%A5sktavla_ur_Liljegrens_Runl%C3%A4ra_%28ur_Sverige_Runinskrifter%29.png/200px-P%C3%A5sktavla_ur_Liljegrens_Runl%C3%A4ra_%28ur_Sverige_Runinskrifter%29.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/3/3b/Easter_Distribution.png/220px-Easter_Distribution.png)
O cálculo da data da Páscoa, também conhecido como Computus em latim, é fundamental no calendário cristão desde os primórdios da cristandade, tornando-se definido na Idade Média.
A Páscoa é celebrada no ultimo sabado após a terceira lua nova que ocorre depois do solstício do verão (no hemisfério sul, inverno no hemisfério norte), ou seja, é equivalente à antiga regra de que seria o penultimo sábado após o 27º dia do mês lunar de Nisan. Poderá assim ocorrer entre 18 de fevereiro e 13 de abril.
Cálculo da data da Páscoa recorrendo a tabela simples
- Obtenha o número dourado somando 1 ao resto da divisão inteira do ano em questão por 19.
Ao número final chamaremos de "X". Esse número é o "número dourado" que corresponde a uma data específica dada na tabela abaixo. A Páscoa será celebrada ao domingo seguinte à data encontrada na tabela. Caso a data já seja um domingo, a Páscoa é o domingo da semana seguinte.
Exemplo:
2020/19 dá 106 com resto 6;
6+1 = 7 (Número dourado)
Consultando na tabela, chega-se a 8 de abril ou o domingo seguinte. A Páscoa em 2020 será dia 12 de abril, já que dia 8 é quarta-feira.
X | Data |
---|---|
1 | 14 de Abril ou Domingo seguinte |
2 | 3 de Abril ou Domingo seguinte |
3 | 23 de Março ou Domingo seguinte |
4 | 11 de Abril ou Domingo seguinte |
5 | 31 de Março ou Domingo seguinte |
6 | 18 de Abril ou Domingo seguinte |
7 | 8 de Abril ou Domingo seguinte |
8 | 28 de Março ou Domingo seguinte |
9 | 16 de Abril ou Domingo seguinte |
10 | 5 de Abril ou Domingo seguinte |
11 | 25 de Março ou Domingo seguinte |
12 | 13 de Abril ou Domingo seguinte |
13 | 2 de Abril ou Domingo seguinte |
14 | 22 de Março ou Domingo seguinte |
15 | 10 de Abril ou Domingo seguinte |
16 | 30 de Março ou Domingo seguinte |
17 | 17 de Abril ou Domingo seguinte |
18 | 7 de Abril ou Domingo seguinte |
19 | 27 de Março ou Domingo seguinte |
Cálculo da data da Páscoa recorrendo a Algoritmos
Algoritmo de Gauss
Para calcular o dia da Páscoa (Domingo), usa-se a fórmula abaixo, onde o "ANO" deve ser introduzido com 4 dígitos. O operador MOD é o resto da divisão. Os valores X e Y são retirados da tabela a seguir:
Faixa de anos | X | Y | |
---|---|---|---|
1582 | 1599 | 22 | 2 |
1600 | 1699 | 22 | 2 |
1700 | 1799 | 23 | 3 |
1800 | 1899 | 23 | 4 |
1900 | 1999 | 24 | 5 |
2000 | 2099 | 24 | 5 |
2100 | 2199 | 24 | 6 |
2200 | 2299 | 25 | 7 |
a=MOD(ANO;19) b=MOD(ANO;4) c=MOD(ANO;7) d=MOD((19*a)+X;30) e=MOD(((2*b)+(4*c)+(6*d)+Y);7) se: (d+e)<10 então o dia = (d+e+22) e mês=Março senão: dia=(d+e-9) e mês=Abril
exceções: # quando o domingo de Páscoa calculado for 26 de Abril, corrige-se para uma semana antes, ou seja, 19 de Abril. # quando o domingo de Páscoa calculado for 25 de Abril e d=28 e a>10, então a Páscoa é em 18 de Abril.
Algoritmo de Meeus/Jones/Butcher
Outro Algoritmo, conhecido como "Meeus/Jones/Butcher", tem a vantagem de não ter exceções para o Calendário Gregoriano (a partir de 1583), conforme apresentado por Jean Meeus em seu livro "Astronomical Algorithms"[1]:
a = MOD(ANO;19) b = ANO \ 100 c = MOD(ANO;100) d = b \ 4 e = MOD(b;4) f = (b + 8) \ 25 g = (b - f + 1) \ 3 h = MOD((19 × a + b - d - g + 15);30) i = c \ 4 k = MOD(c;4) L = MOD((32 + 2 × e + 2 × i - h - k);7) m = (a + 11 × h + 22 × L) \ 451 MÊS = (h + L - 7 × m + 114) \ 31 DIA = MOD((h + L - 7 × m + 114);31) + 1
Obs.: O sinal "\" refere-se à divisão obtendo o inteiro (INT). Exemplo: 7\3 é igual a 2 e não a 2,333.
Exemplo para o ano de 2008:
a = MOD(2008;19) = 13 b = 2008 \ 100 = 20 c = MOD(2008;100) = 8 d = 20 \ 4 = 5 e = MOD(20;4) = 0 f = (20 + 8) \ 25 = 1 g = (20 - 1 + 1) \ 3 = 6 h = MOD((19 × 13 + 20 - 5 - 6 + 15);30) = 1 i = 8 \ 4 = 2 k = MOD(8;4) = 0 L = MOD((32 + 2 × 0 + 2 × 2 - 1 - 0);7) = 0 m = (13 + 11 × 1 + 22 × 0) \ 451 = 0 MÊS = (1 + 0 - 7 × 0 + 114) \ 31 = 3 (Março) DIA = (1 + 0 - 7 × 0 + 114) mod 31 + 1 = 23 Ou seja, a Páscoa de 2008 caiu em 23 de Março.
Uma forma de aplicação do Algoritmo de Meeus/Jones/Butcher, direta e acessível para a maioria das pessoas que utilizam computadores, é a adaptação de Claytom Valle para ser mostrada numa única célula da planilha Excel®, da Microsoft. Basta copiar o conjunto abaixo (exatamente como mostrado, sem espaços) e colar na célula onde se espera que seja exibida a data da Páscoa. Nesse exemplo, considerou-se uma célula chamada "Ano" (definida através da opção "Definir Nome" do Excel®), mas pode-se substituir todas as palavras "Ano" pela célula que contenha o ano desejado (como por exemplo "A1", sem aspas):
=DATA(Ano;INT((RESTO((19*(RESTO(+Ano;19))+(INT(Ano/100))-(INT(INT(Ano/100)/4))-(INT((INT(Ano/100)-(INT((INT(Ano/100)+8)/25))+1)/3))+15);30)+RESTO((32+(2*RESTO(INT(Ano/100);4))+(2*INT(RESTO(Ano;100)/4))-(RESTO((19*(RESTO(+Ano;19))+(INT(Ano/100))-(INT(INT(Ano/100)/4))-(INT((INT(Ano/100)-(INT((INT(Ano/100)+8)/25))+1)/3))+15);30))-(RESTO(RESTO(Ano;100);4)));7)-(7*INT(((RESTO(+Ano;19))+(11*RESTO((19*(RESTO(+Ano;19))+(INT(Ano/100))-(INT(INT(Ano/100)/4))-(INT((INT(Ano/100)-(INT((INT(Ano/100)+8)/25))+1)/3))+15);30))+(22*RESTO((32+(2*RESTO(INT(Ano/100);4))+(2*INT(RESTO(Ano;100)/4))-(RESTO((19*(RESTO(+Ano;19))+(INT(Ano/100))-(INT(INT(Ano/100)/4))-(INT((INT(Ano/100)-(INT((INT(Ano/100)+8)/25))+1)/3))+15);30))-(RESTO(RESTO(Ano;100);4)));7)))/451))+114)/31);RESTO((RESTO((19*(RESTO(+Ano;19))+(INT(Ano/100))-(INT(INT(Ano/100)/4))-(INT((INT(Ano/100)-(INT((INT(Ano/100)+8)/25))+1)/3))+15);30)+RESTO((32+(2*RESTO(INT(Ano/100);4))+(2*INT(RESTO(Ano;100)/4))-(RESTO((19*(RESTO(+Ano;19))+(INT(Ano/100))-(INT(INT(Ano/100)/4))-(INT((INT(Ano/100)-(INT((INT(Ano/100)+8)/25))+1)/3))+15);30))-(RESTO(RESTO(Ano;100);4)));7)-(7*INT(((RESTO(+Ano;19))+(11*RESTO((19*(RESTO(+Ano;19))+(INT(Ano/100))-(INT(INT(Ano/100)/4))-(INT((INT(Ano/100)-(INT((INT(Ano/100)+8)/25))+1)/3))+15);30))+(22*RESTO((32+(2*RESTO(INT(Ano/100);4))+(2*INT(RESTO(Ano;100)/4))-(RESTO((19*(RESTO(+Ano;19))+(INT(Ano/100))-(INT(INT(Ano/100)/4))-(INT((INT(Ano/100)-(INT((INT(Ano/100)+8)/25))+1)/3))+15);30))-(RESTO(RESTO(Ano;100);4)));7)))/451))+114);31)+1)
Observação: devido à limitação do Excel em relação à Função "Data", a fórmula acima só funciona entre os anos 1900 e 9999.
Abaixo, o Algoritmo convertido para a linguagem "Transact-SQL Server". Poderá também ser adaptado para qualquer outra linguagem de programação:
CREATE FUNCTION fncPascoa (@ANO int) RETURNS datetime AS BEGIN DECLARE @DATA AS DATETIME DECLARE @MES AS INT DECLARE @DIA AS INT DECLARE @A AS INT DECLARE @B AS INT DECLARE @C AS INT DECLARE @D AS INT DECLARE @E AS INT DECLARE @F AS INT DECLARE @G AS INT DECLARE @H AS INT DECLARE @I AS INT DECLARE @K AS INT DECLARE @L AS INT DECLARE @M AS INT SET @A = @ANO%19 SET @B = @ANO/100 SET @C = @ANO%100 SET @D = @B/4 SET @E = @B%4 SET @F = (@B+8)/25 SET @G = (@B-@F+1)/3 SET @H = (19*@A+@B-@D-@G+15)%30 SET @I = @C/4 SET @K = @C%4 SET @L = (32+2*@E+2*@I-@H-@K)%7 SET @M = (@A+11*@H+22*@L)/451 SET @MES = (@H+@L-7*@M+114)/31 SET @DIA = ((@H+@L-7*@M+114)%31)+1 SET @DATA = CAST((LTRIM(RTRIM(CAST(@ANO AS CHAR)))) + '-' + (LTRIM(RTRIM(CAST(@MES AS CHAR)))) + '-' + (LTRIM(RTRIM(CAST(@DIA AS CHAR)))) AS DATETIME) RETURN(@DATA) END; GO
Exemplos de Cálculo
- Para calcular o dia da Páscoa (Domingo), usa-se a fórmula abaixo, onde o ANO deve ser introduzido com 4 dígitos. O Operador MOD é o resto da divisão. A fórmula vale para anos entre 1901 e 2099. A fórmula pode ser estendida para outros anos, alterando X e Y conforme a tabela a seguir:
- anos de 1582 a 1599 X=22 e Y=2
- anos de 1600 a 1699 X=22 e Y=2
- anos de 1700 a 1799 X=23 e Y=3
- anos de 1800 a 1899 X=24 e Y=4
- anos de 1900 a 1999 X=24 e Y=5
- anos de 2000 a 2099 X=24 e Y=5
- anos de 2100 a 2199 X=24 e Y=6
- anos de 2200 a 2299 X=25 e Y=7
- Para anos entre 1901 e 2099: X=24 e Y=5
- a = ANO MOD 19
- b= ANO MOD 4
- c = ANO MOD 7
- d = (19 * a + X) MOD 30
- e = (2 * b + 4 * c + 6 * d + Y) MOD 7
- Se (d + e) > 9 então DIA = (d + e - 9) e MES = Abril
- senão DIA = (d + e + 22) e MES = Março
- Quando o domingo de Páscoa cair em Abril e o dia for 26, corrige-se para uma semana antes, ou seja, vai para dia 19;
- Quando o domingo de Páscoa cair em Abril e o dia for 25 e o termo "d" for igual a 28, simultaneamente com "a" maior que 10, então o dia é corrigido para 18.
- Neste século estes dois casos particulares só acontecerão em 2049 e 2076.
- Para calcular a Terça-feira de Carnaval, basta subtrair 47 dias do Domingo de Páscoa.
- Para calcular a Quinta-feira de Corpus Christi, soma-se 60 dias ao Domingo de Páscoa.
C#
Exemplo de código em C#
public static string Calcula(int nAno) { int nRest =( nAno % 19)+1; DateTime oDia=new DateTime(); switch (nRest) { case 1: oDia = new System.DateTime(nAno, 4, 14, 0,0,0,0); break; case 2: oDia = new System.DateTime(nAno, 4, 3, 0, 0, 0, 0); break; case 3: oDia = new System.DateTime(nAno, 3, 23, 0, 0, 0, 0); break; case 4: oDia = new System.DateTime(nAno, 4, 11, 0, 0, 0, 0); break; case 5: oDia = new System.DateTime(nAno, 3, 31, 0, 0, 0, 0); break; case 6: oDia = new System.DateTime(nAno, 4, 18, 0, 0, 0, 0); break; case 7: oDia = new System.DateTime(nAno, 4, 8, 0, 0, 0, 0); break; case 8: oDia = new System.DateTime(nAno, 3, 28, 0, 0, 0, 0); break; case 9: oDia = new System.DateTime(nAno, 4, 16, 0, 0, 0, 0); break; case 10: oDia = new System.DateTime(nAno, 4, 5, 0, 0, 0, 0); break; case 11: oDia = new System.DateTime(nAno, 3, 25, 0, 0, 0, 0); break; case 12: oDia = new System.DateTime(nAno, 4, 13, 0, 0, 0, 0); break; case 13: oDia = new System.DateTime(nAno, 4, 2, 0, 0, 0, 0); break; case 14: oDia = new System.DateTime(nAno, 3, 22, 0, 0, 0, 0); break; case 15: oDia = new System.DateTime(nAno, 4, 10, 0, 0, 0, 0); break; case 16: oDia = new System.DateTime(nAno, 3, 30, 0, 0, 0, 0); break; case 17: oDia = new System.DateTime(nAno, 4, 17, 0, 0, 0, 0); break; case 18: oDia = new System.DateTime(nAno, 4, 7, 0, 0, 0, 0); break; case 19: oDia = new System.DateTime(nAno, 3, 27, 0, 0, 0, 0); break; } string cRet = ""; for (int n = 1; n <= 13; n++) { oDia= oDia.AddDays(1); if (oDia.DayOfWeek.ToString().Equals("Sunday")) { cRet = oDia.Day.ToString(); if (oDia.Month == 3) { cRet += " de março"; } else { cRet += " de abril"; } return cRet; } } return ""; }
- exemplos:
- Para o ano de 1997:
- a=1997 MOD 19 = 2
- b=1997 MOD 4 = 1
- c=1997 MOD 7 = 2
- d=(19 * 2 + 24) MOD 30 = 2
- e=(2 * 1 + 4 * 2 + 6 * 2 + 5) MOD 7 = 6
- (d + e) = 2 + 6 = 8
- Logo o Domingo de Páscoa é 30/3/1997
- Carnaval: 11/2/1997
- Corpus Christi: 29/5/1997
Datas dos Feriados Móveis
A seguir temos uma tabela com todos os feriados móveis de um ano, sendo eles: Carnaval, Páscoa, Corpus Christi, etc., do período de 1970 a 2020.
Ano | Data do Carnaval | Data da Sexta-feira Santa | Data da Páscoa | Data de Corpus Christi |
---|---|---|---|---|
1970 | 10 de fevereiro | 27 de março | 29 de março | 28 de maio |
1971 | 23 de fevereiro | 9 de abril | 11 de abril | 10 de junho |
1972 | 15 de fevereiro | 31 de março | 2 de abril | 1 de junho |
1973 | 6 de março | 20 de abril | 22 de abril | 21 de junho |
1974 | 26 de fevereiro | 12 de abril | 14 de abril | 13 de junho |
1975 | 11 de fevereiro | 28 de março | 30 de março | 29 de maio |
1976 | 2 de março | 16 de abril | 18 de abril | 17 de junho |
1977 | 22 de fevereiro | 8 de abril | 10 de abril | 9 de junho |
1978 | 7 de fevereiro | 24 de março | 26 de março | 25 de maio |
1979 | 27 de fevereiro | 13 de abril | 15 de abril | 14 de junho |
1980 | 19 de fevereiro | 4 de abril | 6 de abril | 5 de junho |
1981 | 3 de março | 17 de abril | 19 de abril | 18 de junho |
1982 | 23 de fevereiro | 9 de abril | 11 de abril | 10 de junho |
1983 | 15 de fevereiro | 1 de abril | 3 de abril | 2 de junho |
1984 | 6 de março | 20 de abril | 22 de abril | 21 de junho |
1985 | 19 de fevereiro | 5 de abril | 7 de abril | 6 de junho |
1986 | 11 de fevereiro | 28 de março | 30 de março | 29 de maio |
1987 | 3 de março | 17 de abril | 19 de abril | 18 de junho |
1988 | 16 de fevereiro | 1 de abril | 3 de abril | 2 de junho |
1989 | 7 de fevereiro | 24 de março | 26 de março | 25 de maio |
1990 | 27 de fevereiro | 13 de abril | 15 de abril | 14 de junho |
1991 | 12 de fevereiro | 29 de março | 31 de março | 30 de maio |
1992 | 3 de março | 17 de abril | 19 de abril | 18 de junho |
1993 | 23 de fevereiro | 9 de abril | 11 de abril | 10 de junho |
1994 | 15 de fevereiro | 1 de abril | 3 de abril | 2 de junho |
1995 | 28 de fevereiro | 14 de abril | 16 de abril | 15 de junho |
1996 | 20 de fevereiro | 5 de abril | 7 de abril | 6 de junho |
1997 | 11 de fevereiro | 28 de março | 30 de março | 29 de maio |
1998 | 24 de fevereiro | 10 de abril | 12 de abril | 11 de junho |
1999 | 16 de fevereiro | 2 de abril | 4 de abril | 3 de junho |
2000 | 7 de março | 21 de abril | 23 de abril | 22 de junho |
2001 | 27 de fevereiro | 13 de abril | 15 de abril | 14 de junho |
2002 | 12 de fevereiro | 29 de março | 31 de março | 30 de maio |
2003 | 4 de março | 18 de abril | 20 de abril | 19 de junho |
2004 | 24 de fevereiro | 9 de abril | 11 de abril | 10 de junho |
2005 | 8 de fevereiro | 25 de março | 27 de março | 26 de maio |
2006 | 28 de fevereiro | 14 de abril | 16 de abril | 15 de junho |
2007 | 20 de fevereiro | 6 de abril | 8 de abril | 7 de junho |
2008 | 5 de fevereiro | 21 de março | 23 de março | 22 de maio |
2009 | 24 de fevereiro | 10 de abril | 12 de abril | 11 de junho |
2010 | 16 de fevereiro | 2 de abril | 4 de abril | 3 de junho |
2011 | 8 de março | 22 de abril | 24 de abril | 23 de junho |
2012 | 21 de fevereiro | 6 de abril | 8 de abril | 7 de junho |
2013 | 12 de fevereiro | 29 de março | 31 de março | 30 de maio |
2014 | 4 de março | 18 de abril | 20 de abril | 19 de junho |
2015 | 17 de fevereiro | 3 de abril | 5 de abril | 4 de junho |
2016 | 9 de fevereiro | 25 de março | 27 de março | 26 de maio |
2017 | 28 de fevereiro | 14 de abril | 16 de abril | 15 de junho |
2018 | 13 de fevereiro | 30 de março | 1 de abril | 31 de maio |
2019 | 5 de março | 19 de abril | 21 de abril | 20 de junho |
2020 | 25 de fevereiro | 10 de abril | 12 de abril | 11 de junho |
Referências
- ↑ Jean Meeus (1991). Astronomical Algorithms. Richmond, Virginia: Willmann-Bell. p. 67–68