ΘΕΜΑ Γ
Ένα πρατήριο υγρών καυσίμων διαθέτει έναν τύπο καυσίμου που αποθηκεύεται σε δεξαμενή χωρητικότητας 10.000 λίτρων. Να αναπτύξετε αλγόριθμο ο οποίος:
Γ1. να διαβάζει την ποσότητα (σε λίτρα) του καυσίμου που υπάρχει αρχικά στη δεξαμενή μέχρι να δοθεί έγκυρη τιμή.
Μονάδες 2
Για κάθε όχημα που προσέρχεται στο πρατήριο:
Γ2. να διαβάζει τον τύπο του οχήματος (“Β” για βυτιοφόρο όχημα που προμηθεύει το πρατήριο με καύσιμο και “E” για επιβατηγό όχημα που προμηθεύεται καύσιμο από το πρατήριο).
Μονάδες 2
Γ3. Αν το όχημα είναι βυτιοφόρο τότε να γεμίζει τη δεξαμενή μέχρι την πλήρωσή της. (μονάδες 3)
Αν το όχημα είναι επιβατηγό τότε να διαβάζει την ποσότητα καυσίμου την οποία θέλει να προμηθευτεί (μονάδες 2)
και, αν υπάρχει επάρκεια καυσίμου στη δεξαμενή, τότε το επιβατηγό όχημα να εφοδιάζεται με τη ζητούμενη ποσότητα καυσίμου, διαφορετικά το όχημα να μην εξυπηρετείται (μονάδες 3).
Μονάδες 8
Γ4. Η επαναληπτική διαδικασία να τερματίζεται, όταν αδειάσει η δεξαμενή του πρατηρίου ή όταν δεν εξυπηρετηθούν τρία διαδοχικά επιβατηγά οχήματα.
Μονάδες 4
Γ5. Στο τέλος ο αλγόριθμος να εμφανίζει:
α. τη μέση ποσότητα καυσίμου ανά επιβατηγό όχημα που εξυπηρετήθηκε
β. τη συνολική ποσότητα καυσίμου με την οποία τα βυτιοφόρα ανεφοδίασαν τη δεξαμενή.
Μονάδες 4
ΛΥΣΗ
ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Γ_2011_ΕΠΑΝ_ΗΜΕΡ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Εξυπηρετήθηκαν, Πλήθος ΠΡΑΓΜΑΤΙΚΕΣ: Διαθέσιμο, Ανεφοδιασμός, Ποσότητα, S, ΜΟ ΧΑΡΑΚΤΗΡΕΣ: Τύπος ΛΟΓΙΚΕΣ: Τέλος ΑΡΧΗ ! Γ1 Αρχή_επανάληψης Διάβασε Διαθέσιμο ! Διαθέσιμη ποσότητα Μέχρις_ότου (Διαθέσιμο >= 0) ΚΑΙ (Διαθέσιμο <= 10000) ! Γ2 - Γ3 Τέλος <-- Ψευδής Πλήθος <-- 0 S <-- 0 Εξυπηρετήθηκαν <-- 0 Ανεφοδιασμός <-- 0 Όσο Τέλος = Ψευδής επανάλαβε Γράψε 'Τύπος Οχήματος (Β ή Ε)' Διάβασε Τύπος Αν Τύπος = 'Β' τότε Ανεφοδιασμός <-- Ανεφοδιασμός+(10000-Διαθέσιμο) Διαθέσιμο <-- 10000 αλλιώς_αν Τύπος = 'Ε' ΤΟΤΕ Διάβασε Ποσότητα Αν Διαθέσιμο - Ποσότητα >= 0 τότε S <-- S + Ποσότητα Εξυπηρετήθηκαν <-- Εξυπηρετήθηκαν + 1 Διαθέσιμο <-- Διαθέσιμο - Ποσότητα Πλήθος <-- 0 Αν Διαθέσιμο = 0 τότε Τέλος <-- Αληθής Τέλος_αν αλλιώς Γράψε 'Το επιβατικό δεν μπορεί να εξυπηρετηθεί!' Πλήθος <-- Πλήθος+1 Αν Πλήθος = 3 τότε Τέλος <-- Αληθής Τέλος_αν Τέλος_αν Τέλος_αν Τέλος_επανάληψης ΜΟ <-- S / Εξυπηρετήθηκαν Γράψε 'ΜΟ ποσότητας Επιβατικών ', ΜΟ Γράψε 'Συνολικός Ανεφοδιασμός', Ανεφοδιασμός ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΘΕΜΑ Δ
Ένας όμιλος αποτελείται από 20 εταιρίες. Να γράψετε πρόγραμμα το οποίο:
Δ1. να περιλαμβάνει τμήμα δηλώσεων.
Μονάδες 2
Δ2. να διαβάζει τα ονόματα των εταιριών του ομίλου και τα κέρδη τους για κάθε ένα από τα έτη 2001 έως και 2005. (Θεωρήστε ότι τα κέρδη είναι θετικοί αριθμοί.)
Μονάδες 2
Δ3. για κάθε εταιρία του ομίλου να καλεί συνάρτηση για τον υπολογισμό του συνολικού κέρδους της εταιρίας στην πενταετία. Στη συνέχεια να υπολογίζει και να εμφανίζει το μέσο ετήσιο κέρδος του ομίλου.
Μονάδες 5
Δ4. για κάθε εταιρία να βρίσκει την τριετία με το μεγαλύτερο συνολικό κέρδος και να εμφανίζει το όνομα της εταιρίας και το πρώτο έτος της συγκεκριμένης τριετίας. (Θεωρήστε ότι η τριετία αυτή είναι μοναδική.)
Μονάδες 5
Δ5. Να κατασκευάσετε τη συνάρτηση που θα χρησιμοποιήσετε στο ερώτημα Δ3.
Μονάδες 6
Τα θέματα σε pdf, 2011, Επαναληπτικές, Ημερήσια
ΛΥΣΗ
ΘΕΜΑ_Δ_2011_ΕΠΑΝ_ΗΜΕΡ [demo_δεδομένα_για_5_εταιρίες]
ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Δ_2011_ΕΠΑΝ_ΗΜΕΡ ΣΤΑΘΕΡΕΣ ΕΤΑΙΡΙΕΣ=5 ! Ξαναδηλώνεται και στο υποπρόγραμμα, 5 για τα demo δεδομένα, ! 20 για την άσκηση ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, j, k, Tριετία ΠΡΑΓΜΑΤΙΚΕΣ: ΚΕΡΔΗ[ΕΤΑΙΡΙΕΣ, 5], Κέρδη_5ετιας, ΜΟ, Μέγιστο, Κέρδη_3ετιας[3] ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[ΕΤΑΙΡΙΕΣ] ΑΡΧΗ ! Δ2 Ονόματα ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ ΕΤΑΙΡΙΕΣ ΔΙΑΒΑΣΕ ΟΝ[i] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ! Δ2 Κέρδη κάθε εταιρία σε γραμμή ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ ΕΤΑΙΡΙΕΣ ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5 ΔΙΑΒΑΣΕ ΚΕΡΔΗ[i, j] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ! Δ3 ΓΡΑΨΕ 'ΜΟ ΚΕΡΔΩΝ 5ΕΤΙΑΣ:' ΓΡΑΨΕ 'ΕΤΑΙΡΙΑ - ΜΟ' ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ ΕΤΑΙΡΙΕΣ Κέρδη_5ετιας <-- Υπολογισμός_κερδών_5ετιας(ΚΕΡΔΗ, i) ΜΟ <-- Κέρδη_5ετιας/5 ΓΡΑΨΕ ΟΝ[i], ΜΟ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ! Δ4 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ ΕΤΑΙΡΙΕΣ ΓΙΑ k ΑΠΟ 1 ΜΕΧΡΙ 3 Κέρδη_3ετιας[k] <-- 0 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΙΑ k ΑΠΟ 0 ΜΕΧΡΙ 2 ΓΙΑ j ΑΠΟ 1+k ΜΕΧΡΙ 3+k Κέρδη_3ετιας[k+1] <-- Κέρδη_3ετιας[k+1] + ΚΕΡΔΗ[i, j] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Μέγιστο <-- Κέρδη_3ετιας[1] Tριετία <-- 1 ΓΙΑ j ΑΠΟ 2 ΜΕΧΡΙ 3 ΑΝ Κέρδη_3ετιας[j] > Μέγιστο ΤΟΤΕ Μέγιστο <-- Κέρδη_3ετιας[j] Tριετία <-- j ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ΟΝ[i] ΓΡΑΨΕ 'Η τριετία με το μεγαλύτερο κέρδος ήταν :' ΑΝ Tριετία = 1 ΤΟΤΕ ΓΡΑΨΕ '1η: 2001-2003' ΑΛΛΙΩΣ_ΑΝ Tριετία = 2 ΤΟΤΕ ΓΡΑΨΕ '2η: 2002-2004' ΑΛΛΙΩΣ ΓΡΑΨΕ '3η: 2003-2005' ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ! Δ5 ΣΥΝΑΡΤΗΣΗ Υπολογισμός_κερδών_5ετιας(ΚΕΡΔΗ, Εταιρία) : ΠΡΑΓΜΑΤΙΚΗ ΣΤΑΘΕΡΕΣ ΕΤΑΙΡΙΕΣ=5 ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: ΚΕΡΔΗ[ΕΤΑΙΡΙΕΣ, 5], S ΑΚΕΡΑΙΕΣ: Εταιρία, j ΑΡΧΗ S <-- 0 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5 S <-- S + ΚΕΡΔΗ[Εταιρία, j] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Υπολογισμός_κερδών_5ετιας <-- S ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ