ΖΥ240: Γομέρ Γεδομένυν Δαπινό Δξάμηνο Ακαδημαφκό Έηορ Γιδάζκοςζα: Παναγιώηα Φαηούπος Ππογπαμμαηιζηική Δπγαζία - 1 ο Μέπορ

Σχετικά έγγραφα
ΖΥ240: Γνκέο Γεδνκέλωλ Φεηκεξηλό Δμάκελν Αθαδεκαϊθό Έηνο Γηδάζθνπζα: Παλαγηώηα Φαηνύξνπ Πξνγξακκαηηζηηθή Δξγαζία - 1 ν Μέξνο

ΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 2 ο Μέρος

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο κόζηος ανά μονάδα παραγωγής. Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο ζηαθερό κόζηος ανά μονάδα παραγωγής

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

Ανάπηςξη Δθαπμογών ζε Ππογπαμμαηιζηικό Πεπιβάλλον

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

Τν Πξόγξακκα ζα αλαθνηλσζεί, ακέζσο κεηά ηηο γηνξηέο ηνπ Πάζρα.

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

x x x x tan(2 x) x 2 2x x 1

Ενδεικτικά Θέματα Στατιστικής ΙΙ

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

Έκδοζη /10/2014. Νέα λειηοσργικόηηηα - Βεληιώζεις

1 Είζοδορ ζηο Σύζηημα ΣΔΕΔ ή BPMS

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί.

ΔΦΑΡΜΟΜΔΝΑ ΜΑΘΗΜΑΣΙΚΑ ΣΗ ΧΗΜΔΙΑ Ι ΘΔΜΑΣΑ Α επηέκβξηνο Να ππνινγηζηνύλ νη κεξηθέο παξάγσγνη πξώηεο ηάμεο ηεο ζπλάξηεζεο f(x,y) =

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην ζαο

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

Άσκηση 1 - Μοπυοποίηση Κειμένου

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

ΔΠΙΣΡΟΠΗ ΓΙΑΓΩΝΙΜΩΝ 74 ος ΠΑΝΔΛΛΗΝΙΟ ΜΑΘΗΣΙΚΟ ΓΙΑΓΩΝΙΜΟ ΣΑ ΜΑΘΗΜΑΣΙΚΑ Ο ΘΑΛΗ 19 Οκηωβρίοσ Δνδεικηικές λύζεις

ΑΠΟΦΑΖ Ο ΤΠΟΤΡΓΟ ΔΩΣΔΡΗΘΩΛ, ΑΠΟΘΔΛΣΡΩΖ ΘΑΗ ΖΙΔΘΣΡΟΛΗΘΖ ΓΗΑΘΤΒΔΡΛΖΖ

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots)

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γεσηέρα 10 Ηοσνίοσ 2019 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

Μηα ζπλάξηεζε κε πεδίν νξηζκνύ ην Α, ζα ιέκε όηη παξνπζηάδεη ηοπικό μέγιζηο ζην, αλ ππάξρεη δ>0, ηέηνην ώζηε:

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

Αναμόπθωζη Ππογπάμμαηορ Πποπηςσιακών Σποςδών

ΘΔΜΑ 1 ο Μονάδες 5,10,10

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

Αιγόξηζκνη Δνκή επηινγήο. Απιή Επηινγή ύλζεηε Επηινγή. Εηζαγσγή ζηηο Αξρέο ηεο Επηζηήκεο ησλ Η/Τ. introcsprinciples.wordpress.

ISO/IEC 27001:2005 Certificate No: IS Aegate Ltd 2011 All rights reserved

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ ΣΔΣΑΡΣΖ 25 ΜΑΨΟΤ 2016 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΑΡΥΔ ΟΗΚΟΝΟΜΗΚΖ ΘΔΧΡΗΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ - ΔΠΗΛΟΓΖ

Ππογπαμμαηιζμόρ Ι (ΗΥ120)

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν

Δπαστηπιότητα 1 - ανάπτςξη, μεταγλώττιση, αποσυαλμάτωση και. εκτέλεση ππογπάμματορ

Α Καθοπιζμόρ απμοδιοηήηυν - 1 επικεθαλήρ 1. Γ Αςηοτία ζηη ζήπαγγα Β 1 επικεθαλήρ εξ. ζηελεσορ. Ε Ποζοηική ανάλςζη Γ 3 εξ.

6 η Εργαζηηριακή Άζκηζη Επαλήθεσζη Λειηοσργίας Βαζικών Φλιπ-Φλοπ

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

Γηζδηάζηαηνη Πίλαθεο

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα.

Κινητός και Διάχυτος Υπολογισμός (Mobile & Pervasive Computing)

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

ΗΥ-150 Πξνγξακκατησκόο Ταμηλόκεσε θαη Αλαδήτεσε

ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ: έζησ

ΓΔΧΜΔΣΡΙΑ ΓΙΑ ΟΛΤΜΠΙΑΓΔ

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KARNAUGH

Σρήκα Α. Γξάθνπκε ηα ζηνηρεία ηνπ Πξνκεζεπηή θαη παηάκε Δηζαγσγή. Σρήκα Β1

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano) ΘΔΜΑ Α

Επωηήζειρ Σωζηού Λάθοςρ ηων πανελλαδικών εξεηάζεων Σςναπηήζειρ

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

ηδάζθσλ: εµήηξεο Εετλαιηπνύξ

Database Design. Καλνληθνπνηήζε θαη πξώηε θαλνληθή κνξθή. 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ. G. Mitsou

Intel Accelerate Your Code

ΜΑΘΗΜΑΤΙΚΑ ΘΔΤΙΚΗΣ ΚΑΙ ΤΔΦΝΟΛΟΓΙΚΗΣ ΚΑΤΔΥΘΥΝΣΗΣ Β ΛΥΚΔΙΟΥ ΤΔΣΤ(1) ΣΤΑ ΓΙΑΝΥΣΜΑΤΑ

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ

Ηλεκηπονικά Απσεία και Διεπαθέρ

Μνλνδηάζηαηνη Πίλαθεο Λπκέλεο Αζθήζεηο. Άζθεζε 1. Πνηά ζα είλαη ηα πεξηερόκελα ηνπ πίλαθα Α κεηά ηελ εθηέιεζε ηνπ παξαθάησ αιγνξίζκνπ;

Διάρηζηα Δπηθαιύπηνληα Γέλδξα

Αντισταθμιστική ανάλυση

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

Δνκέο Επαλάιεςεο - Άιπηεο αζθήζεηο. 1. Να ζρεκαηίζεηε ηνλ πίλαθα ηηκώλ γηα ηα παξαθάησ ηκήκαηα αιγνξίζκσλ. Τί ζα εθηππσζεί ηειηθά;

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

Ασκήσεις Οπτική και Κύματα

Constructors and Destructors in C++

Κβαντικοί Υπολογισμοί. Πέκπηε Γηάιεμε

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη

Transcript:

ΖΥ240: Γομέρ Γεδομένυν Δαπινό Δξάμηνο Ακαδημαφκό Έηορ 2014-15 Γιδάζκοςζα: Παναγιώηα Φαηούπος Ππογπαμμαηιζηική Δπγαζία - 1 ο Μέπορ Ζμεπομηνία Παπάδοζηρ:Κπξηαθή, 5 Απξηιίνπ 2015, ώξα 23:59. Τπόπορ Παπάδοζηρ: Υξεζηκνπνηώληαο ην πξόγξακκα turnin. Πιεξνθνξίεο γηα ην πώο ιεηηνπξγεί ην turnin παξέρνληαη ζηελ ηζηνζειίδα ηνπ καζήκαηνο. Γενική Πεπιγπαθή ηελ εξγαζία απηή θαιείζηε λα πινπνηήζεηε έλα πξόγξακκα πνπ πξνζνκνηώλεη ην εθινγηθό ζύζηεκα ηεο Διιάδαο. Σν ελληνικό εκλογικό ζύζηημα είλαη ην ζύζηεκα κε ην νπνίν θαηαλέκνληαη νη βνπιεπηηθέο έδξεο ζηα θόκκαηα κε βάζε ηηο ςήθνπο πνπ έιαβαλ ζηηο βνπιεπηηθέο εθινγέο. Ρπζκίδεηαη από εηδηθό λόκν, πνπ νλνκάδεηαη εθινγηθόο λόκνο. Σημείυζη:Πξνθεηκέλνπ λα πξαγκαησζνύλ νη εθπαηδεπηηθνί ζηόρνη ηεο εξγαζίαο, δελ αθνινπζείηαη πηζηά ν εθινγηθόο λόκνο θαη έρνπλ γίλεη ζεκαληηθέο απινπνηήζεηο ζρεηηθά κε ηνλ ηξόπν κε ηνλ νπνίν θαηαλέκνληαη νη έδξεο. πλεπώο, όζα αλαγξάθνληαη ζηελ παξνύζα εθθώλεζε δελ αληηζηνηρνύλ κε αθξίβεηα ζηελ ηζρύνπζα εθινγηθή λνκνζεζία. 1

Αναλςηική Πεπιγπαθή Εηηούμενηρ Υλοποίηζηρ Γηα ηελ πινπνίεζε ηεο πξνζνκνίσζεο ηνπ ειιεληθνύ εθινγηθνύ ζπζηήκαηνο, ζα πξέπεη λα ρξεζηκνπνηήζεηε έλαλ πίλαθα ζηαζεξνύ κεγέζνπο 56 θέζευν, ν νπνίνο νλνκάδεηαη πίνακαρ εκλογικών πεπιθεπειών (Districts). Κάζε ζηνηρείν ηνπ πίνακα πεπιθεπειών είλαη κηα εγγξαθή ηύπνπ district κε ηα αθόινπζα πεδία: did: Αλαγλσξηζηηθό (ηύπνπ int) πνπ ραξαθηεξίδεη κνλαδηθά ηελ εθινγηθή πεξηθέξεηα. seats:ο αξηζκόο (ηύπνπ int) ησλ βνπιεπηηθώλ εδξώλ πνπ αληηζηνηρνύλ ζηελ πεξηθέξεηα. stations: Γείθηεο (ηύπνπ station) ζην πξώην ζηνηρείν κηαο μη ηαξινομημένηρ,απλά ζςνδεδεμένηρ ιίζηαο. Η ιίζηα απηή νλνκάδεηαη λίζηα εκλογικών ημημάηυνηηρ εκλογικήρ πεπιθέπειαρ με αναγνυπιζηικό did. Κάζε ζηνηρείν ηεο ιίζηαο απηήο αληηζηνηρεί ζε έλα εθινγηθό ηκήκα πνπ αλήθεη ζηελ εθινγηθή πεξηθέξεηα κε αλαγλσξηζηηθό did θαη απνηειεί κηα εγγξαθή ηύπνπ station κε ηα αθόινπζα πεδία: o sid: Αλαγλσξηζηηθό (ηύπνπ int) πνπ ραξαθηεξίδεη κνλαδηθά ην εθινγηθό ηκήκα. o registered: Ο αξηζκόο (ηύπνπ int) ησλ ςεθνθόξσλ πνπ είλαη εγγεγξακκέλνη ζην εθινγηθό ηκήκα. o voters: Γείθηεο (ηύπνπ voter) ζην πξώην ζηνηρείν κηαο μη ηαξινομημένηρ, απλά ζςνδεδεμένηρ ιίζηαο κε κόμβο θποςπό. Η ιίζηα απηή νλνκάδεηαη λίζηα τηθοθόπυνηος εκλογικού ημήμαηορ με αναγνυπιζηικό sid. Σν θάζε ζηνηρείν ηεο αληηζηνηρεί ζε έλαλ ςεθνθόξν πνπ είλαη εγγεγξακκέλνο ζην εθινγηθό ηκήκα θαη απνηειεί κηα εγγξαθή ηύπνπ voter κε ηα αθόινπζα πεδία: vid: Αλαγλσξηζηηθό (ηύπνπ int) πνπ ραξαθηεξίδεη κνλαδηθά ηνλ ςεθνθόξν. voted: Μεηαβιεηή (ηύπνπ int) πνπ δειώλεη αλ ν ςεθνθόξνο έρεη εμαζθήζεη ην δηθαίσκα ςήθνπ. next: Γείθηεο (ηύπνπ voter) ζηνλ επόκελν θόκβν ηεο λίζηαρ τηθοθόπυν. o vsentinel: Γείθηεο (ηύπνπ voter) ζηνλ θόκβν θξνπξό ηεο λίζηαρ τηθοθόπυνηνπ εθινγηθνύ ηκήκαηνο κε αλαγλσξηζηηθό sid. o next: Γείθηεο (ηύπνπ station) ζηνλ επόκελν θόκβν ηεο λίζηαρ εκλογικών ημημάηυν ηεο πεξηθέξεηαο κε αλαγλσξηζηηθό did. blanks:ο αξηζκόο (ηύπνπ int) ησλ άκςπυν ςήθσλ πνπ κεηξήζεθαλ θαηά ηελ θαηακέηξεζε ςήθσλ ζε όια ηα εθινγηθά ηκήκαηα ηεο εθινγηθήο πεξηθέξεηαο. voids: Ο αξηζκόο (ηύπνπ int) ησλ λεςκών ςήθσλ πνπ κεηξήζεθαλ θαηά ηελ θαηακέηξεζε ςήθσλ ζε όια ηα εθινγηθά ηκήκαηα ηεο εθινγηθήο πεξηθέξεηαο. candidates: Γείθηεο (ηύπνπ candidate) ζην πξώην ζηνηρείν κηαο ηαξινομημένηρ,διπλάζςνδεδεμένηρ ιίζηαο. Η ιίζηα απηή νλνκάδεηαη λίζηα ςποτηθίυν ηηρ εκλογικήρ πεπιθέπειαρ με αναγνυπιζηικό did. Η ιίζηα είλαη ηαξινομημένη ζε θθίνοςζα διάηαξη υρ ππορ ηον απιθμό ηυν τήθυνπνπ έιαβε ν θάζε ππνςήθηνο. Σν θάζε ζηνηρείν ηεο ιίζηαο αληηζηνηρεί ζε έλαλ ππνςήθην ηεο εθινγηθήο πεξηθέξεηαο θαη απνηειεί κηα εγγξαθή ηύπνπ candidate κε ηα αθόινπζα πεδία: o cid: Αλαγλσξηζηηθό (ηύπνπ int) πνπ ραξαθηεξίδεη ηνλ ππνςήθην. o pid: Αλαγλσξηζηηθό (ηύπνπ int) πνπ αληηζηνηρεί ζην θόκκα ην νπνίν ν ππνςήθηνο εθπξνζσπεί. o votes: Ο αξηζκόο (ηύπνπ int) ησλ ςήθσλ πνπ ζπγθέληξσζε ν ππνςήθηνο απ όια ηα εθινγηθά ηκήκαηα ηεο εθινγηθήο πεξηθέξεηαο κε αλαγλσξηζηηθό did. o elected: Μεηαβιεηή (ηύπνπ int) πνπ δειώλεη αλ ν ππνςήθηνο εθιέγεηαη. Η κεηαβιεηή απηή απνζεθεύεη κόλν ηηο ηηκέο 0 (FALSE) θαη 1 (TRUE). o prev: Γείθηεο (ηύπνπ candidate) ζηνλ πξνεγνύκελν θόκβν ηεο λίζηαρ ςποτηθίυν. o next: Γείθηεο (ηύπνπ candidate) ζηνλ επόκελν θόκβν ηεο λίζηαρ ςποτηθίυν. 2

Γηα ηηο αλάγθεο ηεο εξγαζίαο απηήο, ζεσξνύκε νηη ππάξρνπλ πέληε δηαθνξεηηθά θόκκαηαπνπ ζπκκεηέρνπλ ζηηο εθινγέο. Θα πξέπεη λα ρξεζηκνπνηήζεηε έλαλ πίλαθα ζηαζεξνύ κεγέζνπο 5 θέζευν, ν νπνίνο νλνκάδεηαη πίνακαρ κομμάηυν (Parties). Σνθάζε ζηνηρείνηνπ πίνακα κομμάηυνείλαη κηα εγγξαθή ηύπνπ party κε ηα αθόινπζα πεδία: pid: Αλαγλσξηζηηθό (ηύπνπ int) πνπ ραξαθηεξίδεη ην θόκκα. nelected: Ο αξηζκόο (ηύπνπ int) ησλ βνπιεπηώλ πνπ εθιέγεη ην θόκκα κε αλαγλσξηζηηθό j. elected: Γείθηεο (ηύπνπ candidate) ζην πξώην ζηνηρείν κηαο ηαξινομημένηρ,απλά ζςνδεδεμένηρ ιίζηαο πνπ πεξηέρεη εγγξαθέο ηύπνπ candidate. Η ιίζηα απηή νλνκάδεηαη λίζηα εκλεγμένυν μελών ηνπ θόκκαηνο θαη είλαη ηαξινομημένη ζε θθίνοςζα δίαηαξη υρ ππορ ηο πεδίοvotes κάθε ζηοισείος ηηρ. Σν θάζε ζηνηρείν ηεο ιίζηαο αληηζηνηρεί ζε έλαλ ππνςήθην πνπ εθπξνζσπεί ην θόκκα θαη έρεη εθιεγεί ζε θάπνηα εθινγηθή πεξηθέξεηα. Σα πεδία ηεο εγγξαθήο candidate πεξηγξάθνληαη παξαπάλσ. Δθόζνλ ε ιίζηα βνπιεπηώλ ηνπ θόκκαηνο δεηείηαη λα είλαη απιά ζπλδεδεκέλε, ε ηηκή ηνπ πεδίνπ prev θάζε ηέηνηαο εγγξαθήο ζα πξέπεη λα έρεη ηελ ηηκή null. Σέινο δεκηνπξγείηαη ε δνκή ηνπ κοινοβοςλίος (Parliament). Οπζηαζηηθά απνηειείηαη απν έλαλ δείθηε (ηύπνπ candidate) ζην πξώην ζηνηρείν κηαο ηαξινομημένηρ,απλά ζςνδεδεμένηρ ιίζηαο. Η ιίζηα απηή νλνκάδεηαη λίζηα βοςλεςηών θαη είλαη ηαμηλνκεκέλε ζε θζίλνπζα δηάηαμε σο πξνο ηνλ αξηζκό ησλ ςήθσλ πνπ έιαβε ν θάζε βνπιεπηήο (δειαδή σο πξνο ην πεδίν votes θάζε ζηνηρείνπ ηεο). Κάζε ζηνηρείν ηνπ πίλαθα Districtsαξρηθνπνηείηαη έηζη ώζηε ην πεδίν did ηνπ λα είλαη ίζν κε ηελ ηηκή -1. Κάζε θνξά πνπ εηζάγεηε έλα λέν ζηνηρείν ζηνλ πίλαθα, απηό πξέπεη λα ηνπνζεηείηαη ζην πξώην ζηνηρείν ηνπ πίλαθα ηνπ νπνίνπ ην πεδίν did είλαη ίζν κε ηελ ηηκή -1. Σα έγθπξα ζηνηρεία ηνπ πίλαθα, δειαδή εθείλα κε αλαγλσξηζηηθό δηαθνξεηηθό από -1 ζα πξέπεη λα βξίζθνληαη ζε ζπλερόκελεο ζέζεηο ηνπ πίλαθα, μεηλώληαο από ηε ζέζε 0. Παξαθάησ παξνπζηάδνληαη νη δνκέο δεδνκέλσλ ζε ζρεκαηηθή κνξθή. 3

4

5

Τπόπορ Λειηοςπγίαρ Ππογπάμμαηορ Σν πξόγξακκα πνπ ζα δεκηνπξγεζεί ζα πξέπεη λα εθηειείηαη θαιώληαο ηελ αθόινπζε εληνιή: <executable><input-file> όπνπ <executable> είλαη ην όλνκα ηνπ εθηειέζηκνπ αξρείνπ ηνπ πξνγξάκκαηνο (π.ρ. a.out) θαη <input-file> είλαη ην όλνκα ελόο αξρείνπ εηζόδνπ (π.ρ. testfile) ην νπνίν πεξηέρεη γεγνλόηα ησλ αθόινπζσλ κνξθώλ: A Γεγνλόο ηύπνπ announce elections ην νπνίν ππνδειώλεη ηελ αλαγγειία ησλ εθινγώλ. Καηά ην γεγνλόο απηό αξρηθνπνηείηαη ε δνκή ηνπ πίνακα εκλογικών πεπιθεπειών (Districts). πγθεθξηκέλα ην θάζε πεδίν ηνπ θάζε ζηνηρείνπ ηνπ πίλαθα αξρηθνπνηείηαη κε ηελ ηηκή NULL αλ είλαη δείθηεο θαη ηελ ηηκή -1 αλ είλαη ηύπνπ int. Με ηνλ ίδην ηξόπν αξρηθνπνηνύληαη ν πίνακαρ κομμάηυν (Parties) θαη ε δνκή ηνπ κοινοβοςλίος (Parliament). Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: A D <did><seats> Γεγνλόο ηύπνπ create district ην νπνίν ζεκαηνδνηεί ηε δεκηνπξγία κηαο λέαο εθινγηθήο πεξηθέξεηαο (district) κε αλαγλσξηζηηθό <did> θαη αξηζκό εθιεγόκελσλ εδξώλ <seats>. Η λέα εθινγηθή πεξηθέξεηα εηζάγεηαη ζηνλ πίνακα εκλογικών πεπιθεπειών. Η λέα εθινγηθή πεξηθέξεηα πεξηέρεη θελή λίζηα εκλογικών ημημάηυν (stations) θαη θελή λίζηα ςποτηθίυν (candidates). Φπηζιμοποιήζηε καηάλληλερ μεηαβληηέρ ώζηε η σπονική πολςπλοκόηηηα ηηρ ειζαγυγήρ να είναι Ο(1). Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: D <did><seats> Districts = <did 1 >, <did 2 >,,<did n > όπνπ n είλαη ν αξηζκόο ησλ εθινγηθώλ πεξηθεξεηώλ πνπ έρνπλ δεκηνπξγεζεί κέρη ηώξα θαη γηα θάζε i {1,,n}, <did i > είλαη ην αλαγλσξηζηηθό ηεο i-νζηήο εθινγηθήο πεξηθέξεηαο. S <sid><did> Γεγνλόο ηύπνπ create station ην νπνίν ζεκαηνδνηεί ηε δεκηνπξγία ελόο λένπ εθινγηθνύ ηκήκαηνο κε αλαγλσξηζηηθό <sid> ζηελ εθινγηθή πεξηθέξεηα κε αλαγλσξηζηηθό <did>. ηελ εγγξαθή ηύπνπ stationπνπ αληηζηνηρεί ζην λέν εθινγηθό ηκήκα, ν αξηζκόο ησλ εγγεγξακκέλσλ ςεθνθόξσλ (πεδίνregistered), αξρηθνπνηείηαη κε ηελ ηηκή 0, ελώ ελίζηα τηθοθόπυν (voters) είλαη θελή (δειαδή ε ιίζηα ςεθνθόξσλ πεξηέρεη κόλν ηνλ θόκβν θξνπξό). Σν γεγνλόο απηό εηζάγεη ην λέν εθινγηθό ηκήκα ζηε λίζηα εκλογικών ημημάηυν (stations) ηεο εθινγηθήο πεξηθέξεηαο. Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: 6

S <sid><did> Stations = <sid 1 >,<sid 2 >,,<sid n > όπνπ n είλαη ν αξηζκόο ησλ εθινγηθώλ ηκεκάησλ πνπ ππάξρνπλ ζηελ εθινγηθή πεξηθέξεηα κε αλαγλσξηζηηθό <did>θαη γηα θάζε i {1,,n}, <sid i > είλαη ην αλαγλσξηζηηθό ηνπ i-νζηνύ εθινγηθνύ ηκήκαηνο ζηελ εθινγηθή πεξηθέξεηα. P <pid> Γεγνλόο ηύπνπ create party ην νπνίν ζεκαηνδνηεί ηελ ίδξπζε ελόο λένπ θόκκαηνο (party) κε αλαγλσξηζηηθό <pid>. Σν λέν θόκκα εηζάγεηαη ζηνλ πίνακα κομμάηυν. Σν λέν θόκκα πεξηέρεη θελή λίζηα εκλεγμένυν μελών (elected). Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: P <pid> Parties = <pid 1 >, <pid 2 >,,<pid n > όπνπ n είλαη ην ν αξηζκόο ησλ ηδξπζέλησλ θνκκάησλ θαη γηα θάζε i {1,, n}, <pid i > είλαη ην αλαγλσξηζηηθό ηνπ i-νζηνύ ηδξπζέληνο θόκκαηνο. C <cid><did><pid> Γεγνλόο ηύπνπ register candidate ην νπνίν ζεκαηνδνηεί ηελ εγγξαθή ελόο λένπ ππνςεθίνπ (candidate) κε αλαγλσξηζηηθό <cid> ηνπ θόκκαηνο κε αλαγλσξηζηηθό <pid> ζηελ εθινγηθή πεξηθέξεηα κε αλαγλσξηζηηθό <did>. Σν γεγνλόο απηό πξνζζέηεη ην λέν ππνςήθην ζηε λίστα υποψηυίων ηεο ζπγθεθξηκέλεο εθινγηθήο πεξηθέξεηαο θαη ην πεδίν votes αξρηθνπνηείηαη κε ηελ ηηκή 0. Η πιεξνθνξία όηη ν ππνςήθηνο αλήθεη ζην ζπγθεθξηκέλν θόκκα,δελ απνζεθεύεηαη ζηελ παξνύζα θάζε ζηνλ πίλαθα Parties (απνζεθεύεηαη απιά ζην πεδίν pid ηεο δνκήο ηνπ ππνςεθίνπ ζηε ιίζηα ππνςεθίσλ ηεο πεξηθέξεηαο κε αλαγλσξηζηηθό<did>). Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: C<cid><did><pid> Candidates = <cid 1 >,<cid 2 >,,<cid n > όπνπ n είλαη ν αξηζκόο ησλ ππνςεθίσλ ηεο εθινγηθήο πεξηθέξεηαο θαη γηα θάζε i {1,,n}, <cid i >ην αλαγλσξηζηηθό ηνπ i-νζηνύ ππνςεθίνπ ζηε ιίζηα ησλ ππνςεθίσλ ηεο εθινγηθήο πεξηθέξεηαο. R <vid><did><sid> Γεγνλόο ηύπνπ register voter ην νπνίν ζεκαηνδνηεί ηελ εγγξαθή ελόο λένπ ςεθνθόξνπ (voter) κε αλαγλσξηζηηθό <vid> ζην εθινγηθό ηκήκα κε αλαγλσξηζηηθό <sid> ηεο εθινγηθήο πεξηθέξεηαο κε αλαγλσξηζηηθό <did>. Σν γεγνλόο απηό πξνζζέηεη ην λέν ςεθνθόξν ζηε λίζηα τηθοθόπυν ηνπ εθινγηθνύ ηκήκαηνο. ε απηό ην ζεκείν απμάλεηαη ν αξηζκόο εγγεγξακκέλσλ ςεθνθόξσλ ηνπ 7

εθινγηθνύ ηκήκαηνο θαηά έλα. Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: R <vid><did><sid> Voters = <vid 1 >, <vid 2 >,, <vid n > όπνπ n είλαη ν αξηζκόο ησλ ςεθνθόξσλ ηνπ εθινγηθνύ ηκήκαηνο κε αλαγλσξηζηηθό <sid>θαη γηα θάζε i {1,, n}, <vid i >είλαη ην αλαγλσξηζηηθό ηνπ i-νζηνύ ςεθνθόξνπ ζηε ιίζηα ησλ ςεθνθόξσλ ηνπ εθινγηθνύ ηκήκαηνο κε αλαγλσξηζηηθό <sid>. U <vid> Γεγνλόο ηύπνπ unregister voter ην νπνίν ζεκαηνδνηεί ηε δηαγξαθή ηνπ ςεθνθόξνπ (voter) κε αλαγλσξηζηηθό <vid>. Σν γεγνλόο απηό εληνπίδεη ηνλ ςεθνξόξν ςάρλνληαο όια ηα εθινγηθά ηκήκαηα όισλ ησλ εθινγηθώλ πεξηθεξεηώλ ηεο επηθξάηεηαο θαη ηνλ αθαηξεί από ηε λίζηα τηθοθόπυν ηνπ εθινγηθνύ ηνπ ηκήκαηνο. ε απηό ην ζεκείν κεηώλεηαη ν αξηζκόο εγγεγξακκέλσλ ςεθνθόξσλ ηνπ ζπγθεθξηκέλνπ εθινγηθνύ ηκήκαηνο θαηά έλα. Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: U <vid> <did><sid> Voters = <vid 1 >, <vid 2 >,, <vid n > όπνπ<sid> είλαη ην αλαγλσξηζηηθό ηνπ εθινγηθνύ ηκήκαηνο ζην νπνίν αλήθεη ν ςεθνθόξνο, <did> είλαη ην αλαγλσξηζηηθό ηεο εθινγηθήο πεξηθέξεηαο ζηελ νπνία αλήθεη ην εθινγηθό ηκήκα κε αλαγλσξηζηηθό <sid>, n είλαη ν αξηζκόο ησλ ςεθνθόξσλ ηνπ εθινγηθνύ ηκήκαηνο κε αλαγλσξηζηηθό <sid> θαη γηα θάζε i {1,, n}, <vid i >είλαη ην αλαγλσξηζηηθό ηνπ i-νζηνύ ςεθνθόξνπ ζηε ιίζηα ησλ ςεθνθόξσλ ηνπ ζπγθεθξηκέλνπ εθινγηθνύ ηκήκαηνο. Δ Γεγνλόο ηύπνπ delete empty stations ην νπνίν ζεκαηνδνηεί ηελ θαηάξγεζε όισλ ησλ εθινγηθώλ ηκεκάησλ ζηα νπνία δελ ππάξρνπλ εγγεγξακκέλνη ςεθνθόξνη. Σα εθινγηθά ηκήκαηα πνπ θαηαξγνύληαη αθαηξνύληαη από ηε ιίζηα εθινγηθώλ ηκεκάησλ ηεο εθινγηθήο πεξηθέξεηαο ζηελ νπνία αλήθνπλ. Το γεγονόρ αςηό ππέπει να εκηελείηαι ζε σπόνο O(n), όπος n είναι οζςνολικόρ απιθμόρ εκλογικών ημημάηυν ζε όλερ ηιρ εκλογικέρ πεπιθέπειερ (δηλαδή ζε ολόκληπη ηην επικπάηεια). Καηά ηελ εθηέιεζε ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: Ε <sid 1 ><did 1 > <sid 2 ><did 2 > <sid n ><did n > 8

όπνπ n είλαη ν αξηζκόο ησλ εθινγηθώλ ηκεκάησλ πνπ θαηαξγήζεθαλ θαη γηα θάζε i [1.. n], <sid i > είλαη ην αλαγλσξηζηηθό ηνπ i-νζηνύ εθινγηθνύ ηκήκαηνο πνπ θαηαξγήζεθε θαη <did i > είλαη ε εθινγηθή πεξηθέξεηα ζηελ νπνία αλήθε ην εθινγηθό ηκήκα κε αλαγλσξηζηηθό<sid i >. V <vid><sid><cid> Γεγνλόο ηύπνπ vote ην νπνίν ζεκαηνδνηεί ηε δηαδηθαζία ςήθνπ. Ο ςεθνθόξνο κε αλαγλσξηζηηθό <vid> πνπ αλήθεη ζην εθινγηθό ηκήκα κε αλαγλσξηζηηθό <sid> ςεθίδεη ηνλ ππνςήθην κε αλαγλσξηζηηθό <cid> (ή ιεπθό, ή άθπξν). Σν γεγνλόο απηό εληνπίδεη πξώηα ην εθινγηθό ηκήκα ςάρλνληαο όιεο ηηο εθινγηθέο πεξηθέξεηεο. ηε ζπλέρεηα εληνπίδεη ηνλ ςεθνθόξν ζηε λίζηα τηθοθόπυν ηνπ εθινγηθνύ ηνπ ηκήκαηνο θαη ζεκεηώλεη όηη ζπκκεηείρε ζηηο εθινγέο (voted). ε απηό ην ζεκείν πξνζκεηξάηαη θαη ε ςήθνο. Αλ ην <cid> είλαη ίζν κε ην δεζκεπκέλν αλαγλσξηζηηθό 0,ηόηε απμάλεηαη ν αξηζκόο ησλ ιεπθώλ θαηά έλα. Οκνίσο, αλ ην <cid>είλαη ίζν κε ην δεζκεπκέλν αλαγλσξηζηηθό 1, ηόηε απμάλεηαη ν αξηζκόο ησλ άθπξσλ θαηά έλα. ε θάζε άιιε πεξίπησζε εληνπίδεηαη ν ππνςήθηνο κε αλαγλσξηζηηθό <cid> ζηε ιίζηα ππνςεθίσλ ηεο ζπγθεθξηκέλεο εθινγηθήο πεξηθέξεηαο θαη απμάλεηαη ν αξηζκόο ησλ ςήθσλ ηνπ. Δπίζεο, αλ ν ππνςήθηνο μεπεξλά ηώξα ζε αξηζκό ςήθσλ πνπ έρεη ιάβεη ηνλ πξνεγνύκελό ηνπ ζηε ιίζηα πξαγκαηνπνηνύληαη νη θαηάιιειεο ελέξγεηεο γηα λα δηαηεξεζεί ε ιίζηα ππνςεθίσλ ηαμηλνκεκέλε ζε θζίλνπζα δηάηαμε. Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: V <vid><sid><cid> District = <did> Candidate votes = (<cid 1 >,<votes 1 >), (<cid 2 >,<votes 2 >),, (<cid n >,<votes n >) Blanks = <blanks> Voids = <voids> όπνπ <did>είλαη ην αλαγλσξηζηηθό ηεο εθινγηθήο πεξηθέξεηαο ζηελ νπνία αλήθεη ην εθινγηθό ηκήκα κε αλαγλσξηζηηθό <sid>, n είλαη ν αξηζκόο ησλ ππνςεθίσλ ηεο ζπγθεθξηκέλεο εθινγηθήο πεξηθέξεηαο θαη γηα θάζε i {1,, n}, <cid i >θαη<votes i >είλαηην αλαγλσξηζηηθό θαη ν αξηζκόο ςήθσλ ηνπ i-νζηνύ ππνςεθίνπ ζηε ιίζηα ησλ ππνςεθίσλ ηεο εθινγηθήο πεξηθέξεηαο, αληίζηνηρα. Δπίζεο, <blanks> είλαη ν αξηζκόο ησλ ιεπθώλ θαη <voids>ν αξηζκόο ησλ άθπξσλ ςήθσλ ζηε ζπγθεθξηκέλε εθινγηθή πεξηθέξεηα. M <did> Γεγνλόο ηύπνπ count votes ην νπνίν ζεκαηνδνηεί ηελ θακέηξεζε ςήθσλ ζηελ εθινγηθή πεξηθέξεηα κε αλαγλσξηζηηθό <did>. Σν γεγνλόο απηό ηξέρεη ηνλ αθόινπζν αιγόξηζκν γηα ηε ζπγθεθξηκέλε εθινγηθή πεξηθέξεηα: 1. Γηαζρίδεηαη ε ιίζηα ππνςεθίσλ θαη γηα θάζε θόκκα, πξνζκεηξνύληαη νη ςήθνη πνπ έιαβε ην θόκκα ζπλνιηθά ζηελ πεξηθέξεηα απηή θαη ην απνηέιεζκα απνζεθεύεηαη ζην θαηάιιειν ζηνηρείν ελόο βνεζεηηθνύ πίλαθα. 9

2. Τπνινγίδεηαη ην εκλογικό μέτρο ην νπνίν νξίδεηαη σο ν ιόγνο ηνπ ζπλόινπ ησλ έγθπξσλ ςήθσλ ζηελ εθινγηθή πεξηθέξεηα (ρσξίο ιεπθά θαη άθπξα) πξνο ηνλ αξηζκό ησλ εδξώλ (seats) πνπ αλαινγνύλ ζηελ πεξηθέξεηα απηή. 3. Τπνινγίδεηαη ην πόζεο έδξεο βγάδεη ην θάζε θόκκα ζηελ πεξηθέξεηα δηαηξώληαο ην ζύλνιν έγθπξσλ ςήθσλ πνπ έιαβε ην θόκκα κε ην εθινγηθό κέηξν, κε ζηξνγγπινπνίεζε πξνο ηα θάησ. Σν λνύκεξν απηό απνζεθεύεηαη επίζεο ζηνλ βνεζεηηθό πίλαθα. 4. Γηα θάζε θόκκα θαη γηα θάζε έδξα πνπ δηθαηνύηαη ην θόκκα εληνπίδεηαην πξώηνο κε εθιεγκέλνο ππνςήθηνο ηνπ θόκκαηνο απηνύ ζηε λίζηα ςποτηθίυν ηηρ εκλογικήρ πεπιθέπειαρ θαη εθιέγεηαη, δειαδή ηίζεηαη ην πεδίν elected ηνπ ππνςεθίνπ ζε TRUE, θαη γίλνληαη νη θαηάιιειεο εηζαγσγέο ζηε λίζηα εκλεγμένυν μελών ηνπ θόκκαηνο απηνύ ζηνλ πίνακα κομμάηυν. Πξνζνρή: ε λίζηα εκλεγμένυν μελών ηνπ θόκκαηνο είλαη ηαμηλνκεκέλε σο πξνο ηνλ αξηζκό ςήθσλ. Δπίζεο, ελεκεξώλεηαη ην πεδίν nelected ην νπνίν δειώλεη ηνλ αξηζκό ησλ εθιεγκέλσλ κειώλ ηνπ θόκκαηνο. Για ηην εκηέλεζη αςηού ηος γεγονόηορ, ο αλγόπιθμορ δεν επιηπέπεηαι να διαζσίζει ηη λίζηα ςποτηθίυν ηηρ πεπιθέπειαρ, πεπιζζόηεπερ από δύο θοπέρ, μια για ηην καηαμέηπηζη ηυν τήθυν κάθε κόμμαηορ και μια για ηην εκλογή ηυν καηάλληλυν μελών ηος κόμμαηορ. Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: M <did> Seats = <cid 1 ><pid 1 ><votes 1 > <cid 2 ><pid 2 ><votes 2 > <cid n ><pid n ><votes n > όπνπ n είλαη ν αξηζκόο ησλ εδξώλ ζηελ εθινγηθή πεξηθέξεηα θαη γηα θάζε i {1,, n}, <cid i >,<pid i >,<votes i >είλαη ην αλαγλσξηζηηθό, ην θόκκα, θαη ν αξηζκόο ςήθσλ ηνπ i-νζηνύ ππνςεθίνπ πνπ εθιέγεηαη ζηελ εθινγηθή πεξηθέξεηα, αληίζηνηρα. G Γεγνλόο ηύπνπ form government ην νπνίν ζεκαηνδνηεί ηελ απόδνζε ησλ ινηπώλ αδηάζεησλ εδξώλ ησλ εθινγηθώλ πεξηθεξεηώλ. Βξίζθνπκε ην πξώην θόκκα, ην νπνίν ράξηλ απινπνίεζεο ηεο εξγαζίαο, είλαη ην θόκκα πνπ έρεη ζπγθεληξώζεη ηηο πεξηζζόηεξεο έδξεο ζε νιόθιεξε ηελ επηθξάηεηα. Γηαλύνπκε ηνλ πίνακα εκλογικών πεπιθεπειών θαη ζε θάζε πεξηθέξεηα, όζεο έδξεο πεξηζζεύνπλ πξνζκεηξνύληαη ζην ζπγθεθξηκέλν θόκκα. Έζησ όηη απηέο είλαη x γηα ην θόκκα y. Σόηε, νη x κε εθιεγκέλνη ππνςήθηνη ηνπ θόκκαηνο y ζηε ζπγθεθξηκέλε πεξηθέξεηα, νη νπνίνη έιαβαλ ην κεγαιύηεξν αξηζκό ςήθσλ, εθιέγνληαη, δειαδή ηίζεηαη ην elected πεδίν ηεο εγγξαθήο πνπ ηνπο αληηζηνηρεί ζε TRUE θαη ελεκεξώλεηαη 10

θαηάιιεια ε λίζηα εκλεγμένυν μελών ηνπ θόκκαηνο y ζηνλ πίνακα κομμάηυν. Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο, ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: G Seats = <did 1 ><cid 1 ><votes 1 > <did 2 ><cid 2 ><votes 2 > <did n ><cid n ><votes n > όπνπ n είλαη ν ζπλνιηθόοαξηζκόο αδηάζεησλ εδξώλ ζε όιεο ηηο εθινγηθέο πεξηθέξεηεο θαη γηα θάζε i {1,, n}, <did i >,<cid i >,<votes i >είλαη ην αλαγλσξηζηηθό ηεο εθινγηθήο πεξηθέξεηαο, ην αλαγλσξηζηηθό ηνπ i-νζηνύ ππνςεθίνπ πνπ εθιέγεηαη ζηε ζπγθεθξηκέλε εθινγηθή πεξηθέξεηα θαη ν αξηζκόο ςήθσλ πνπ έιαβε αληίζηνηρα. N Γεγνλόο ηύπνπ form parliament ην νπνίν ζεκαηνδνηεί ηελ εθινγή ησλ κειώλ ηεο Βνπιήο. Σν γεγνλόο απηό ζπλελώλεη ηε λίζηα εκλεγμένυν μελών ηνπ πίλαθα θνκκάησλ (Parties) ζηε λίζηα βοςλεςηών (members), ε νπνία είλαη ηαμηλνκεκέλε σο πξνο ηνλ αξηζκό ησλ ςήθσλ πνπ έιαβε ν θάζε βνπιεπηήο. Το γεγονόρ αςηό ππέπει να εκηελείηαι ζε σπόνο Ο(n), όπος n είναι ο ζςνολικό απιθμόρ ηυν βοςλεςηών. Μεηά ην πέξαο ηεο εθηέιεζεο ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: N όπνπ n είλαη ν αξηζκόο ησλ εθιεγκέλσλ βνπιεπηώλ θαη γηα θάζε i {1,, n}, <cid i >,<pid i >,<votes i >είλαη ην αλαγλσξηζηηθό, ην θόκκα, θαη ν αξηζκόο ςήθσλ ηνπ i-νζηνύ βνπιεπηή αληίζηνηρα. I <did> Members = <cid 1 ><pid 1 ><votes 1 > <cid 2 ><pid 2 ><votes 2 > <cid n ><pid n ><votes n > Γεγνλόο ηύπνπ print district ην νπνίν ζεκαηνδνηεί ηελ εθηύπσζε ζηνηρείσλ από ηελ εθινγηθή πεξηθέξεηα κε αλαγλσξηζηηθό <did>. Σν γεγνλόο απαηηεί ηελ αλαδήηεζε ηεο εθινγηθήο πεξηθέξεηαο ζηνλ πίλαθα εθινγηθώλ πεξηθεξεηώλ. Καηά ηελ εθηέιεζε ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: 11

I <did> Seats = <seats> Blanks = <blanks> Voids = <voids> Candidates = <cid 1 ><pid 1 ><votes 1 > <cid 2 ><pid 2 ><votes 2 > <cid n ><pid n ><votes n > Stations = <sid 1 >,<sid 2 >,,<sid m > όπνπ n είλαη ν αξηζκόο ησλ ππνςεθίσλ ηεο εθινγηθήο πεξηθέξεηαο θαη γηα θάζε i {1,, n},, <cid i >,<pid i >,<votes i >είλαη ην αλαγλσξηζηηθό, ην θόκκα, θαη ν αξηζκόο ςήθσλ ηνπ i-νζηνύ ππνςεθίνπ αληίζηνηρα,. Δπηπξόζζεηα, m είλαη ν αξηζκόο ησλ εθινγηθώλ ηκεκάησλ πνπ ππάξρνπλ ζηελ εθινγηθή πεξηθέξεηα θαη γηα θάζε j {1,, m}, <sid j > είλαη ην αλαγλσξηζηηθό ηνπ i-νζηνύ εθινγηθνύ ηκήκαηνο ζηελ εθινγηθή πεξηθέξεηα. Δπίζεο, <seats> είλαη ν αξηζκόο ησλ εδξώλ πνπ εθιέγεη απηή ε εθινγηθή πεξηθέξεηα, <blanks> είλαη ν αξηζκόο ησλ ιεπθώλ θαη <voids>είλαη ν αξηζκόο ησλ άθπξσλ ςήθσλ ζηελ εθινγηθή πεξηθέξεηα. J <sid><did> Γεγνλόο ηύπνπ print station ην νπνίν ζεκαηνδνηεί ηελ εθηύπσζε ζηνηρείσλ από ην εθινγηθό ηκήκα κε αλαγλσξηζηηθό <sid>ην νπνίν βξίζθεηαη ζηελ εθινγηθή πεξηθέξεηα κε αλαγλσξηζηηθό <did>. Καηά ηελ εθηέιεζε ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: J <sid> Registered = <registered> Voters = <vid 1 ><voted 1 > <vid 2 ><voted 2 > <vid n ><voted n > όπνπ n είλαη ν αξηζκόο ησλ εγγεγξακκέλσλ ςεθνθόξσλ ζην εθινγηθό ηκήκακε αλαγλσξηζηηθό <sid>θαη γηα θάζε i {1,, n}, <vid i >,<voted i >είλαη ην αλαγλσξηζηηθό ηνπ i-νζηνύ ςεθνθόξνπ θαη ην αλ ν ςεθνθόξνο άζθεζε ην εθινγηθό ηνπ δηθαίσκα αληίζηνηρα. Δπίζεο, <registered> είλαη ν αξηζκόο ησλ εγγεγξακκέλσλ ςεθνθόξσλ ζην εθινγηθό ηκήκα κε αλαγλσξηζηηθό <sid>. 12

K <pid> Γεγνλόο ηύπνπ print party ην νπνίν ζεκαηνδνηεί ηελ εθηύπσζε ζηνηρείσλ από ην θόκκα κε αλαγλσξηζηηθό <pid>. Καηά ηελ εθηέιεζε ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: K <pid> Elected = <cid 1 ><votes 1 > <cid 2 ><votes 2 > <cid n ><votes n > όπνπ n είλαη ν αξηζκόο ησλ εθιεγκέλσλ κειώλ ηνπ θόκκαηνο θαη γηα θάζε i {1,, n}, <cid i >,<votes i >ην αλαγλσξηζηηθό ηνπ i-νζηνύ εθιεγκέλνπ κέινπο θαη ν αξηζκόο ησλ ςήθσλ πνπ έιαβε, αληίζηνηρα. L Γεγνλόο ηύπνπ print parliament ην νπνίν ζεκαηνδνηεί ηελ εθηύπσζε ησλ εθιεγκέλσλ βνπιεπηώλ επηθξάηεηαο. Καηά ηελ εθηέιεζε ελόο ηέηνηνπ γεγνλόηνο ην πξόγξακκα ζα πξέπεη λα ηππώλεη ηελ αθόινπζε πιεξνθνξία: L Members = <cid 1 ><pid 1 ><votes 1 > <cid 2 ><pid 2 ><votes 2 > <cid n ><pid n ><votes n > όπνπ n είλαη ν αξηζκόο ησλ εθιεγκέλσλ βνπιεπηώλ θαη γηα θάζε i {1,, n}, <cid i >,<pid i >,<votes i > είλαη ην αλαγλσξηζηηθό, ην θόκκα, θαη ν αξηζκόο ησλ ςήθσλ πνπ έιαβε ν i-νζηόο βνπιεπηήο, αληίζηνηρα. Βαθμολογία A Announce elections 1 D Create district 2 S Create station 5 13

P Create party 2 C Create candidate 5 R Register voter 5 U Unregister voter 5 E Delete empty stations 10 V Vote 5 M Count votes 15 G Form government 15 N Form parliament 15 I Print district 1 J Print station 1 K Print party 1 L Print parliament 1 Γελ θάλεη compile 5 Γελ ηξέρεη θαη δελ ηξέρνπλ ηα testfiles 6 14

Γομέρ Γεδομένυν ηε ζπλέρεηα παξνπζηάδνληαη νη δνκέο ζε C πνπ πξέπεη λα ρξεζηκνπνηεζνύλ γηα ηελ πινπνίεζε ηεο παξνύζαο εξγαζίαο. struct candidate { int cid; /* 0 and 1 are reserved for blanks and voids */ int pid; int votes; int elected; struct candidate *next; struct candidate *prev; }; struct party { int pid; int nelected; struct candidate *elected; /* Singly-linked, sorted by votes */ }; struct parliament { struct candidate *members; /* Singly-linked, sorted by votes */ }; struct voter { int vid; int voted; struct voter *next; }; struct station { int sid; int registered; /* Increment on new voter */ struct voter *voters; /* Singly-linked, unsorted, sentinel */ struct voter *vsentinel; struct station *next; }; struct district { int did; int seats; int blanks; int voids; struct station *stations; /* Singly-linked, unsorted */ struct candidate *candidates; /* Doubly-linked, sorted by votes */ }; struct district Districts[56]; struct party Parties[5]; struct parliament Parliament; 15