Επιλογή Σελίδας

Στον αρχαιολογικό χώρο της Πύλου διασώθηκαν θραύσματα κεραμικών πινακίδων στα οποία είχαν καταγραφεί σε γραμμές βασικά αγαθά με τις ποσότητες τους, τα οποία είχε συλλέξει η πόλη κατά τη διάρκεια καλλιεργητικών περιόδων. Σε κάθε θραύσμα, αναφέρονται τα πλήρη στοιχεία (όνομα αγαθού, περίοδος, ποσότητα) για ένα ή περισσότερα αγαθά. Βρέθηκαν στοιχεία για δεκαπέντε (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

ΦΥΛΛΑΔΙΟ ΘΕΜΑΤΩΝ (pdf)

ΛΥΣΗ

ΠΡΟΓΡΑΜΜΑ Θέμα_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]
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Share This