ΠΡΟΓΡΑΜΜΑ ΚΙΝΗΤΗ_ΜΟΝΑΔΑ_ΑΙΜΟΔΟΣΙΑΣ
ΣΤΑΘΕΡΕΣ
Ν=3000 ! |ΔΕΚΤΕΣ ΟΜΑΔΕΣ
ΜΕΤΑΒΛΗΤΕΣ ! |Α|Β|ΑΒ|0
ΑΚΕΡΑΙΕΣ: Ι, Ξ, Ψ !Α |1|0| 0|1
ΧΑΡΑΚΤΗΡΕΣ: Φ[Ν], ΑΓ[4], ΖΟ !Β |0|1| 0|1
ΛΟΓΙΚΕΣ: ΣΟ[4, 4] !ΑΒ |1|1| 1|1
ΠΡΑΓΜΑΤΙΚΕΣ: Π[Ν], ΥΠ, ΖΠ, Υ1, Υ2, Υ3, Υ4 !0 |0|0| 0|1
ΑΡΧΗ
ΑΓ[1] <-- 'Α'
ΑΓ[2] <-- 'Β'
ΑΓ[3] <-- 'ΑΒ'
ΑΓ[4] <-- '0'
ΣΟ[1, 1] <-- ΑΛΗΘΗΣ
ΣΟ[1, 2] <-- ΨΕΥΔΗΣ
ΣΟ[1, 3] <-- ΨΕΥΔΗΣ
ΣΟ[1, 4] <-- ΑΛΗΘΗΣ
ΣΟ[2, 1] <-- ΨΕΥΔΗΣ
ΣΟ[2, 2] <-- ΑΛΗΘΗΣ
ΣΟ[2, 3] <-- ΨΕΥΔΗΣ
ΣΟ[2, 4] <-- ΑΛΗΘΗΣ
ΣΟ[3, 1] <-- ΑΛΗΘΗΣ
ΣΟ[3, 2] <-- ΑΛΗΘΗΣ
ΣΟ[3, 3] <-- ΑΛΗΘΗΣ
ΣΟ[3, 4] <-- ΑΛΗΘΗΣ
ΣΟ[4, 1] <-- ΨΕΥΔΗΣ
ΣΟ[4, 2] <-- ΨΕΥΔΗΣ
ΣΟ[4, 3] <-- ΨΕΥΔΗΣ
ΣΟ[4, 4] <-- ΑΛΗΘΗΣ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'ΟΙ ΟΜΑΔΕΣ ΔΕΧΟΝΤΑΙ ΤΑ ΕΞΙΣ:'
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 4
ΓΡΑΨΕ_ ΑΓ[Ι], ':'
ΓΙΑ Ξ ΑΠΟ 1 ΜΕΧΡΙ 4
ΑΝ ΣΟ[Ι, Ξ] = ΑΛΗΘΗΣ ΤΟΤΕ
ΓΡΑΨΕ_ ΑΓ[Ξ]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Θέλετε να αλλάξετε κάτι ?'
ΓΡΑΨΕ '1 για ΝΑΙ'
ΓΡΑΨΕ '2 για ΟΧΙ'
ΔΙΑΒΑΣΕ Ι
ΑΝ Ι <> 1 ΚΑΙ Ι <> 2 ΤΟΤΕ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Παρακαλώ επιλέξτε ένα από τα παραπάνω πληκτρολογώντας τον αριθμό πριν από την επιλογή σας.'
ΔΙΑΒΑΣΕ Ι
ΜΕΧΡΙΣ_ΟΤΟΥ Ι=1 Ή Ι =2
ΤΕΛΟΣ_ΑΝ
ΑΝ Ι = 1 ΤΟΤΕ
ΓΡΑΨΕ 'Παρακαλώ πληκτρολογείται:'
ΓΡΑΨΕ '1 για ΝΑΙ'
ΓΡΑΨΕ '2 για ΟΧΙ'
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 4
ΓΡΑΨΕ 'Αν ο ασθενής έχει ομάδα αίματος', ΑΓ[Ι], 'δέχεται:'
ΓΙΑ Ξ ΑΠΟ 1 ΜΕΧΡΙ 4
ΓΡΑΨΕ_ ΑΓ[Ξ], '?'
ΔΙΑΒΑΣΕ Ψ
ΑΝ Ψ <> 1 ΚΑΙ Ψ <> 2 ΤΟΤΕ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Παρακαλώ επιλέξτε ένα από τα παραπάνω πληκτρολογώντας τον αριθμό πριν από την επιλογή σας.'
ΔΙΑΒΑΣΕ Ψ
ΜΕΧΡΙΣ_ΟΤΟΥ Ψ=1 Ή Ψ=2
ΤΕΛΟΣ_ΑΝ
ΑΝ Ψ=1 ΤΟΤΕ
ΣΟ[Ι, Ξ] <-- ΑΛΗΘΗΣ
ΑΛΛΙΩΣ
ΣΟ[Ι, Ξ] <-- ΨΕΥΔΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ_ΟΤΟΥ Ι=2
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν
ΓΡΑΨΕ_ 'παρακαλώ πληκτρολογήστε τον τύπο αίματος του φιαλιδίου νούμερο', Ι, ':'
ΔΙΑΒΑΣΕ Φ[Ι]
ΑΝ Φ[Ι] <> ΑΓ[1] ΚΑΙ Φ[Ι] <> ΑΓ[2] ΚΑΙ Φ[Ι] <> ΑΓ[3] ΚΑΙ Φ[Ι] <> ΑΓ[4] ΤΟΤΕ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Παρακαλώ εισάγετε έναν έγκυρο τύπο αίματος (οι επιτρεπόμενοι είναι:', ΑΓ[1], ΑΓ[2], ΑΓ[3], ΑΓ[4], ')'
ΔΙΑΒΑΣΕ Φ[Ι]
ΜΕΧΡΙΣ_ΟΤΟΥ Φ[Ι] = ΑΓ[1] Ή Φ[Ι] = ΑΓ[2] Ή Φ[Ι]= ΑΓ[3] Ή Φ[Ι]= ΑΓ[4]
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ_ 'Παρακαλώ πληκτρολογήστε την ποσότητα αίματος του φιαλιδίου'
ΔΙΑΒΑΣΕ Π[Ι]
ΑΝ Π[Ι] <= 0 ΤΟΤΕ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Η ποσότητα πρέπει να είναι μεγαλύτερη του 0, παρακαλώ ξανα πληκτρολογήστε την.'
ΔΙΑΒΑΣΕ Π[Ι]
ΜΕΧΡΙΣ_ΟΤΟΥ Π[Ι] > 0
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Θέλετε να αλλάξετε κάποια καταχώρηση ?'
ΓΡΑΨΕ '1.ΝΑΙ'
ΓΡΑΨΕ '2.ΟΧΙ'
ΔΙΑΒΑΣΕ Ι
ΑΝ Ι <> 1 ΚΑΙ Ι <> 2 ΤΟΤΕ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Παρακαλώ επιλέξτε ένα από τα παραπάνω πληκτρολογώντας τον αριθμό πριν από την επιλογή σας.'
ΔΙΑΒΑΣΕ Ι
ΜΕΧΡΙΣ_ΟΤΟΥ Ι=1 Ή Ι=2
ΤΕΛΟΣ_ΑΝ
ΑΝ Ι = 1 ΤΟΤΕ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Παρακαλώ πληκτρολογήστε τον αριθμό φιαλιδίου. 0 για συνέχεια στο πρόγραμμα.'
ΔΙΑΒΑΣΕ Ι
ΑΝ Ι >Ν Ή Ι <0 ΤΟΤΕ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Πρέπει να είναι μικρότερο του', Ν, 'και μεγαλύτερο ή ίσο του 0'
ΔΙΑΒΑΣΕ Ι
ΜΕΧΡΙΣ_ΟΤΟΥ Ι >=0 ΚΑΙ Ι<Ν
ΤΕΛΟΣ_ΑΝ
ΑΝ Ι <> 0 ΤΟΤΕ
ΓΡΑΨΕ_ 'παρακαλώ πληκτρολογήστε τον τύπο αίματος του φιαλιδίου νούμερο', Ι, ':'
ΔΙΑΒΑΣΕ Φ[Ι]
ΑΝ Φ[Ι] <> ΑΓ[1] ΚΑΙ Φ[Ι] <> ΑΓ[2] ΚΑΙ Φ[Ι] <> ΑΓ[3] ΚΑΙ Φ[Ι] <> ΑΓ[4] ΤΟΤΕ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Παρακαλώ εισάγετε έναν έγκυρο τύπο αίματος (οι επιτρεπόμενοι είναι:', ΑΓ[1], ΑΓ[2], ΑΓ[3], ΑΓ[4], ')'
ΔΙΑΒΑΣΕ Φ[Ι]
ΜΕΧΡΙΣ_ΟΤΟΥ Φ[Ι] = ΑΓ[1] Ή Φ[Ι] = ΑΓ[2] Ή Φ[Ι]= ΑΓ[3] Ή Φ[Ι]= ΑΓ[4]
ΓΡΑΨΕ_ 'Παρακαλώ πληκτρολογήστε την ποσότητα αίματος του φιαλιδίου'
ΔΙΑΒΑΣΕ Π[Ι]
ΤΕΛΟΣ_ΑΝ
ΑΝ Π[Ι] <= 0 ΤΟΤΕ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Η ποσότητα πρέπει να είναι μεγαλύτερη του 0, παρακαλώ ξανα πληκτρολογήστε την.'
ΔΙΑΒΑΣΕ Π[Ι]
ΜΕΧΡΙΣ_ΟΤΟΥ Π[Ι] > 0
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ_ΟΤΟΥ Ι=0
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ 'Παρακαλώ πληκτρολογήστε την ομάδα αίματος του λήπτη.'
ΔΙΑΒΑΣΕ ΖΟ
ΑΝ ΖΟ <> ΑΓ[1] ΚΑΙ ΖΟ <> ΑΓ[2] ΚΑΙ ΖΟ <> ΑΓ[3] ΚΑΙ ΖΟ <> ΑΓ[4] ΤΟΤΕ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Παρακαλώ εισάγετε έναν έγκυρο τύπο αίματος (οι επιτρεπόμενοι είναι:', ΑΓ[1], ΑΓ[2], ΑΓ[3], ΑΓ[4], ')'
ΔΙΑΒΑΣΕ ΖΟ
ΜΕΧΡΙΣ_ΟΤΟΥ ΖΟ = ΑΓ[1] Ή ΖΟ = ΑΓ[2] Ή ΖΟ= ΑΓ[3] Ή ΖΟ= ΑΓ[4]
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ 'Παρακαλώ εισάγετε την ποσότητα αίματος που χριάζετε.'
ΔΙΑΒΑΣΕ ΖΠ
ΑΝ ΖΠ <= 0 ΤΟΤΕ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Η ποσότητα αίματος που χρειάζεται ο λήπτης πρέπει να είναι μεγαλύτερη του 0.'
ΔΙΑΒΑΣΕ ΖΠ
ΜΕΧΡΙΣ_ΟΤΟΥ ΖΠ > 0
ΤΕΛΟΣ_ΑΝ
Υ1 <-- 0
Υ2 <-- 0
Υ3 <-- 0
Υ4 <-- 0
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν
ΑΝ Φ[Ι] = ΑΓ[1] ΤΟΤΕ
Υ1 <-- Υ1+Π[Ι]
ΑΛΛΙΩΣ_ΑΝ Φ[Ι] = ΑΓ[2] ΤΟΤΕ
Υ2 <-- Υ2+Π[Ι]
ΑΛΛΙΩΣ_ΑΝ Φ[Ι] = ΑΓ[3] ΤΟΤΕ
Υ3 <-- Υ3+Π[Ι]
ΑΛΛΙΩΣ_ΑΝ Φ[Ι] = ΑΓ[4] ΤΟΤΕ
Υ4 <-- Υ4+Π[Ι]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 4
ΑΝ ΖΟ=ΑΓ[Ι] ΤΟΤΕ
Ψ <-- Ι
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Διαθέσιμες ποσότητες αίματος:'
ΓΡΑΨΕ_ 'Ομάδα', ΑΓ[1], ':', Υ1
ΑΝ ΣΟ[Ψ, 1]=ΑΛΗΘΗΣ ΤΟΤΕ
ΓΡΑΨΕ 'συμβατό'
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'μη συμβατό'
Υ1 <-- 0
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ_ 'Ομάδα', ΑΓ[2], ':', Υ2
ΑΝ ΣΟ[Ψ, 2]=ΑΛΗΘΗΣ ΤΟΤΕ
ΓΡΑΨΕ 'συμβατό'
Υ1 <-- Υ1 +Υ2
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'μη συμβατό'
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ_ 'Ομάδα', ΑΓ[3], ':', Υ3
ΑΝ ΣΟ[Ψ, 3]=ΑΛΗΘΗΣ ΤΟΤΕ
ΓΡΑΨΕ 'συμβατό'
Υ1 <-- Υ1+Υ3
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'μη συμβατό'
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ_ 'Ομάδα', ΑΓ[4], ':', Υ4
ΑΝ ΣΟ[Ψ, 4]=ΑΛΗΘΗΣ ΤΟΤΕ
ΓΡΑΨΕ 'συμβατό'
Υ1 <-- Υ1+Υ4
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'μη συμβατό'
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ 'Διαθέσιμη ποσότητα αίματος:', Υ1
ΑΝ Υ1 >= ΖΠ ΤΟΤΕ
ΓΡΑΨΕ 'Υπάρχει αρκετό αίμα συμβατό με τον λήπτη.'
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'Δεν υπάρχει αρκετό αίμα συμβατό με τον λήπτη.'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ