Μια εταιρεία ασχολείται με εγκαταστάσεις φωτοβολταϊκών συστημάτων, με τα οποία οι πελάτες της έχουν τη δυνατότητα αφενός να παράγουν ηλεκτρική ενέργεια για να καλύπτουν τις ανάγκες της οικίας τους, αφετέρου να πωλούν την πλεονάζουσα ενέργεια προς 0,55€/kWh, εξασφαλίζοντας επιπλέον έσοδα. Η εταιρεία αποφάσισε να ερευνήσει τις εγκαταστάσεις που πραγματοποίησε την προηγούμενη χρονιά σε δέκα (10) πελάτες που βρίσκονται ο καθένας σε διαφορετική πόλη της Ελλάδας.

Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:

Δ1. α. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. (μονάδα 1)

β. Να διαβάζει για κάθε πελάτη το όνομά του και το όνομα της πόλης στην οποία διαμένει και να τα αποθηκεύει στον δισδιάστατο πίνακα ΟΝ[10,2]. (μονάδα 1)

γ. Να διαβάζει το ποσό της ηλεκτρικής ενέργειας σε kWh που παρήγαγαν τα φωτοβολταϊκά συστήματα κάθε πελάτη, καθώς και το ποσό της ηλεκτρικής ενέργειας που κατανάλωσε κάθε πελάτης για κάθε μήνα του έτους, και να τα αποθηκεύει στους πίνακες Π[10,12] για την παραγωγή και Κ[10,12] για την κατανάλωση αντίστοιχα (δεν απαιτείται έλεγχος εγκυρότητας των δεδομένων). (μονάδες 2)

Μονάδες 4

Δ2. Να υπολογίζει την ετήσια παραγωγή και κατανάλωση ανά πελάτη καθώς και τα ετήσια έσοδά του σε ευρώ (€). Θεωρήστε ότι για κάθε πελάτη η ετήσια παραγόμενη ηλεκτρική ενέργεια είναι μεγαλύτερη ή ίση της ενέργειας που έχει καταναλώσει.

Μονάδες 4

Δ3.    Να εμφανίζει το όνομα της πόλης στην οποία σημειώθηκε η μεγαλύτερη παραγωγή ηλεκτρικού ρεύματος.

Μονάδες 3

Δ4.    Να καλεί κατάλληλο υποπρόγραμμα με τη βοήθεια του οποίου θα εμφανίζονται τα ετήσια έσοδα κάθε πελάτη κατά φθίνουσα σειρά.     Να κατασκευάσετε το υποπρόγραμμα που χρειάζεται για το σκοπό αυτό.

Μονάδες 5

Δ5.    Να εμφανίζει τον αριθμό του μήνα με τη μικρότερη παραγωγή ηλεκτρικής ενέργειας. Θεωρήστε ότι υπάρχει μόνο ένας τέτοιος μήνας.

Μονάδες 4

Τα θέματα σε pdf, 2012, Μαΐου-Ιουνίου, Ημερήσια

ΛΥΣΗ

ΘΕΜΑ_Δ_2012_ΗΜΕΡ [demo_δεδομένα]

ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Δ_2012_ΗΜΕΡ
! Δ1α
ΜΕΤΑΒΛΗΤΕΣ
 ΠΡΑΓΜΑΤΙΚΕΣ: Π[10,12], Κ[10,12] , ΕΣΟΔΑ[10], ΣΠ[10], ΣΚ[10], ΜΚ[12], Μέγιστο, Ελάχιστο
 ΑΚΕΡΑΙΕΣ: i, j, θέση_ελ
 ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[10,2]

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

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

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

 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
     ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
         ΣΠ[i] <-- ΣΠ[i] + Π[i, j]
         ΣΚ[i] <-- ΣΚ[i] + Κ[i, j]
     ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
     ΕΣΟΔΑ[i] <-- ( ΣΠ[i] - ΣΚ[i] ) * 0.55
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Δ3 Έυρεση μέγιστης παραγωγής
 Μέγιστο <-- ΣΠ[1]
 ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 10
     ΑΝ ΣΠ[i] > Μέγιστο ΤΟΤΕ
        Μέγιστο <-- ΣΠ[i]
     ΤΕΛΟΣ_ΑΝ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

 ΓΡΑΨΕ 'ΠΟΛΗ ΜΕ ΜΕΓΙΣΤΗ ΠΑΡΑΓΩΓΗ: '
 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
     ΑΝ ΣΠ[i]= Μέγιστο ΤΟΤΕ
        ΓΡΑΨΕ ΟΝ[i, 2]
     ΤΕΛΟΣ_ΑΝ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Δ4
 ΚΑΛΕΣΕ ταξ_πινακα_εσοδων(ΕΣΟΔΑ,ΟΝ)
 ΓΡΑΨΕ 'ΕΣΟΔΑ ΠΕΛΑΤΩΝ (ΦΘΙΝ):'
 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
     ΓΡΑΨΕ 'ΠΕΛ.', ΟΝ[i,1], ΕΣΟΔΑ[i]
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Δ5
 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
     ΜΚ[j] <-- 0
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
     ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
         ΜΚ[j] <-- ΜΚ[j] + Π[i, j]
     ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

 Ελάχιστο <-- ΜΚ[1]
 θέση_ελ <-- 1
 ΓΙΑ j ΑΠΟ 2 ΜΕΧΡΙ 12
     ΑΝ ΜΚ[i] > Μέγιστο ΤΟΤΕ
        Ελάχιστο <-- ΜΚ[i]
        θέση_ελ <-- i
     ΤΕΛΟΣ_ΑΝ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

 ΓΡΑΨΕ 'ΜΗΝΑΣ ΜΕ ΤΗ ΜΙΚΡΟΤΕΡΗ ΠΑΡΑΓΩΓΗ: ', Ελάχιστο
 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
     ΑΝ ΜΚ[j] = Ελάχιστο ΤΟΤΕ
        ΓΡΑΨΕ Θέση_ελ
     ΤΕΛΟΣ_ΑΝ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

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

ΔΙΑΔΙΚΑΣΙΑ ταξ_πινακα_εσοδων(πιν,ονομ)
ΜΕΤΑΒΛΗΤΕΣ
 ΑΚΕΡΑΙΕΣ: i, j
 ΠΡΑΓΜΑΤΙΚΕΣ: πιν[10], temp
 ΧΑΡΑΚΤΗΡΕΣ: ονομ[10,2], temp2
ΑΡΧΗ
 ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 10
     ΓΙΑ j ΑΠΟ 10 ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
         ΑΝ πιν[j]>πιν[j-1] ΤΟΤΕ
            temp <-- πιν[j]
            πιν[j] <-- πιν[j-1]
            πιν[j-1] <-- temp
          ! Παράλληλα ταξινομούνται και τα ονόματα των πελατών
            temp2 <-- ονομ[j,1]
            ονομ[j,1] <-- ονομ[j-1,1]
            ονομ[j-1,1] <-- temp2
         ΤΕΛΟΣ_ΑΝ
     ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ