e-ΜΑΘΗΜΑΤΑ
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό περιβάλλον

Λύσεις ασκήσεων από θέματα Πανελλαδικών εξετάσεων


Αλγόριθμος Ευρωεκλογές
!Ε2004-Θ4
!Σε κάποια χώρα της Ευρωπαϊκής Ένωσης διεξάγονται εκλογές για την ανάδειξη των
! μελών του Ευρωπαϊκού Κοινοβουλίου. Θεωρήστε ότι μετέχουν 15 συνδυασμοί κομμάτων,
! οι οποίοι θα μοιραστούν 24 έδρες σύμφωνα με το ποσοστό των έγκυρων ψηφοδελτίων
! που έλαβαν. Κόμματα που δεν συγκεντρώνουν ποσοστό έγκυρων ψηφοδελτίων τουλάχιστον
! ίσο με το 3% του συνόλου των έγκυρων ψηφοδελτίων δεν δικαιούνται έδρα.
! Για κάθε κόμμα, εκτός του πρώτου κόμματος, ο αριθμός των εδρών που θα λάβει
! υπολογίζεται ως εξής:
! Το ποσοστό των έγκυρων ψηφοδελτίων πολλαπλασιάζεται επί 24 και στη συνέχεια
! το γινόμενο διαιρείται με το άθροισμα των ποσοστών όλων των κομμάτων που
! δικαιούνται έδρα. Το ακέραιο μέρος του αριθμού που προκύπτει είναι ο αριθμός
! των εδρών που θα λάβει το κόμμα.
! Το πρώτο κόμμα λαμβάνει τις υπόλοιπες έδρες.
! Να γράψετε αλγόριθμο ο οποίος:
! α. να διαβάζει και να αποθηκεύει σε μονοδιάστατους πίνακες τα ονόματα των κομμάτων
! και τα αντίστοιχα ποσοστά των έγκυρων ψηφοδελτίων τους.
! β. να εκτυπώνει τα ονόματα και το αντίστοιχο ποσοστό έγκυρων ψηφοδελτίων των
! κομμάτων που δεν έλαβαν έδρα.
! γ. να εκτυπώνει το όνομα του κόμματος με το μεγαλύτερο ποσοστό έγκυρων ψηφοδελτίων.
! δ. να υπολογίζει και να εκτυπώνει το άθροισμα των ποσοστών όλων των κομμάτων
! που δικαιούνται έδρα.
! ε. να εκτυπώνει τα ονόματα των κομμάτων που έλαβαν έδρα και τον αντίστοιχο αριθμό
! των εδρών τους.
! Παρατηρήσεις:
!α) Υποθέτουμε ότι δεν υπάρχουν δύο κόμματα που να έχουν το ίδιο ποσοστό έγκυρων ψηφοδελτίων.
!β) Μπορείτε να χρησιμοποιήσετε τη συνάρτηση Α_Μ(x) που επιστρέφει το ακέραιο μέρος του
!πραγματικού αριθμού x.
!γ) Τα ποσοστά να θεωρηθούν επί τοις εκατό (%).


ΚΟΜΜΑΤΑ <- 15

! α. διάβασμα
Για i από 1 μέχρι ΚΟΜΜΑΤΑ
  Εμφάνισε i, "ο κόμμα"
  Εμφάνισε "Δώστε όνομα : "
  Διάβασε όνομα[i] 
  Εμφάνισε "Δώστε ποσοστό (%) : "
  Διάβασε ποσοστό[i] 
Τέλος_επανάληψης


! β.
! (Κόμματα που δεν συγκεντρώνουν ποσοστό έγκυρων ψηφοδελτίων τουλάχιστον
! ίσο με το 3% του συνόλου των έγκυρων ψηφοδελτίων δεν δικαιούνται έδρα.)
Εμφάνισε "Ονόματα και ποσοστά κομμάτων που δεν έλαβαν έδρα"
Για i από 1 μέχρι ΚΟΜΜΑΤΑ
  Αν ποσοστό[i] < 3 τότε
    Εμφάνισε όνομα[i], ποσοστό[i] 
  Τέλος_αν
Τέλος_επανάληψης


! γ.
Εμφάνισε "Κόμμα με το μεγαλύτερο ποσοστό έγκυρων ψηφοδελτίων"
max <- ποσοστό[1] 
θέση_πρώτου <- 1
Για i από 2 μέχρι ΚΟΜΜΑΤΑ
  Αν ποσοστό[i] > max τότε
    max <- ποσοστό[i] 
    θέση_πρώτου <- i
  Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε όνομα[θέση_πρώτου], ποσοστό[θέση_πρώτου] 


! δ.
Εμφάνισε "Αθροισμα των ποσοστών όλων των κομμάτων που δικαιούνται έδρα"
άθροισμα <- 0
Για i από 1 μέχρι ΚΟΜΜΑΤΑ
  Αν ποσοστό[i]  3 τότε
    άθροισμα <- άθροισμα + ποσοστό[i] 
  Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε άθροισμα

! ε.
! Για κάθε κόμμα, εκτός του πρώτου κόμματος, ο αριθμός των εδρών που θα λάβει
! υπολογίζεται ως εξής:
! Το ποσοστό των έγκυρων ψηφοδελτίων πολλαπλασιάζεται επί 24 και στη συνέχεια
! το γινόμενο διαιρείται με το άθροισμα των ποσοστών όλων των κομμάτων που
! δικαιούνται έδρα. Το ακέραιο μέρος του αριθμού που προκύπτει είναι ο αριθμός
! των εδρών που θα λάβει το κόμμα.
! Το πρώτο κόμμα λαμβάνει τις υπόλοιπες έδρες.
Εμφάνισε "ονόματα των κομμάτων που έλαβαν έδρα με αντίστοιχο αριθμό"

μοιρασμένες_έδρες <- 0
Για i από 1 μέχρι ΚΟΜΜΑΤΑ
  Αν ποσοστό[i] > 3 και i  <>  θέση_πρώτου τότε
    έδρες <- Α_Μ ((24* ποσοστό[i])/ άθροισμα) 
    μοιρασμένες_έδρες <- μοιρασμένες_έδρες + έδρες
    Εμφάνισε όνομα[i], έδρες
  Τέλος_αν
Τέλος_επανάληψης

Εμφάνισε όνομα[θέση_πρώτου], 24 - μοιρασμένες_έδρες


Τέλος Ευρωεκλογές

 

Κεντρική Σελίδα Αλλα e-μαθήματα ΑΕΠΠ Αλλη άσκησηΕπιστροφή στην κορυφή της σελίδας
© 2014 - 2ο Γενικό Λύκειο Γέρακα - Βασίλειος Αναστόπουλος