! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
! Πρόγραμμα: Υπολογισμός ημερών από από την ημερομηνία γέννησής σας
! μέχρι σήμερα
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
ΠΡΟΓΡΑΜΜΑ διαφοράΗμερομηνιών
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: ημ1, ημ2, μην1, μην2, ετ1, ετ2, διαφορά
ΑΡΧΗ
ΓΡΑΨΕ 'Δωστε την ημερομηνία γέννησής σας:'
ΓΡΑΨΕ_ 'Μέρα: '
ΔΙΑΒΑΣΕ ημ1
ΓΡΑΨΕ_ 'Μήνας (Ιανουάριος=1..): '
ΔΙΑΒΑΣΕ μην1
ΓΡΑΨΕ_ 'Χρόνος: '
ΔΙΑΒΑΣΕ ετ1
ΓΡΑΨΕ 'Δωστε τη σημερινή ημερομηνία:'
ΓΡΑΨΕ_ 'Μέρα: '
ΔΙΑΒΑΣΕ ημ2
ΓΡΑΨΕ_ 'Μήνας (Ιανουάριος=1..): '
ΔΙΑΒΑΣΕ μην2
ΓΡΑΨΕ_ 'Χρόνος: '
ΔΙΑΒΑΣΕ ετ2
διαφορά <-- διαφοράΗμερομηνών(ημ1, μην1, ετ1, ημ2, μην2, ετ2)
ΑΝ διαφορά < 0 ΤΟΤΕ
ΓΡΑΨΕ 'Θα γενηθείς σε ', -διαφορά, ' μέρες:p (Έγραψες ανάποδα τις ημερομηνίες)'
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'Είσαι ', διαφορά, 'ημερών!'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
!----------------------------------------------------------------------------------
ΣΥΝΑΡΤΗΣΗ διαφοράΗμερομηνών(ημ1, μ1, ε1, ημ2, μ2, ε2): ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: ημ1, μ1, ε1, ημ2, μ2, ε2, μέρες1, μέρες2
ΑΡΧΗ
μέρες1 <-- ημερομηνίαΣεΜέρες(ημ1, μ1, ε1)
μέρες2 <-- ημερομηνίαΣεΜέρες(ημ2, μ2, ε2)
διαφοράΗμερομηνών <-- μέρες2 - μέρες1
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
!----------------------------------------------------------------------------------
ΣΥΝΑΡΤΗΣΗ ημερομηνίαΣεΜέρες(ημέρα, μήνας, έτος): ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: ημέρα, μήνας, έτος, μέρες, δίσεκταΧρόνια, ι, μέρεςΜήνα[12]
ΑΡΧΗ
μέρεςΜήνα[1] <-- 31
μέρεςΜήνα[2] <-- 28
μέρεςΜήνα[3] <-- 31
μέρεςΜήνα[4] <-- 30
μέρεςΜήνα[5] <-- 31
μέρεςΜήνα[6] <-- 30
μέρεςΜήνα[7] <-- 31
μέρεςΜήνα[8] <-- 31
μέρεςΜήνα[9] <-- 30
μέρεςΜήνα[10] <-- 31
μέρεςΜήνα[11] <-- 30
μέρεςΜήνα[12] <-- 31
! Δίσεκτα είναι τα χρόνια που διαιρούνται με το 4 και δεν διαιρούνται με το 100
! εκτός κι αν διαιρούνται με το 400
δίσεκταΧρόνια <-- (έτος DIV 4) - (έτος DIV 100) + (έτος DIV 400)
! Όσα είναι τα δίσεκτα χρόνια τόσες θα είναι και οι μέρες που πρέπει να προστεθούν
! στο χρόνια*365 για να έχουμε μετρήσει και τα χρόνια που έχουν 366 μέρες
μέρες <-- έτος*365 + δίσεκταΧρόνια + ημέρα
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ μήνας - 1
μέρες <-- μέρες + μέρεςΜήνα[ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ (έτος MOD 4 = 0 ΚΑΙ (έτος DIV 100 <> 0 Ή έτος DIV 400 = 0)) ΚΑΙ μήνας > 2 ΤΟΤΕ
μέρες <-- μέρες + 1
ΤΕΛΟΣ_ΑΝ
ημερομηνίαΣεΜέρες <-- μέρες
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ