Σε λίγες μέρες έρχεται το Πάσχα. Αλήθεια, ξέρεις να υπολογίσεις πότε είναι κάθε χρόνο;
Υπάρχει τρόπος. Τον αλγόριθμο που το υπολογίζει τον σκέφτηκε ο μεγάλος μαθηματικός Gauss (Johann Carl Friedrich Gauss)
Ο αλγόριθμος (εκφρασμένος σε απλή γλώσσα BASIC) είναι ο εξής:
input "ΔΩΣΤΕ ΤΟ ΕΤΟΣ:", e
a = mod (e,19)
b = mod (e,4)
c = mod (e,7)
d1 = 19 * a + 16
d = mod (d1,30)
f1 = 2 * b + 4 * c + 6 * d
f = mod (f1,7)
p = 3 + d + f
m$ = " ΑΠΡΙΛΙΟΥ"
If p > 30 Then
p = p - 30
m$ = " ΜΑΪΟΥ"
end if
print "ΤΟ" ; e ; "ΤΟ ΠΑΣΧΑ ΕΙΝΑΙ:" ; p ; m$
ΣΗΜΕΙΩΣΗ 1:
Η συνάρτηση mod (a,b) υπολογίζει το υπόλοιπο της διαίρεσης του αριθμού a με τον b. Δηλ. το mod (e,7) υπολογίζει το υπόλοιπο της διαίρεσης του έτους e με το 7. Στο τέλος κάνουμε την εξής σκέψη: Το Πάσχα είναι ή Απρίλιο ή Μάιο. Οπότε θεωρούμε (αυθαίρετα) ότι είναι τον Απρίλιο και με το If ελέγχουμε αν η ημερομηνία του Πάσχα (το p) είναι πάνω από 30 οπότε τότε αφαιρούμε το 30 και ο μήνας θα είναι Μάιος.
ΣΗΜΕΙΩΣΗ 2:
Αν επιχειρήσεις να κάνεις το παραπάνω πρόγραμμα στη LOGO (Microworlds Pro) η συνάρτηση mod (a,b) είναι η: υπόλοιπο a b
ΣΗΜΕΙΩΣΗ 3:
Δείτε μερικές παρατηρήσεις σχετικά με τον παραπάνω αλγόριθμο εδώ.