Στοίβα – Ουρά

Άσκηση 1
Μία αεροπορική εταιρία εκτελεί το δρομολόγιο Θεσσαλονίκη – Χανιά κατά τους θερινούς μήνες του έτους. Λόγω της αυξανόμενης ζήτησης, η εταιρία διατηρεί σε λίστα αναμονής τους επιβάτες που δεν πρόλαβαν να κλείσουν εισιτήριο ώστε αν προκύψει κάποια ακύρωση τότε να ενημερώσει τον πρώτο στη σειρά πελάτη που εισήχθη στην λίστα αναμονής να κλείσει εισιτήριο. Η λίστα αναμονής δεν μπορεί να περιλαμβάνει περισσότερα από 10 ονόματα.
Να κάνετε πρόγραμμα το οποίο:
1. Θα δέχεται μία εκ των τριών τιμών εισαγωγής: «ΕΓΓΡΑΦΗ», «ΑΚΥΡΩΣΗ» ή «ΤΕΛΟΣ» κάνοντας έλεγχος εγκυρότητας.
2. Αν ο χρήστης δώσει την τιμή «ΕΓΓΡΑΦΗ» τότε θα ζητείται το όνομα του χρήστη και θα καταχωρείται στην λίστα αναμονής μόνο εφόσον η λίστα αναμονής είναι μικρότερη ή ίση των 10 ατόμων. Διαφορετικά να εμφανίζει το μήνυμα: «Η λίστα αναμονής είναι πλήρης».
3. Αν ο χρήστης δώσει την τιμή «ΑΚΥΡΩΣΗ», τότε κάποιος από τους επιβάτες της πτήσης έχει ακυρώσει την κράτησή του, συνεπώς το πρόγραμμα θα πρέπει να εμφανίσει το όνομα του ατόμου που είναι πρώτο διαθέσιμο στην λίστα αναμονής. Αν δεν υπάρχουν άτομα στην λίστα αναμονής, να εμφανίζεται το μήνυμα «Η λίστα αναμονής είναι άδεια».
4. Η παραπάνω διαδικασία να επαναλαμβάνεται μέχρι ο χρήστης να δώσει την τιμή «ΤΕΛΟΣ».
5. Το πρόγραμμα να εμφανίζει το πλήθος των ατόμων που κατάφεραν να κάνουν κράτηση μέσα από την λίστα αναμονής, καθώς και το μέγιστο πλήθος των ατόμων που περίμεναν στην ουρά αναμονής.

Άσκηση 2
Σε μία τράπεζα οι πελάτες εξυπηρετούνται με βάση της σειρά άφιξής τους στο κατάστημα. Η τράπεζα έχει ένα ταμείο και ο μέσος χρόνος εξυπηρέτησης κάθε πελάτη είναι 2 λεπτά. Η ουρά αναμονής στην τράπεζα δεν μπορεί να ξεπερνά τα 40 άτομα.
Να γίνει πρόγραμμα το οποίο:
1. Θα δέχεται μία εκ των δύο τιμών εισαγωγής: «ΕΙΣΟΔΟΣ» ή «ΕΠΟΜΕΝΟΣ» κάνοντας έλεγχος εγκυρότητας.
2. Αν δοθεί η τιμή «ΕΙΣΟΔΟΣ» τότε να διαβάζει το ονοματεπώνυμο του πελάτη και αμέσως μετά να εμφανίζει το πλήθος των ατόμων που περιμένουν πριν από αυτόν, εκτός αν η ουρά αναμονής είναι γεμάτη οπότε θα εμφανιστεί το μήνυμα «ΤΟ ΚΑΤΑΣΤΗΜΑ ΕΪΝΑΙ ΓΕΜΑΤΟ. ΕΛΑΤΕ ΑΛΛΗ ΜΕΡΑ».
3. Αν δοθεί η τιμή «ΕΠΟΜΕΝΟΣ» τότε να εμφανίζεται το ονοματεπώνυμο του πελάτη προς εξυπηρέτηση.
4. Η παραπάνω διαδικασία να επαναλαμβάνεται μέχρι να μην υπάρχει κανένας πελάτης προς εξυπηρέτηση.
5. Στο τέλος να εμφανίζεται
   a. το πλήθος των ατόμων που εξυπηρετήθηκαν και
   b. τον μέσο χρόνο αναμονής των πελατών.

Άσκηση 3
Ένα οχηματαγωγό πλοίο εκτελεί το δρομολόγιο ΠΕΙΡΑΙΑΣ – ΨΑΡΡΑ – ΧΙΟΣ – ΜΥΤΙΛΗΝΗ. Τα οχήματα που επιβιβάζονται πρώτα είναι αυτά για Μυτιλήνη, έπειτα για Χίο και στο τέλος για ΨΑΡΑ. Προφανώς κατά την αποβίβαση ακολουθείται η αντίστροφη διαδικασία. Στο λιμάνι του Πειραιά προσέρχονται τα αυτοκίνητα για αναχώρηση. Να γίνει πρόγραμμα το οποίο:
Α) θα διαβάζει τον αριθμό κυκλοφορίας και τον προορισμό καθενός από τα 500 αυτοκίνητα που προσέρχονται.
– Εφόσον το αυτοκίνητο έχει προορισμό την Μυτιλήνη ο αριθμός του κυκλοφορίας να καταχωρείται στη στοίβα με όνομα ΟΧΗΜΑΤΑ.
– Εφόσον έχει προορισμό την Χίο ή τα Ψαρρά, ο αριθμός κυκλοφορίας να καταχωρείται στις ουρές ΟΥΡΑ_ΧΙΟΥ ΚΑΙ ΟΥΡΑ_ΨΑΡΡΩΝ αντίστοιχα.
Β) Όταν διαβαστούν τα στοιχεία όλων των οχημάτων, να καταχωρείται στην στοίβα ΟΧΗΜΑΤΑ ένα-ένα τα οχήματα της ουράς ΟΥΡΑ_ΧΙΟΥ και ΟΥΡΑ_ΨΑΡΡΩΝ.
Γ) Στο τέλος να εξάγει και να εμφανίζει από την στοίβα ΟΧΗΜΑΤΑ σε τρεις διαφορετικές λίστες τα οχήματα με προορισμό τα Ψαρρά, τη Χίο και τη Μυτιλήνη.

Αφήστε μια απάντηση

Η ηλ. διεύθυνσή σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *