|
|
|
|
|
Dicas
|
|
Visual Basic (Datas/Números/Strings)
|
|
|
Título da Dica: Cálculo do dia da páscoa e carnaval
|
|
|
|
Postada em 10/10/2003 por Cláudio
caafs@bol.com.br
O cálculo é válido somente até 2099. Crie um módulo com as seguintes funções:
Public Function pascoa(pano As String)
Dim x As Integer, y As Integer, a As Integer, b As Integer, c As Integer, d As Integer, e As Integer, dia As Integer Dim mes As String
mes = vazio dia = 0 ano = Val(pano) x = 24 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
If (d + e) > 9 Then dia = (d + e - 9) mes = "04" Else dia = (d + e + 22) mes = "03" End If
pascoa = Format(CDate(LTrim(Str(dia)) & "/" & mes & "/" & LTrim(pano)), "dd/mm/yyyy")
End Function
Public Function carnaval(pano As String)
Dim x As Integer, y As Integer, a As Integer, b As Integer, c As Integer, d As Integer, e As Integer, dia As Integer Dim mes As String Dim vpascoa As Date
mes = vazio dia = 0 ano = Val(pano) x = 24 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
If (d + e) > 9 Then dia = (d + e - 9) mes = "04" Else dia = (d + e + 22) mes = "03" End If
vpascoa = Format(CDate(LTrim(Str(dia)) & "/" & mes & "/" & LTrim(pano)), "dd/mm/yyyy") carnaval = Format(CDate(vpascoa) - 47, "dd/mm/yyyy")
End Function
Agora é só programar seus próximos 96 carnavais.
:·)
|
|
|
|
|