ΘΕΜΑ Γ
Σε μια διαδρομή τρένου υπάρχουν 20 σταθμοί (σε αυτούς περιλαμβάνονται η αφετηρία και ο τερματικός σταθμός). Το τρένο σταματά σε όλους τους σταθμούς. Σε κάθε σταθμό επιβιβάζονται και αποβιβάζονται επιβάτες. Οι πρώτοι επιβάτες επιβιβάζονται στην αφετηρία και στον τερματικό σταθμό αποβιβάζονται όλοι οι επιβάτες.
Να κατασκευάσετε αλγόριθμο, ο οποίος να διαχειρίζεται την κίνηση των επιβατών. Συγκεκριμένα:
Α. Να ζητάει από το χρήστη τον αριθμό των ατόμων που επιβιβάστηκαν σε κάθε σταθμό, εκτός από τον τερματικό, και να τον εισάγει σε πίνακα ΕΠΙΒ[19].
Μονάδες 2
Β. Να εισάγει σε πίνακα ΑΠΟΒ[19] τον αριθμό των ατόμων που αποβιβάστηκαν σε κάθε σταθμό, εκτός από τον τερματικό, ως εξής:
Για την αφετηρία να εισάγει την τιμή μηδέν (0) και για τους υπόλοιπους σταθμούς να ζητάει από τον χρήστη τον αριθμό των ατόμων που αποβιβάστηκαν.
Μονάδες 4
Γ. Να δημιουργεί πίνακα ΑΕ[19], στον οποίο να καταχωρίζει τον αριθμό των επιβατών που βρίσκονται στο τρένο, μετά από κάθε αναχώρησή του.
Μονάδες 7
Δ. Να βρίσκει και να εμφανίζει τον σταθμό από τον οποίο το τρένο αναχωρεί με τον μεγαλύτερο αριθμό επιβατών. (Να θεωρήσετε ότι από κάθε σταθμό το τρένο αναχωρεί με διαφορετικό αριθμό επιβατών).
Μονάδες 7
ΛΥΣΗ
ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Γ_2009_ΗΜΕΡ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i, Πλήθος, ΑΕ[19], ΑΠΟΒ[19], ΕΠΙΒ[19], μέγιστο, μεγ_σταθμός
ΑΡΧΗ
! Α.
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 19 ! Οι σταθμοί χωρίς τον τερματικό
ΓΡΑΨΕ 'Δώστε αριθμό ατόμων που επιβιβάστηκαν στον ', i, 'σταθμό '
Διάβασε ΕΠΙΒ[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΠΟΒ[1] <-- 0 ! 0 αποβιβάσεις στην αφετηρία
! Β.
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 19
ΓΡΑΨΕ 'Δώστε αριθμό ατόμων που αποβιβάστηκαν από τον ',i, 'σταθμό '
Διάβασε ΑΠΟΒ[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! Γ.
Πλήθος <-- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 19
Πλήθος <-- Πλήθος + (ΕΠΙΒ[i] - ΑΠΟΒ[i])
ΑΕ[i] <-- Πλήθος
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! Δ.
μέγιστο <-- ΑΕ[1] ! Έστω ότι ο 1ος σταθμός έχει τους περισσότερους επιβάτες
μεγ_σταθμός <-- 1 ! Θέση μεγίστου στον πίνακα
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 19
ΑΝ ΑΕ[i] > μέγιστο ΤΟΤΕ
μέγιστο <-- ΑΕ[i]
μεγ_σταθμός <-- i
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Σταθμός με τους περισσότερους επιβάτες: ', μεγ_σταθμός
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΘΕΜΑ Δ
Ξενοδοχειακή επιχείρηση διαθέτει 25 δωμάτια. Τα δωμάτια αριθμούνται από το 1 μέχρι το 25. Ο συνολικός αριθμός των υπαλλήλων που απασχολούνται ημερησίως στο ξενοδοχείο εξαρτάται από τα κατειλημμένα δωμάτια και δίνεται από τον παρακάτω πίνακα
Αριθμός κατειλημμένων δωματίων | Συνολικός αριθμός υπαλλήλων |
από 0 μέχρι 4 | 3 |
από 5 μέχρι 8 | 4 |
από 9 μέχρι 12 | 5 |
πάνω από 12 | 6 |
Η ημερήσια χρέωση για κάθε δωμάτιο είναι 75€ και το ημερομίσθιο κάθε υπαλλήλου 45€.
Α. Να κατασκευάσετε κύριο πρόγραμμα το οποίο:
- Να περιλαμβάνει τμήμα δηλώσεων.
Μονάδες 3
- Να διαβάζει σε πίνακα ΚΡΑΤ[25,7] την κατάσταση κάθε δωματίου για κάθε μέρα της εβδομάδας, ελέγχοντας την ορθή καταχώριση. Το πρόγραμμα να δέχεται μόνο τους χαρακτήρες «Κ» για κατειλημμένο, «Δ» για διαθέσιμο αντίστοιχα.
Μονάδες 4
- Να υπολογίζει το συνολικό κέρδος ή τη συνολική ζημιά κατά τη διάρκεια της εβδομάδας και να εμφανίζει κατάλληλο μήνυμα. Για το σκοπό αυτό να καλεί το υποπρόγραμμα ΚΕΡΔΟΣ, που περιγράφεται στο ερώτημα B.
Μονάδες 4
Β. Να αναπτύξετε το υποπρόγραμμα ΚΕΡΔΟΣ, το οποίο να δέχεται τον πίνακα των κρατήσεων και έναν αριθμό ημέρας (από 1 έως 7). Το υποπρόγραμμα να υπολογίζει και να επιστρέφει το κέρδος της συγκεκριμένης ημέρας. Το κέρδος κάθε ημέρας προκύπτει από τα ημερήσια έσοδα ενοικιάσεων, αν αφαιρεθούν τα ημερομίσθια των υπαλλήλων της συγκεκριμένης ημέρας. Αν τα έσοδα είναι μικρότερα από τα ημερομίσθια, το κέρδος είναι αρνητικό (ζημιά).
Μονάδες 9
Τα θέματα σε pdf, 2009, Μαΐου-Ιουνίου, Ημερήσια
ΛΥΣΗ
ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Δ_2009_ΗΜΕΡ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: S, i, j
ΧΑΡΑΚΤΗΡΕΣ: ΚΡΑΤ[25,7]
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 25
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 7
! Έλεγχος εγκυρότητας
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ ΚΡΑΤ[i,j]
ΜΕΧΡΙΣ_ΟΤΟΥ ΚΡΑΤ [i,j]='Κ' Η ΚΡΑΤ [i,j]='Δ'
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
S <-- 0
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 7
S <-- S + ΚΕΡΔΟΣ(ΚΡΑΤ, j) ! Κέρδος εβδομάδας
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ S > 0 ΤΟΤΕ ΓΡΑΨΕ ' Κέρδος εβδομάδας ', S ΑΛΛΙΩΣ_ΑΝ S < 0 ΤΟΤΕ ΓΡΑΨΕ 'Προκύπτει Ζημιά ', Α_Τ(S) ! Απόλυτη τιμή ΑΛΛΙΩΣ ΓΡΑΨΕ 'Μηδενικό Κέρδος' ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΥΝΑΡΤΗΣΗ ΚΕΡΔΟΣ(κρατήσεις, μέρα): ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : i, δωμάτια, υπάλληλοι, μέρα
ΧΑΡΑΚΤΗΡΕΣ: κρατήσεις[25,7]
ΑΡΧΗ
! Υπολογισμός κατειλλημένων δωματίων
δωμάτια <-- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 25
ΑΝ κρατήσεις[i,μέρα] = 'Κ' ΤΟΤΕ
δωμάτια <-- δωμάτια + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
!Υπολογισμός κόστους υπαλλήλων
ΑΝ δωμάτια <= 4 ΤΟΤΕ
υπάλληλοι <-- 3
ΑΛΛΙΩΣ_ΑΝ δωμάτια <= 8 ΤΟΤΕ
υπάλληλοι <-- 4
ΑΛΛΙΩΣ_ΑΝ δωμάτια <= 12 ΤΟΤΕ
υπάλληλοι <-- 5
ΑΛΛΙΩΣ
υπάλληλοι <-- 6
ΤΕΛΟΣ_ΑΝ
! Κέρδος = Έσοδα - Κόστος υπαλλήλων
ΚΕΡΔΟΣ <-- δωμάτια * 75 - υπάλληλοι * 45
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ