! ===============================================================================================
! ΗΜΕΡΗΣΙΟ - ΙΟΥΛΙΟΣ 2004 - ΘΕΜΑ 4
! ===============================================================================================
! Σε κάποια χώρα της Ευρωπαϊκής Ένωσης διεξάγονται εκλογές για την ανάδειξη των μελών του
! Ευρωπαϊκού Κοινοβουλίου. Θεωρήστε ότι μετέχουν 15 συνδυασμοί κομμάτων,οι οποίοι θα μοιραστούν
! 24 έδρες συμφωνά με το ποσοστό των έγκυρων ψηφοδελτίων που έλαβαν. Κόμματα που δε συγκεντρώνουν
! ποσοστό έγκυρων ψηφοδελτίων τουλάχιστον ίσο με το 3% του συνόλου των έγκυρων ψηφοδελτίων δεν
! δικαιούνται έδρα. Για κάθε κόμμα, εκτός του πρώτου κόμματος, ο αριθμός των εδρών που θα λάβει
! υπολογίζεται ως εξής:
! Το ποσοστό των έγκυρων ψηφοδελτίων πολλαπλασιάζεται επί 24 και στη συνέχεια το γινόμενο
! διαιρείται με το άθροισμα των ποσοστών όλων των κομμάτων που δικαιούνται έδρα. Το ακέραιο
! μέρος του αριθμού που προκύπτει είναι ο αριθμός των εδρών που θα λάβει το κόμμα. Το πρώτο
! κόμμα λαμβάνει τις υπόλοιπες έδρες.
! Να γράψετε αλγόριθμο ο οποίος:
! α. να διαβάζει και να αποθηκεύει σε μονοδιάστατους πίνακες τα ονόματα των κομμάτων και τα
! αντίστοιχα ποσοστά των έγκυρων ψηφοδελτίων τους.
! β. να εκτυπώνει τα ονόματα και το αντίστοιχο ποσοστό έγκυρων ψηφοδελτίων των κομμάτων που δεν
! έλαβαν έδρα.
! γ. να εκτυπώνει το όνομα του κόμματος με το μεγαλύτερο ποσοστό έγκυρων ψηφοδελτίων.
! δ. να υπολογίζει και να εκτυπώνει το άθροισμα των ποσοστών όλων των κομμάτων που δικαιούνται
! έδρα.
! ε. να εκτυπώνει τα ονόματα των κομμάτων που έλαβαν έδρα και τον αντίστοιχο αριθμό των εδρών
! τους.
!
!Παρατηρήσεις :
! α) Υποθέτουμε ότι δεν υπάρχουν δυο κόμματα που να έχουν το ίδιο ποσοστό έγκυρων ψηφοδελτίων.
! β) Μπορείτε να χρησιμοποιήσετε τη συνάρτηση Α_Μ(x) που επιστρέφει το ακέραιο μέρος του
! πραγματικού αριθμού x.
! γ) Τα ποσοστά να θεωρηθούν επί τοις εκατό (%).
!
! ===============================================================================================
ΠΡΟΓΡΑΜΜΑ ΗΜ_2004_07_4
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:i,synolo,edres,first
ΠΡΑΓΜΑΤΙΚΕΣ:max, x[15], s
ΧΑΡΑΚΤΗΡΕΣ:name[15]
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 15
ΓΡΑΨΕ 'Δώσε το όνομα του κόμματος ',i
ΔΙΑΒΑΣΕ name[i]
ΓΡΑΨΕ 'Δώσε και το ποσοστό του'
ΔΙΑΒΑΣΕ x[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Δε λαμβάνουν έδρα τα εξής κόμματα :'
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 15
ΑΝ x[i] < 3 ΤΟΤΕ
ΓΡΑΨΕ name[i],'με ποσοστό ',x[i],'%'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
max <-- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 15
ΑΝ x[i]>max ΤΟΤΕ
max <-- x[i]
first <-- i
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Τις εκλογές κερδίζει το κόμμα ',name[first],' με ποσοστό ',x[first]
s <-- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 15
ΑΝ x[i] >= 3 ΤΟΤΕ
s <-- s + x[i]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Tα κόμματα που λαμβάνουν έδρα συγκεντρώνουν συνολικό ποσοστό ',s,'%'
ΓΡΑΨΕ 'Οι έδρες κατανέμονται ως εξής :'
synolo <-- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 15
ΑΝ (x[i] >= 3) ΚΑΙ (i <> first) ΤΟΤΕ
edres <-- Α_Μ(x[i]*24/s)
synolo <-- synolo + edres
ΓΡΑΨΕ name[i],edres
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'To πρώτο κόμμα τελικά λαμβάνει ' , 24-synolo , 'έδρες.'
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ