Σε λίγες μέρες έρχεται το Πάσχα. Αλήθεια, ξέρεις να υπολογίσεις πότε είναι κάθε χρόνο;
Υπάρχει τρόπος. Τον αλγόριθμο που το υπολογίζει τον σκέφτηκε ο μεγάλος μαθηματικός 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:
Δείτε μερικές παρατηρήσεις σχετικά με τον παραπάνω αλγόριθμο εδώ.
1 σχόλιο
2 pings
Kαλά που μου το θύμισες, “ζήλεψα”, και θα βάλω και στο δικό μου, αλλά με excel (basic έκανα κάποτε λίγο, και logo καθόλου)…
Και το “εδώ” για τις παρατηρήσεις…
Ευχαριστώ, καλό Πάσχα…
[…] ΚΑΛΟ ΠΑΣΧΑ […]
[…] ΚΑΛΟ ΠΑΣΧΑ […]