Στον αρχαιολογικό χώρο της Πύλου διασώθηκαν θραύσματα κεραμικών πινακίδων στα οποία είχαν καταγραφεί σε γραμμές βασικά αγαθά με τις ποσότητες τους, τα οποία είχε συλλέξει η πόλη κατά τη διάρκεια καλλιεργητικών περιόδων. Σε κάθε θραύσμα, αναφέρονται τα πλήρη στοιχεία (όνομα αγαθού, περίοδος, ποσότητα) για ένα ή περισσότερα αγαθά. Βρέθηκαν στοιχεία για δεκαπέντε (15) βασικά αγαθά και πέντε (5) καλλιεργητικές περιόδους. Όλα τα αγαθά υπάρχουν και στις πέντε περιόδους
Σε κάθε γραμμή οι πρώτοι δέκα χαρακτήρες αντιστοιχούν στο όνομα του αγαθού, ο ενδέκατος στην καλλιεργητική περίοδο και ο δωδέκατος στην ποσότητα που συλλέχτηκε. Οι πέντε καλλιεργητικές περίοδοι αναπαρίστανται από τους χαρακτήρες Α, Β, Γ, Δ και Ε. Η ποσότητα που συλλέχτηκε αναπαρίσταται από τους χαρακτήρες Ι, Κ, Λ, Μ, Ν, Ξ και Ο. Έχει βρεθεί ότι η ποσότητα που αντιστοιχεί σε αυτούς είναι: Ι = 10, Κ = 50, Λ = 100, Μ = 500, Ν = 1.000, Ξ = 5.000 και Ο = 10.000.
Συνολικά τα στοιχεία των θραυσμάτων μπορούν να αναπαρασταθούν με ένα δισδιάστατο πίνακα Π[75,12]. Κάθε γραμμή του πίνακα περιέχει τα στοιχεία των αγαθών (όνομα αγαθού, καλλιεργητική περίοδος, ποσότητα). Κάθε στοιχείο του πίνακα περιέχει ένα μόνο χαρακτήρα.
Να γράψετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:
Δ1. α. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. (μονάδα 1)
β. Να εισάγει σε πίνακα χαρακτήρων Π[75,12] τα στοιχεία των αγαθών που βρέθηκαν στα θραύσματα των πινακίδων. (μονάδες 2)
Μονάδες 3
Δ2. Να ταξινομεί κατά αύξουσα σειρά τον πίνακα Π, με βάση την καλλιεργητική περίοδο, και, για την ίδια καλλιεργητική περίοδο, να ταξινομεί τα αγαθά, με βάση τον πρώτο χαρακτήρα κάθε αγαθού. (Θεωρήστε ότι ο πρώτος χαρακτήρας κάθε αγαθού είναι μοναδικός).
Μονάδες 6
Δ3. α. Να δημιουργεί έναν πίνακα ακεραίων Α[75]. Κάθε στοιχείο του πίνακα Α αντιστοιχεί σε μια γραμμή του ταξινομημένου πίνακα Π και περιέχει την αντίστοιχη ποσότητα του αγαθού που συλλέχτηκε. Η μετατροπή της ποσότητας από χαρακτήρα σε αριθμό να γίνει με βάση την αντιστοιχία που δόθηκε παραπάνω. (μονάδες 2)
β. Να βρίσκει και να εμφανίζει για κάθε αγαθό το πρώτο γράμμα του ονόματός του και την καλλιεργητική του περίοδο με τη μέγιστη ποσότητα που συλλέχτηκε. (Θεωρήστε ότι η μέγιστη ποσότητα κάθε αγαθού είναι μοναδική). (μονάδες 4)
Μονάδες 6
Δ4. Να δημιουργεί έναν πίνακα ακεραίων Σ[15]. Κάθε στοιχείο του πίνακα Σ αντιστοιχεί σε ένα αγαθό (όπως αυτό εμφανίζεται στις δεκαπέντε πρώτες σειρές του πίνακα Π) και περιέχει την συνολική ποσότητα του αγαθού που συλλέχτηκε στις πέντε καλλιεργητικές περιόδους.
Μονάδες 5
ΛΥΣΗ
ΠΡΟΓΡΑΜΜΑ Θέμα_4 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, j, k, Α[75], max_ποσότητα, Σ[15] ΧΑΡΑΚΤΗΡΕΣ: Π[75, 12], tmp, max_περίοδος ΛΟΓΙΚΕΣ: ΒΡΕΘΗΚΕ ΑΡΧΗ ! Δ.1 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 75 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12 ΔΙΑΒΑΣΕ Π[i, j] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ! Δ.2 ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 75 ΓΙΑ j ΑΠΟ 75 ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1 ΑΝ Π[j, 11] < Π[j - 1, 11] Η (Π[j, 11] = Π[j - 1, 11] ΚΑΙ Π[j, 1] < Π[j - 1, 1]) ΤΟΤΕ ΓΙΑ k ΑΠΟ 1 ΜΕΧΡΙ 12 tmp <-- Π[j - 1, k] Π[j - 1, k] <-- Π[j, k] Π[j, k] <-- tmp ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ! Δ.3.α ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 75 ΑΝ Π[j, 12] = 'Ι' ΤΟΤΕ Α[i] <-- 10 ΑΛΛΙΩΣ_ΑΝ Π[j, 12] = 'Κ' ΤΟΤΕ Α[i] <-- 50 ΑΛΛΙΩΣ_ΑΝ Π[j, 12] = 'Λ' ΤΟΤΕ Α[i] <-- 100 ΑΛΛΙΩΣ_ΑΝ Π[j, 12] = 'Μ' ΤΟΤΕ Α[i] <-- 500 ΑΛΛΙΩΣ_ΑΝ Π[j, 12] = 'Ν' ΤΟΤΕ Α[i] <-- 1000 ΑΛΛΙΩΣ_ΑΝ Π[j, 12] = 'Ξ' ΤΟΤΕ Α[i] <-- 5000 ΑΛΛΙΩΣ Α[i] <-- 10000 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ! Δ.3.β ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 15 max_ποσότητα <-- Α[i] max_περίοδος <-- Π[i, 11] ΓΙΑ j ΑΠΟ i ΜΕΧΡΙ 75 ΜΕ ΒΗΜΑ 15 ΑΝ Α[j] > max_ποσότητα ΤΟΤΕ max_ποσότητα <-- Α[j] max_περίοδος <-- Π[j, 11] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ '1ο Γράμμα προϊόντος: ', Π[i, 1] ΓΡΑΨΕ 'Καλύτερη Καλλιεργητική περίοδος: ', max_περίοδος ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ! Δ.4 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 15 Σ[i] <-- 0 ΓΙΑ j ΑΠΟ i ΜΕΧΡΙ 75 ΜΕ ΒΗΜΑ 15 Σ[i] <-- Σ[i] + Α[j] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ 'Αθροισμα περιόδων για το προϊόν, ', i, ' : ', Σ[i] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Πρόσφατα σχόλια