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

ΛΥΣΗ

ΠΡΟΓΡΑΜΜΑ ΑΣΑΝΣΕΡ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΣΤΑΣΗ, ΑΤΟΜΑ_ΕΙΣ, ΑΤΟΜΑ_ΕΞ, ΑΤΟΜΑ_ΘΑ, ΣΒΑΡΟΣ, ΒΑΡΟΣ_ΕΙΣ, ΒΑΡΟΣ_ΕΞ
  ΧΑΡΑΚΤΗΡΕΣ: ΑΠΑΝΤΗΣΗ
ΑΡΧΗ
  ΑΤΟΜΑ_ΘΑ <- 0 ! ΑΤΟΜΑ ΣΤΟΝ ΘΑΛΑΜΟ
  ΣΒΑΡΟΣ <- 0   ! ΒΑΡΟΣ ΑΤΟΜΩΝ ΣΤΟΝ ΘΑΛΑΜΟ

! ΤΟ ΑΣΑΝΣΕΡ ΚΙΝΕΙΤΑΙ 1 ΦΟΡΑ ΑΠΟ ΤΟΝ 1 ΣΤΟΝ 8 ΟΡΟΦΟ
  ΓΙΑ ΣΤΑΣΗ ΑΠΟ 1 ΜΕΧΡΙ 8
    ΓΡΑΨΕ 'ΣΤΑΣΗ ', ΣΤΑΣΗ
    ΑΝ ΣΤΑΣΗ <> 1 ΤΟΤΕ
!ΑΠΟΒΙΒΑΣΗ
      ΑΝ ΑΤΟΜΑ_ΘΑ <> 0 ΤΟΤΕ                         ! ΥΠΑΡΧΟΥΝ ΑΤΟΜΑ ΣΤΟΝ ΘΑΛΑΜΟ
        ΑΤΟΜΑ_ΕΞ <- 0                           ! ΑΤΟΜΑ ΠΟΥ ΕΞΕΡΧΟΝΤΑΙ ΣΤΗ ΣΤΑΣΗ
! 1 ΔΙΑΒΑΣΜΑ ΕΞΩ ΑΠΟ ΤΗΝ ΕΠΑΝΑΛΗΨΗ
        ΓΡΑΨΕ 'Υπάρχει άτομο να εξέλθει; (ΝΑΙ ή ΟΧΙ)'
        ΔΙΑΒΑΣΕ ΑΠΑΝΤΗΣΗ
        ΟΣΟ ΑΠΑΝΤΗΣΗ <> 'ΟΧΙ' ΕΠΑΝΑΛΑΒΕ
          ΓΡΑΨΕ 'ΒΑΡΟΣ ΕΞΕΡΧΟΜΕΝΟΥ'
          ΔΙΑΒΑΣΕ ΒΑΡΟΣ_ΕΞ
          ΣΒΑΡΟΣ <- ΣΒΑΡΟΣ - ΒΑΡΟΣ_ΕΞ                !ΑΦΑΙΡΕΙΤΑΙ ΑΠΟ ΤΟ ΣΥΝΟΛΙΚΟ
          ΑΤΟΜΑ_ΘΑ <- ΑΤΟΜΑ_ΘΑ - 1                  ! ΑΦΑΙΡ ΑΠΟ ΤΟ ΑΤΟΜΑ ΘΑΛΑΜΟΥ
          ΑΤΟΜΑ_ΕΞ <- ΑΤΟΜΑ_ΕΞ + 1         ! ΠΡΟΣΜΕΤΡΑΤΑΙ ΣΕ ΟΣΟΥΣ ΑΠΟΒΙΒΑΖΟΝΤΑΙ
                                           ! 1 ΔΙΑΒΑΣΜΑ ΣΤΟ ΤΕΛΟΣ ΤΗΣ ΕΠΑΝΑΛΗΨΗΣ
          ΓΡΑΨΕ 'Υπάρχει άτομο να εξέλθει; (ΝΑΙ ή ΟΧΙ)'
          ΔΙΑΒΑΣΕ ΑΠΑΝΤΗΣΗ
        ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
        ΓΡΑΨΕ 'ΑΤΟΜΑ ΕΞΗΛΘΑΝ ', ΑΤΟΜΑ_ΕΞ                                 ! ΕΡΩΤ1
      ΑΛΛΙΩΣ
        ΓΡΑΨΕ 'Ο ΘΑΛΑΜΟΣ ΕΙΝΑΙ ΑΔΕΙΟΣ'
      ΤΕΛΟΣ_ΑΝ

    ΤΕΛΟΣ_ΑΝ

    ΑΝ ΣΤΑΣΗ <> 8 ΤΟΤΕ
! ΕΠΙΒΙΒΑΣΗ
      ΑΤΟΜΑ_ΕΙΣ <- 0                           ! ΑΤΟΜΑ ΠΟΥ ΕΙΣΕΡΧΟΝΤΑΙ ΣΤΗ ΣΤΑΣΗ
! 1 ΔΙΑΒΑΣΜΑ ΕΞΩ ΑΠΟ ΤΗΝ ΕΠΑΝΑΛΗΨΗ
      ΓΡΑΨΕ 'Υπάρχει άτομο να εισέλθει; (ΝΑΙ ή ΟΧΙ)'
      ΔΙΑΒΑΣΕ ΑΠΑΝΤΗΣΗ
      ΟΣΟ ΑΠΑΝΤΗΣΗ <> 'ΟΧΙ' ΕΠΑΝΑΛΑΒΕ
        ΑΝ ΑΤΟΜΑ_ΘΑ < 8 ΤΟΤΕ
          ΓΡΑΨΕ 'ΒΑΡΟΣ ΕΙΣΕΡΧΟΜΕΝΟΥ'
          ΔΙΑΒΑΣΕ ΒΑΡΟΣ_ΕΙΣ
          ΑΝ ΣΒΑΡΟΣ + ΒΑΡΟΣ_ΕΙΣ >= 800 ΤΟΤΕ
            ΓΡΑΨΕ '>ΜΕΓΙΣΤΟ ΒΑΡΟΣ'
          ΑΛΛΙΩΣ
            ΣΒΑΡΟΣ <- ΣΒΑΡΟΣ + ΒΑΡΟΣ_ΕΙΣ
            ΑΤΟΜΑ_ΘΑ <- ΑΤΟΜΑ_ΘΑ + 1
          ΤΕΛΟΣ_ΑΝ
        ΑΛΛΙΩΣ
          ΓΡΑΨΕ '>ΜΕΓΙΣΤΟ ΑΤΟΜΩΝ'
        ΤΕΛΟΣ_ΑΝ

        ! 1 ΔΙΑΒΑΣΜΑ ΣΤΟ ΤΕΛΟΣ ΤΗΣ ΕΠΑΝΑΛΗΨΗΣ
        ΓΡΑΨΕ 'Υπάρχει άτομο να εισέλθει; (ΝΑΙ ή ΟΧΙ)'
        ΔΙΑΒΑΣΕ ΑΠΑΝΤΗΣΗ
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΓΡΑΨΕ 'ΑΤΟΜΑ ΕΙΣΗΛΘΑΝ ', ΑΤΟΜΑ_ΕΙΣ                                 ! ΕΡΩΤ1
      ΓΡΑΨΕ 'ΑΤΟΜΑ ΣΤΟ ΘΑΛΑΜΟ ΣΤΗΝ ΕΚΚΙΝΗΣΗ', ΑΤΟΜΑ_ΘΑ                   ! ΕΡΩΤ3
      ΓΡΑΨΕ 'ΒΑΡΟΣ ΣΤΗΝ ΕΚΚΙΝΗΣΗ ', ΣΒΑΡΟΣ                               ! ΕΡΩΤ4


    ΤΕΛΟΣ_ΑΝ

  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ                                                 ! ΣΤΑΣΕΙΣ 1-8
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ 
Share This