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

Μια περιβαλλοντική οργάνωση έχει εκπαιδεύσει δέκα (10) εθελοντές οι οποίοι θα ενημερώσουν το κοινό σε θέματα που αφορούν την προστασία του περιβάλλοντος.
Να γράψετε πρόγραμμα σε ΓΛΩΣΣΑ, το οποίο:
Δ1.      
αΝα περιλαμβάνει κατάλληλο τμήμα δηλώσεων.  (μονάδα 1)
β. Για κάθε εθελοντή, να διαβάζει το όνομά του και τον αριθμό των ατόμων που ενημέρωσε κάθε μήνα, στη διάρκεια του προηγούμενου έτους (δεν απαιτείται έλεγχος εγκυρότητας). (μονάδες 2)
Μονάδες 3
Δ2. Για κάθε μήνα, να εμφανίζει το συνολικό αριθμό ατόμων που ενημέρωσαν οι δέκα (10) εθελοντές. Ο υπολογισμός του συνολικού αριθμού ατόμων, που ενημέρωσαν κάθε μήνα, να γίνει με κλήση κατάλληλης συνάρτησης.
Μονάδες 3
Δ3. Να εμφανίζει τα ονόματα των τριών εθελοντών που ενημέρωσαν  τα περισσότερα άτομα, κατά τη διάρκεια του προηγούμενου έτους. Να θεωρήσετε ότι κάθε εθελοντής ενημέρωσε διαφορετικό συνολικό αριθμό ατόμων κατά τη διάρκεια του έτους.
Μονάδες 9
Δ4. Να κατασκευάσετε τη συνάρτηση του ερωτήματος Δ2.
Μονάδες 5
Να  θεωρήσετε ότι κάθε άτομο ενημερώνεται μόνο από έναν εθελοντή.

ΛΥΣΗ

Αρχείο Δεδομένων (Γλωσσομάθεια)

ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Δ_16_ΗΜ_ΠΑΛ
ΜΕΤΑΒΛΗΤΕΣ
 ΑΚΕΡΑΙΕΣ: i, j, ΑΤΟΜΑ[10,12], Πλήθος, temp, Σύνολο_Έτους[10]
 ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[10], temp2
ΑΡΧΗ

! Δ1
 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
     ΓΡΑΨΕ 'ΔΩΣΤΕ ΟΝΟΜΑ ΕΘΕΛΟΝΤΗ'
     ΔΙΑΒΑΣΕ ΟΝ[i]
     ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
         ΓΡΑΨΕ 'ΔΩΣΤΕ ΑΡΙΘΜΟ ΕΝΗΜΕΡΩΣΕΩΝ', ' ΜΗΝΑ ', j
         ΔΙΑΒΑΣΕ ΑΤΟΜΑ[i,j]
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Δ2
 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
     Πλήθος <-- πλήθος_ενημερώσεων_μήνα(ΑΤΟΜΑ, j)
     ΓΡΑΨΕ 'Αριθμών ατόμων που ενημερώθηκαν τον μήνα ', j,' :', Πλήθος
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Δ3
 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10 ! Αρχικοποίηση πίνακα μετρητή
     Σύνολο_Έτους[i] <-- 0
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
     ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
         Σύνολο_Έτους[i] <-- Σύνολο_Έτους[i] + ΑΤΟΜΑ[i,j]
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Ταξινόμηση φυσσαλίδας
 ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 10
     ΓΙΑ j ΑΠΟ 10 ΜΕΧΡΙ i με βήμα -1
         ΑΝ Σύνολο_Έτους[j-1] < Σύνολο_Έτους[j] ΤΟΤΕ !Φθίνουσα ταξ. του Σύνολο_έτους
            temp <-- Σύνολο_Έτους[j]
            Σύνολο_Έτους[j] <-- Σύνολο_Έτους[j-1]
            Σύνολο_Έτους[j-1] <-- temp
            temp2 <-- ΟΝ[j] ! Παράλληλη ταξινόμηση του ΟΝ
            ΟΝ[j] <-- ΟΝ[j-1]
            ΟΝ[j-1] <-- temp2
         ΤΕΛΟΣ_ΑΝ
     ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

 ΓΡΑΨΕ 'ΟΙ 3 ΕΘΕΛΟΝΤΕΣ ΜΕ ΤΙΣ ΠΕΡΙΣΣΟΤΕΡΕΣ ΕΝΗΜΕΡΩΣΕΙΣ ΣΤΟ ΕΤΟΣ:'
 ΓΡΑΨΕ ΟΝ[1]
 ΓΡΑΨΕ ΟΝ[2]
 ΓΡΑΨΕ ΟΝ[3]

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

! Δ4
ΣΥΝΑΡΤΗΣΗ πλήθος_ενημερώσεων_μήνα(άτομα, μήνας): ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
 ΑΚΕΡΑΙΕΣ: i, μήνας, άτομα[10,12], Sum
ΑΡΧΗ
 Sum <-- 0
 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
     Sum <-- Sum + άτομα[i,μήνας]
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 πλήθος_ενημερώσεων_μήνα <-- Sum
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Share This