Mit Kommentare für Lernzwecke!!
Sub BerechneOsterdatum()
' Benutzereingabe für das Jahr
Dim Jahr As Integer
Jahr = InputBox("Geben Sie das Jahr ein:")
' Berechnung des Osterdatums
Dim a As Integer, b As Integer, c As Integer, d As Integer, e As Integer, f As Integer, g As Integer, h As Integer, i As Integer, k As Integer, L As Integer, m As Integer, p As Integer
a = Jahr Mod 19 ' Schritt 1: Goldene Zahl
b = Jahr \ 100 ' Schritt 2: Jahrhundert
c = Jahr Mod 100 ' Schritt 3: Jahr innerhalb des Jahrhunderts
d = b \ 4 ' Schritt 4: Säkularjahrregel
e = b Mod 4 ' Schritt 5: Jahrhundertjahrregel
f = (b + 8) \ 25 ' Schritt 6: Säkularmondregel
g = (b - f + 1) \ 3 ' Schritt 7: Keimregel
h = (19 * a + b - d - g + 15) Mod 30 ' Schritt 8: Keimmond
i = c \ 4 ' Schritt 9: Zyklusregel
k = c Mod 4 ' Schritt 10: Jahrhundertzirkel
L = (32 + 2 * e + 2 * i - h - k) Mod 7 ' Schritt 11: Sonnenkorrektur
m = (a + 11 * h + 22 * L) \ 451 ' Schritt 12: Mondkorrektur
p = (h + L - 7 * m + 114) \ 31 ' Schritt 13: Ostergrenze
Dim Tag As Integer
Tag = (h + L - 7 * m + 114) Mod 31 + 1 ' Schritt 14: Tag des Monats
Dim Monat As Integer
Monat = p ' Schritt 15: Monat
' Bestimmen des Wochentags
Dim Wochentag As String
Dim Ostersonntag As Date
Ostersonntag = DateSerial(Jahr, Monat, Tag)
Wochentag = Format(Ostersonntag, "dddd") ' Bestimmen des Wochentags für den berechneten Ostersonntag
' Anzeige des Ergebnisses in einer MsgBox
MsgBox "Ostersonntag im Jahr " & Jahr & " ist am " & Tag & ". " & Monat & ". (" & Wochentag & ")"
End Sub
|