Ένα πλοίο μεταφέρει δέματα από λιμάνια της Ελλάδας στην Ιταλία. Σε κάθε
λιμάνι που καταπλέει για φόρτωση δηλώνει το βάρος που έχει ήδη φορτωμένο ,
καθώς και το μέγιστο βάρος που μπορεί να μεταφέρει (όριο βάρους). Η
διαδικασία φόρτωσης ελέγχεται από αρμόδιο υπάλληλο.
Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο να υποστηρίζει τη διαδικασία
φόρτωσης σε ένα λιμάνι. Το πρόγραμμα:
Γ1. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων.
Μονάδες 2
Γ2. Να διαβάζει:
το όριο βάρους του πλοίου (μονάδα 1),
το βάρος δεμάτων που έχει ήδη φορτωμένα, ελέγχοντας ότι η τιμή
του είναι μικρότερη από το όριο βάρους, διαφορετικά να το
ξαναζητά (μονάδες 2).
Μονάδες 3
Γ3. Για τη διαδικασία φόρτωσης:
α) να εμφανίζει το βάρος που μπορεί ακόμα να φορτωθεί στο
πλοίο,
να εμφανίζει το μήνυμα: «ΝΑ ΦΟΡΤΩΘΕΙ ΔΕΜΑ; (ΝΑΙ/ΟΧΙ)»,
να διαβάζει την απάντηση του αρμόδιου υπαλλήλου (χωρίς
έλεγχο εγκυρότητας).
(μονάδες 3)
β) Αν η απάντηση είναι «ΝΑΙ»
να διαβάζει το βάρος του δέματος, να ελέγχει ότι δεν
παραβιάζεται το όριο βάρους και να επιτρέπει τη φόρτωσή του,
διαφορετικά να εμφανίζει το μήνυμα «ΤΟ ΔΕΜΑ ΔΕΝ ΧΩΡΑΕΙ»,
(μονάδες 2)
εφόσον επιτραπεί η φόρτωσή του, να υπολογίζει και να
εμφανίζει το κόστος μεταφοράς του κλιμακωτά, με βάση το
βάρος του, ως εξής:
- τα πρώτα 500 κιλά χρεώνονται 0,5 € / κιλό,
- τα επόμενα 1000 κιλά χρεώνονται 0,3 € / κιλό,
- τα υπόλοιπα χρεώνονται 0,1 € / κιλό.
(μονάδες 4)
Η παραπάνω διαδικασία φόρτωσης επαναλαμβάνεται μέχρι να δοθεί ως
απάντηση από τον αρμόδιο υπάλληλο η λέξη «ΟΧΙ».
(μονάδες 2)
Μονάδες 11
Γ4. Μετά το τέλος φόρτωσης να εμφανίζει:
πόσα από τα δέματα που ελέγχθηκαν δεν φορτώθηκαν λόγω
υπέρβασης του ορίου βάρους (μονάδα 1),
το συνολικό ποσό που εισπράχθηκε (μονάδα 1),
το πλήθος των δεμάτων που φορτώθηκαν και είχαν βάρος που
ξεπερνούσε τα 1000 κιλά (μονάδες 2).
Μονάδες 4
ΠΡΟΓΡΑΜΜΑ ΠΛΟΙΟ
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ:ΟΡΙΟ_ΒΑΡΟΥΣ,ΒΑΡΟΣ,ΒΑΡΟΣ_ΔΕΜΑΤΩΝ,ΣΠΟΣΟ,ΚΟΣΤΟΣ
ΑΚΕΡΑΙΕΣ:ΠΛΗΘΟΣ1,ΠΛΗΘΟΣ2
ΧΑΡΑΚΤΗΡΕΣ:ΑΠΑΝΤΗΣΗ
ΑΡΧΗ
ΔΙΑΒΑΣΕ ΟΡΙΟ_ΒΑΡΟΥΣ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ ΒΑΡΟΣ_ΔΕΜΑΤΩΝ
ΜΕΧΡΙΣ_ΟΤΟΥ ΒΑΡΟΣ_ΔΕΜΑΤΩΝ<ΟΡΙΟ_ΒΑΡΟΥΣ
ΠΛΗΘΟΣ1<-0 !ΠΟΣΑ ΔΕΜΑΤΑ ΔΕΝ ΦΟΡΤΩΘΗΚΑΝ
ΣΠΟΣΟ<-0 !ΣΥΝΟΛΙΚΟ ΠΟΣΟ ΠΟΥ
ΕΙΣΠΡΑΧΘΗΚΕ
ΠΛΗΘΟΣ2<-0 !ΠΛΗΘΟΣ ΔΕΜΑΤΩΝ ΠΑΝΩ ΑΠΟ
1000 ΚΙΛΑ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΘΕΣΙΜΟ<-ΟΡΙΟ_ΒΑΡΟΥΣ–ΒΑΡΟΣ_ΔΕΜΑΤΩΝ
ΓΡΑΨΕ ‘ΔΙΑΘΕΣΙΜΟ ΒΑΡΟΣ’, ΔΙΑΘΕΣΙΜΟ
ΔΙΑΒΑΣΕ ΒΑΡΟΣ
ΑΝ ΒΑΡΟΣ_ΔΕΜΑΤΩΝ+ΒΑΡΟΣ<=ΟΡΙΟ_ΒΑΡΟΥΣ ΤΟΤΕ
ΒΑΡΟΣ_ΔΕΜΑΤΩΝ<-ΒΑΡΟΣ_ΔΕΜΑΤΩΝ+ΒΑΡΟΣ
ΑΝ ΒΑΡΟΣ<=500 ΤΟΤΕ
ΚΟΣΤΟΣ<-ΒΑΡΟΣ*0.5
ΑΛΛΙΩΣ_ΑΝ ΒΑΡΟΣ<=1500 ΤΟΤΕ
ΚΟΣΤΟΣ<-500*0.5+(ΒΑΡΟΣ–500)*0.3
ΑΛΛΙΩΣ
ΚΟΣΤΟΣ<-500*0.5+1000*0.3+(ΒΑΡΟΣ–1500)*0.1
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ ΚΟΣΤΟΣ
ΣΠΟΣΟ<-ΣΠΟΣΟ+ΚΟΣΤΟΣ
ΑΝ ΒΑΡΟΣ>1000 ΤΟΤΕ
ΠΛΗΘΟΣ2<-ΠΛΗΘΟΣ2+1
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ
ΓΡΑΨΕ ‘ΤΟ ΔΕΜΑ ΔΕΝ ΧΩΡΑΕΙ’
ΠΛΗΘΟΣ1<-ΠΛΗΘΟΣ1+1
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ ‘ΝΑ ΦΟΡΤΩΘΕΙ ΔΕΜΑ;(ΝΑΙ/ΟΧΙ)’
ΔΙΑΒΑΣΕ ΑΠΑΝΤΗΣΗ
ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠΑΝΤΗΣΗ=‘ΟΧΙ’
ΓΡΑΨΕ ‘ΔΕΝ ΦΟΡΤΩΘΗΚΑΝ’, ΠΛΗΘΟΣ1
ΓΡΑΨΕ ‘ΣΥΝΟΛΙΚΟ ΠΟΣΟ’, ΣΠΟΣΟ
ΓΡΑΨΕ ‘ΔΕΜΑΤΑ ΜΕ ΒΑΡΟΣ ΠΑΝΩ ΑΠΟ
1000’, ΠΛΗΘΟΣ2
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ