Μάθημα : ΑΕΠΠ

Κωδικός : EL1403111

EL1403111  -  ΑΝΤΩΝΙΟΣ ΦΩΤΕΙΝΟΣ

Ενότητες - Άσκηση Ασανσέρ

Άσκηση Ασανσέρ

Να γραφεί πρόγραμμα σε «ΓΛΩΣΣΑ», το οποίο να περιγράφει τη λειτουργία ενός συγκεκριμένου ασανσέρ. Ο θάλαμος του ασανσέρ χωράει μέχρι 8 άτομα με το μέγιστο συνολικά επιτρεπτό ωφέλιμο βάρος των ατόμων να είναι 900 κιλά. Το ασανσέρ ξεκινά όταν το σύνολο των ατόμων στον θάλαμο δεν ξεπερνά τους οκτώ ή όταν το συνολικό βάρος των ατόμων δεν υπερβαίνει τα 900 κιλά ή όταν δεν υπάρχει άλλο άτομο να εισέλθει σε αυτό από τον κάθε όροφο που έχει σταματήσει. Το ασανσέρ κάνει συνολικά 8 στάσεις (μία σε κάθε όροφο). Σε κάθε στάση, εκτός της τελευταίας, το πρόγραμμα εμφανίζει το μήνυμα «Υπάρχει άτομο να εισέλθει; (ΝΑΙ ή ΟΧΙ)». Αν η απάντηση είναι «ΝΑΙ» τότε «εισάγεται» το βάρος
του ατόμου και έτσι σηματοδοτείται η πρόθεσή του να εισέλθει στο ασανσέρ. Η παραπάνω διαδικασία επαναλαμβάνεται μέχρι να δοθεί η απάντηση «ΟΧΙ».
Επίσης, σε κάθε στάση, εκτός από την πρώτη, το πρόγραμμα εμφανίζει το μήνυμα «Υπάρχει άτομο να εξέλθει; (ΝΑΙ ή ΟΧΙ)», αν η απάντηση είναι «ΝΑΙ» τότε «εξάγεται» το βάρος του ατόμου κι έτσι σηματοδοτείται η έξοδός του από το ασανσέρ. Η παραπάνω διαδικασία επαναλαμβάνεται μέχρι να δοθεί η απάντηση «ΟΧΙ».
Το πρόγραμμα υπολογίζει και τυπώνει:
- το σύνολο των ατόμων που εισέρχονται στον θάλαμο του ασανσέρ σε κάθε στάση (εκτός της τελευταίας στάσης),
- το σύνολο των ατόμων που εξέρχονται από κάθε στάση (εκτός της πρώτης στάσης),
- σε όλες τις στάσεις, πλην της 8ης, το πλήθος των ατόμων που βρίσκονται στον θάλαμο αμέσως πριν την εκκίνηση του ασανσέρ για την επόμενη στάση.
- σε όλες τις στάσεις, πλην της 8ης,το συνολικό βάρος των ατόμων που βρίσκονται στον θάλαμο αμέσως πριν την εκκίνηση του ασανσέρ για την επόμενη στάση.
Σημειώνεται ότι:
- η λειτουργία του ασανσέρ επιτρέπει μία μόνο μετάβαση από την 1η μέχρι και την 8η στάση
- στην 1η στάση επιτρέπεται μόνο η είσοδος και όχι η έξοδος από τον θάλαμο,
- στην 8η στάση εξέρχονται όλοι από τον θάλαμο χωρίς να επιτρέπεται νέα είσοδος.

Σενάριο 1

Τιμές Εισόδου :
ΝΑΙ
50
ΝΑΙ
50
ΟΧΙ
ΟΧΙ
ΟΧΙ
ΟΧΙ
ΝΑΙ
50
ΟΧΙ
ΝΑΙ
50
ΟΧΙ
ΟΧΙ
ΟΧΙ
ΝΑΙ
50
ΟΧΙ
ΟΧΙ
ΟΧΙ
ΝΑΙ
50
ΟΧΙ
ΟΧΙ
ΝΑΙ
50
ΝΑΙ
50
ΟΧΙ
Τιμές εξόδου
ΟΡΟΦΟΣ 1
Άτομα που μπήκαν : 2
Άτομα που βγήκαν : 0
Άτομα στο θάλαμο : 2
Βάρος στο θάλαμο : 100
ΟΡΟΦΟΣ 2
Άτομα που μπήκαν : 0
Άτομα που βγήκαν : 0
Άτομα στο θάλαμο : 2
Βάρος στο θάλαμο : 100
ΟΡΟΦΟΣ 3
Άτομα που μπήκαν : 1
Άτομα που βγήκαν : 0
Άτομα στο θάλαμο : 3
Βάρος στο θάλαμο : 150
ΟΡΟΦΟΣ 4
Άτομα που μπήκαν : 0
Άτομα που βγήκαν : 1
Άτομα στο θάλαμο : 2
Βάρος στο θάλαμο : 100
ΟΡΟΦΟΣ 5
Άτομα που μπήκαν : 1
Άτομα που βγήκαν : 0
Άτομα στο θάλαμο : 3
Βάρος στο θάλαμο : 150
ΟΡΟΦΟΣ 6
Άτομα που μπήκαν : 0
Άτομα που βγήκαν : 0
Άτομα στο θάλαμο : 3
Βάρος στο θάλαμο : 150
ΟΡΟΦΟΣ 7
Άτομα που μπήκαν : 0
Άτομα που βγήκαν : 1
Άτομα στο θάλαμο : 2
Βάρος στο θάλαμο : 100
ΟΡΟΦΟΣ 8
Άτομα που μπήκαν : 0
Άτομα που βγήκαν : 2
Άτομα στο θάλαμο : 0
Βάρος στο θάλαμο : 0


 

ΠΡΟΓΡΑΜΜΑ ΑΣΑΝΣΕΡ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΟΡΟΦΟΣ, ΠΣ, ΒΣ, ΒΑ
  ΧΑΡΑΚΤΗΡΕΣ: ΑΠ

ΑΡΧΗ
  ΠΣ <- 0
  ΒΣ <- 0

  ΓΙΑ ΟΡΟΦΟΣ ΑΠΟ 1 ΜΕΧΡΙ 8
    ΓΡΑΨΕ "ΟΡΟΦΟΣ ", ΟΡΟΦΟΣ

    ΑΝ ΟΡΟΦΟΣ >= 2 ΚΑΙ ΟΡΟΦΟΣ <= 8 ΤΟΤΕ
      ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
        ΓΡΑΨΕ "ΘΑ ΕΞΕΛΘΕΙ ΚΑΠΟΙΟΣ?"
        ΔΙΑΒΑΣΕ ΑΠ
      ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠ = "ΝΑΙ" Η ΑΠ = "ΟΧΙ"

      ΟΣΟ ΑΠ <> "ΟΧΙ" ΕΠΑΝΑΛΑΒΕ
        ΓΡΑΨΕ "ΔΩΣΤΕ ΒΑΡΟΣ"
        ΔΙΑΒΑΣΕ ΒΑ
        ΒΣ <- ΒΣ - ΒΑ
        ΠΣ <- ΠΣ - 1
       
        ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
          ΓΡΑΨΕ "ΘΑ ΕΞΕΛΘΕΙ ΚΑΠΟΙΟΣ?"
          ΔΙΑΒΑΣΕ ΑΠ
        ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠ = "ΝΑΙ" Η ΑΠ = "ΟΧΙ"
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΤΕΛΟΣ_ΑΝ

    ΑΝ ΟΡΟΦΟΣ >= 1 ΚΑΙ ΟΡΟΦΟΣ <= 7 ΤΟΤΕ
      ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
        ΓΡΑΨΕ "ΘΑ ΕΙΣΕΛΘΕΙ ΚΑΠΟΙΟΣ?"
        ΔΙΑΒΑΣΕ ΑΠ
      ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠ = "ΝΑΙ" Η ΑΠ = "ΟΧΙ"

      ΟΣΟ ΑΠ <> "ΟΧΙ" ΕΠΑΝΑΛΑΒΕ
        ΓΡΑΨΕ "ΔΩΣΤΕ ΒΑΡΟΣ"
        ΔΙΑΒΑΣΕ ΒΑ
        ΑΝ ΒΣ + ΒΑ < 900 ΚΑΙ ΠΣ < 8 ΤΟΤΕ
          ΒΣ <- ΒΣ + ΒΑ
          ΠΣ <- ΠΣ + 1
        
        ΑΛΛΙΩΣ
          ΓΡΑΨΕ "ΟΧΙ ΕΙΣΟΔΟΣ!!!"
        ΤΕΛΟΣ_ΑΝ
        ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
          ΓΡΑΨΕ "ΘΑ ΕΙΣΕΛΘΕΙ ΚΑΠΟΙΟΣ?"
          ΔΙΑΒΑΣΕ ΑΠ
        ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠ = "ΝΑΙ" Η ΑΠ = "ΟΧΙ"
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΤΕΛΟΣ_ΑΝ

 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ