ΘΕΜΑ Δ
Ένα λιμάνι διαθέτει αποθηκευτικό χώρο χωρητικότητας 170 εμπορευματοκιβωτίων (containers). Σε καθημερινή βάση, στο τέλος της ημέρας, καταχωρίζεται ο αριθμός των εμπορευματοκιβωτίων που έχουν εισέλθει και εξέλθει από αυτόν.
Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:
Γ1.
α. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. (μονάδες 2)
β. Να διαβάζει για κάθε ημέρα το συνολικό πλήθος εμπορευματοκιβωτίων που εισήλθαν, καθώς και το συνολικό πλήθος εκείνων που εξήλθαν από τον αποθηκευτικό χώρο. Οι τιμές που διαβάζονται να ελέγχονται ώστε ο αριθμός των εμπορευματοκιβωτίων που παραμένουν στον αποθηκευτικό χώρο στο τέλος της ημέρας να είναι από 0 μέχρι και 170. Σε αντίθετη περίπτωση να θεωρούνται λανθασμένες και να επανεισάγονται. (μονάδες 3)
γ. Για τον τερματισμό της εισαγωγής δεδομένων το πρόγραμμα εμφανίζει το μήνυμα “Τέλος Εισαγωγής Στοιχείων; ΝΑΙ / ΟΧΙ”. Αν εισαχθεί η τιμή “ΝΑΙ”, να τερματίζεται η εισαγωγή δεδομένων. (μονάδες 2) Μονάδες 7
Γ2. Να βρίσκει και να εμφανίζει τον μέγιστο ημερήσιο αριθμό εισερχόμενων εμπορευματοκιβωτίων.
Μονάδες 4
Γ3. Να υπολογίζει και να εμφανίζει τη μέση ημερήσια διακίνηση εμπορευματοκιβωτίων. Η ημερήσια διακίνηση είναι το άθροισμα του πλήθους των εισερχομένων και των εξερχομένων εμπορευματοκιβωτίων της ημέρας.
Μονάδες 4
Γ4. Να υπολογίζει και να εμφανίζει το πλήθος των ημερών που παρέμειναν στον αποθηκευτικό χώρο τουλάχιστον 10 εμπορευματοκιβώτια, στο τέλος κάθε ημέρας.
Μονάδες 2
Γ5. Να υπολογίζει και να εμφανίζει τον μέσο όρο του πλήθους των εμπορευματοκιβωτίων που παρέμειναν στον αποθηκευτικό χώρο, στο τέλος κάθε ημέρας, από την έναρξη μέχρι τον τερματισμό εισαγωγής δεδομένων.
Μονάδες 3
Σημειώσεις
Να θεωρήσετε ότι:
α) Αρχικά ο αποθηκευτικός χώρος είναι κενός.
β) Οι αριθμοί που εισάγονται για το πλήθος των εισερχομένων και των εξερχομένων εμπορευματοκιβωτίων είναι μεγαλύτεροι ή ίσοι του 0.
γ) Υπάρχει καταχώριση στοιχείων για τουλάχιστον μια ημέρα.
.

ΛΥΣΗ

ΠΡΟΓΡΑΜΜΑ Γ2018ΗΜ
!Γ1α
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: SUM, ΜΕΡΕΣ, ΜΑΧΙΝ, ΚΙΝΗΣΗ, ΚΙΝ10, ΧΩΡΟΣ, ΕΙΣΟΔΟΣ, ΕΞΟΔΟΣ
  ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ, ΜΟ_ΚΙΝ
  ΧΑΡΑΚΤΗΡΕΣ: ΑΠΑΝΤΗΣΗ
ΑΡΧΗ
  SUM <- 0
  ΜΕΡΕΣ <- 0
  ΜΑΧΙΝ <- -10
  ΚΙΝΗΣΗ <- 0
  ΚΙΝ10 <- 0
  ΧΩΡΟΣ <- 0
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      ΔΙΑΒΑΣΕ ΕΙΣΟΔΟΣ
    ΜΕΧΡΙΣ_ΟΤΟΥ ΕΙΣΟΔΟΣ + ΧΩΡΟΣ <= 170                                      !Γ1β
    ΧΩΡΟΣ <- ΧΩΡΟΣ + ΕΙΣΟΔΟΣ                                                 !Γ3
    ΑΝ ΜΑΧΙΝ < ΕΙΣΟΔΟΣ ΤΟΤΕ                                                  !Γ2
      ΜΑΧΙΝ <- ΕΙΣΟΔΟΣ
    ΤΕΛΟΣ_ΑΝ
    ΚΙΝΗΣΗ <- ΚΙΝΗΣΗ + ΕΙΣΟΔΟΣ                                               !Γ3
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      ΔΙΑΒΑΣΕ ΕΞΟΔΟΣ
    ΜΕΧΡΙΣ_ΟΤΟΥ ΧΩΡΟΣ - ΕΞΟΔΟΣ >= 0                                         !Γ1β
    ΚΙΝΗΣΗ <- ΚΙΝΗΣΗ + ΕΞΟΔΟΣ                                                !Γ3
    ΧΩΡΟΣ <- ΧΩΡΟΣ - ΕΞΟΔΟΣ                                                  !Γ5
    ΑΝ ΚΙΝΗΣΗ > 10 ΤΟΤΕ                                                      !Γ4
      ΚΙΝ10 <- ΚΙΝ10 + 1
    ΤΕΛΟΣ_ΑΝ                                                                ! Γ3
    SUM <- SUM + ΧΩΡΟΣ                                                      ! Γ5
    ΜΕΡΕΣ <- ΜΕΡΕΣ + 1                                           ! ΠΛΗΘΟΣ ΗΜΕΡΩΝ
    ΓΡΑΨΕ 'ΤΕΛΟΣ ΕΙΣΑΓΩΓΗΣ ΣΤΟΙΧΕΙΩΝ; ΝΑΙ / ΟΧΙ;'                           !Γ1γ
    ΔΙΑΒΑΣΕ ΑΠΑΝΤΗΣΗ
  ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠΑΝΤΗΣΗ = 'ΝΑΙ'
  ΓΡΑΨΕ 'ΜΕΓΙΣΤΟΣ ΑΡΙΘΜΟΣ ΕΙΣΟΔΟΥ:', ΜΑΧΙΝ                                   !Γ2
  ΓΡΑΨΕ 'ΜΕΡΕΣ ΜΕ ΠΑΝΩ ΑΠΟ 10 ΣΤΟ ΤΕΛΟΣ ΗΜΕΡΑΣ:', ΚΙΝ10                      !Γ4
       !γ) Υπάρχει καταχώριση στοιχείων για τουλάχιστον μια ημέρα. ΔΙΑΙΡΕΣΗ ΜΕ 0
  ΜΟ_ΚΙΝ <- ΚΙΝΗΣΗ/ ΜΕΡΕΣ
  ΓΡΑΨΕ 'ΜΟ ΗΜΕΡΗΣΙΑΣ ΚΙΝΗΣΗΣ:', ΜΟ_ΚΙΝ                                     ! Γ3
  ΜΟ <- SUM/ ΜΕΡΕΣ
  ΓΡΑΨΕ 'ΜΟ ΚΙΒΩΤΙΩΝ ΣΤΟΝ ΧΏΡΟ:', ΜΟ                                        ! Γ5

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ</code class="language-javascript">
Share This