Δευτέρα, 22 Μαρτίου 2010

Ημερομηνία του Πάσχα

Πλησιάζει το Πάσχα (των Ορθοδόξων) και θέλουμε να μάθουμε πότε ακριβώς "πέφτει".
Θα χρησιμοποιήσουμε την μέθοδο Gauss.
Στο σημερινό πρόγραμμα διαβάζουμε το τετραψήφιο έτος και με ένα υποπρόγραμμα βρίσκουμε την ημερομηνία του Πάσχα και ένα λεκτικό για τον μήνα (στην γενική πτώση).
Το υποπρόγραμμα Βρες_Πάσχα θα παίρνει μία παράμετρο εισόδου [έτος] και θα επιστρέφει δύο παραμέτρους εξόδου [ημερομηνία, μηνός], άρα θα είναι διαδικασία. (Για μία παράμετρο εξόδου, αρκούσε ένα υποπρόγραμμα συνάρτηση).

ΠΡΟΓΡΑΜΜΑ πασχα
! υπολογίζουμε την ημερομηνία του Πάσχα για δεδομένο έτος
__ΜΕΤΑΒΛΗΤΕΣ
____ΑΚΕΡΑΙΕΣ: έτος, ημερομηνία
____ΧΑΡΑΚΤΗΡΕΣ: μηνός
ΑΡΧΗ
__ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
____ΓΡΑΨΕ 'Δώσε έτος τετραψήφιο : '
____ΔΙΑΒΑΣΕ έτος
__ΜΕΧΡΙΣ_ΟΤΟΥ έτος > 1900
__ΚΑΛΕΣΕ ΒρεςΠάσχα(έτος, ημερομηνία, μηνός)
__ΓΡΑΨΕ 'Το έτος ', έτος, ' έχει το πάσχα στις ', ημερομηνία, μηνός
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
!
ΔΙΑΔΙΚΑΣΙΑ ΒρεςΠάσχα(ετο, ημε, μην)
__ΜΕΤΑΒΛΗΤΕΣ
____ΑΚΕΡΑΙΕΣ: αα, ββ, γγ, δδ, ετο, ζζ, ημε
____ΧΑΡΑΚΤΗΡΕΣ: μην
ΑΡΧΗ
__αα <- ετο MOD 19
__ββ <- ετο MOD 4
__γγ <- ετο MOD 7
__δδ <- (19*αα + 16) MOD 30
__ζζ <- (2*ββ + 4*γγ + 6*δδ) MOD 7
__ημε <- 3 + δδ + ζζ
__μην <- ' Απριλίου'
__ΑΝ ημε > 30 ΤΟΤΕ
____ημε <- ημε - 30
____μην <- ' Μαΐου'
__ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Η εκτέλεση του προγράμματος είναι κάπως έτσι :

Δώσε έτος τετραψήφιο:
2010
Το έτος 2010 έχει το πάσχα στις 4 Απριλίου

Δεν υπάρχουν σχόλια: