e-ΜΑΘΗΜΑΤΑ |
Λύσεις ασκήσεων από τον Οδηγό Μελέτης Μαθητών |
ΠΡΟΓΡΑΜΜΑ Ανελκυστήρας
! ΑΕΠΠ - Οδηγός Μελέτης Μαθητή
! Μη λυμένες ασκήσεις 3.6.14
!
! 14. Σ’ ένα ασανσέρ επιτρέπεται να επιβιβασθούν 8 άτομα και το μέγιστο επιτρεπτό
! ωφέλιμο βάρος στο ασανσέρ είναι 900 κιλά. Το ασανσέρ ξεκινά όταν γεμίσει (όταν
! το σύνολο των ατόμων δεν ξεπερνά τα 8 άτομα ή αν το συνολικό βάρος δεν
! υπερβαίνει τα 900 κιλά) ή όταν δεν υπάρχει άλλο άτομο για να επιβιβασθεί στον
! όροφο που έχει σταματήσει. Το ασανσέρ κάνει συνολικά 8 στάσεις . Σε κάθε στάση,
! εκτός της τελευταίας, το πρόγραμμα εμφανίζει το μήνυμα "Υπάρχει άτομο να
! εισέλθει; (ΝΑΙ ή ΟΧΙ)".
! Αν η απάντηση είναι "ΝΑΙ" εισάγεται το βάρος του ατόμου και έτσι σηματοδοτείται
! η επιβίβασή του στο ασανσέρ. Η παραπάνω διαδικασία επαναλαμβάνεται μέχρι να
! δοθεί η απάντηση "ΟΧΙ" και να σταματήσει η επιβίβαση.
! Επίσης σε κάθε στάση, εκτός από την πρώτη, το πρόγραμμα εμφανίζει το μήνυμα
! "Υπάρχει άτομο να εξέλθει; (ΝΑΙ ή ΟΧΙ)", αν η απάντηση είναι "ΝΑΙ"
! σηματοδοτείται η επιβίβαση στο ασανσέρ. Η παραπάνω διαδικασία επαναλαμβάνεται
! μέχρι να δοθεί η απάντηση "ΟΧΙ".
! Να γραφεί πρόγραμμα που να περιγράφει την παραπάνω λειτουργία του ασανσέρ και
! στο τέλος να τυπώνει το σύνολο των ατόμων που εισήλθαν στο ασανσέρ στη 1η
! στάση και το σύνολο των ατόμων που αποβιβάστηκαν στην 8η στάση.
ΣΤΑΘΕΡΕΣ
μέγιστο_βάρος = 900
μέγιστο_πλήθος = 8
αριθμός_ορόφων = 8
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i, πλήθος_επιβατών, όροφος
ΠΡΑΓΜΑΤΙΚΕΣ: συνολικό_βάρος, βάρος
ΛΟΓΙΚΕΣ: τέλος_αποβίβασης, τέλος_επιβίβασης
ΧΑΡΑΚΤΗΡΕΣ: απάντηση
ΑΚΕΡΑΙΕΣ: άτομα_πρώτης_στάσης, άτομα_τελευταίας_στάσης
ΑΡΧΗ
! αρχικοποιήσεις
όροφος <- 1
πλήθος_επιβατών <- 0
συνολικό_βάρος <- 0
άτομα_τελευταίας_στάσης <- 0
ΟΣΟ όροφος <= αριθμός_ορόφων ΕΠΑΝΑΛΑΒΕ
ΓΡΑΨΕ 'Όροφος ', όροφος
! αποβίβαση
τέλος_αποβίβασης <- ΨΕΥΔΗΣ
ΟΣΟ όροφος <> 1 ΚΑΙ πλήθος_επιβατών > 0 ΚΑΙ ΟΧΙ τέλος_αποβίβασης ΕΠΑΝΑΛΑΒΕ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Υπάρχει άτομο να εξέλθει; (ΝΑΙ ή ΟΧΙ)'
ΔΙΑΒΑΣΕ απάντηση
ΜΕΧΡΙΣ_ΟΤΟΥ απάντηση = 'ΝΑΙ' Η απάντηση = 'ΟΧΙ'
ΑΝ απάντηση = 'ΝΑΙ' ΤΟΤΕ
πλήθος_επιβατών <- πλήθος_επιβατών - 1
ΑΝ όροφος = αριθμός_ορόφων ΤΟΤΕ
άτομα_τελευταίας_στάσης <- άτομα_τελευταίας_στάσης + 1
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ 'Δώστε βάρος επιβάτη που εξέρχεται : '
ΔΙΑΒΑΣΕ βάρος
συνολικό_βάρος <- συνολικό_βάρος - βάρος
ΑΝ συνολικό_βάρος < 0 ΤΟΤΕ
συνολικό_βάρος <- 0
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ
τέλος_αποβίβασης <- ΑΛΗΘΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! επιβίβαση
τέλος_επιβίβασης <- ΨΕΥΔΗΣ
ΟΣΟ όροφος <> αριθμός_ορόφων ΚΑΙ πλήθος_επιβατών < μέγιστο_πλήθος ΚΑΙ ΟΧΙ τέλος_επιβίβασης ΕΠΑΝΑΛΑΒΕ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Υπάρχει άτομο να εισέλθει; (ΝΑΙ ή ΟΧΙ)'
ΔΙΑΒΑΣΕ απάντηση
ΜΕΧΡΙΣ_ΟΤΟΥ απάντηση = 'ΝΑΙ' Η απάντηση = 'ΟΧΙ'
ΑΝ απάντηση = 'ΝΑΙ' ΤΟΤΕ
ΓΡΑΨΕ 'Δώστε βάρος επιβάτη που θέλει να εισέλθει : '
ΔΙΑΒΑΣΕ βάρος
ΑΝ συνολικό_βάρος + βάρος < μέγιστο_βάρος ΤΟΤΕ
συνολικό_βάρος <- συνολικό_βάρος + βάρος
πλήθος_επιβατών <- πλήθος_επιβατών + 1
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'ΥΠΕΡΦΟΡΤΩΜΕΝΟ!'
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ
τέλος_επιβίβασης <- ΑΛΗΘΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ όροφος = 1 ΤΟΤΕ
άτομα_πρώτης_στάσης <- πλήθος_επιβατών
ΤΕΛΟΣ_ΑΝ
όροφος <- όροφος + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Σύνολο ατόμων που εισήλθαν στην 1η στάση : ', άτομα_πρώτης_στάσης
ΓΡΑΨΕ 'Σύνολο ατόμων που αποβιβάστηκαν στην τελευταία στάση : ', άτομα_τελευταίας_στάσης
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
|