ΘΕΜΑΤΑ ΤΕΛΙΚΗΣ ΦΑΣΗΣ

Σχετικά έγγραφα
ΘΕΜΑΤΑ ΤΕΛΙΚΗΣ ΦΑΣΗΣ

ΘΕΜΑΤΑ ΤΕΛΙΚΗΣ ΦΑΣΗΣ

ΘΕΜΑΤΑ ΤΕΛΙΚΗΣ ΦΑΣΗΣ

ΘΕΜΑΤΑ ΤΕΛΙΚΗΣ ΦΑΣΗΣ

ΘΕΜΑΤΑ ΤΕΛΙΚΗΣ ΦΑΣΗΣ

ΕΛΛΗΝΙΚΗ ΕΤΑΙΡΕΙΑ ΕΠΙΣΤΗΜΟΝΩΝ ΚΑΙ ΕΠΑΓΓΕΛΜΑΤΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ GREEK COMPUTER SOCIETY

23 ος ΠΑΝΕΛΛΗΝΙΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΙΣΤΗΜΟΝΙΚΗ - ΟΡΓΑΝΩΤΙΚΗ ΕΠΙΤΡΟΠΗ

ΘΕΜΑΤΑ ΤΕΛΙΚΗΣ ΦΑΣΗΣ

ΘΕΜΑΤΑ ΤΕΛΙΚΗΣ ΦΑΣΗΣ

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΩΝ & Δ ΤΑΞΗΣ ΕΣΠΕΡΙΝΩΝ ΥΠΟΛΕΙΠΟΜΕΝΕΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ

Διαδικασιακός Προγραμματισμός

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στην εξοικείωση με τη διαδικασία κατασκευής ενός Λεξικού Αναλυτή κάνοντας χρήση του lex.

Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ ΕΠΑΛ (ΟΜΑΔΑ Β

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

καθώς και το παρακάτω τμήμα αλγορίθμου γραμμένο σε «ΓΛΩΣΣΑ»:

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

ΘΕΜΑ Α. 1. Στην εντολή εκχώρησης Χ ΨΕΥΔΗΣ η μεταβλητή Χ είναι τύπου χαρακτήρες.

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

ΕΡΓΑΣΙΑ 2. Κατασκευάζοντας Ημερολόγια. Ημερομηνία Ανάρτησης: 23/02/2018 Ημερομηνία Παράδοσης: 13/03/2018, 09:00

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

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

Σύνολα. 1) Με αναγραφή των στοιχείων π.χ. 2) Με περιγραφή των στοιχείων π.χ.

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΘΕΜΑ Α. Α2. Να αναφέρετε από τι εξαρτάται η επιλογή του καλύτερου αλγορίθμου ταξινόμησης. Μονάδες 4. Σελίδα 1 από 8

Η γλώσσα προγραμματισμού Strange

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ

Ανάπτυξη και Σχεδίαση Λογισμικού

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Δ ΕΣΠΕΡΙΝΩΝ

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Προγραμματισμός Η/Υ (ΤΛ2007 )

Δομημένος Προγραμματισμός

ΘΕΜΑ Α. Μονάδες 10 Α2.

Ανάπτυξη και Σχεδίαση Λογισμικού

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

ΦΡΟΝΤΙΣΤΗΡΙΟ Μ.Ε. «ΠΕΡΙ ΓΝΩΣΕΩΣ»

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

Διαδικασιακός Προγραμματισμός

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Πρόβλημα Αποθήκευση Προγραμμάτων

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

Προγραμματισμός I (Θ)

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005

Αθήνα, Α.Π.: ΠΡΟΣ: Όπως ο Πίνακας Αποδεκτών. Διεύθυνση: Κοραή 4, Αθήνα Διεύθυνση ιστοσελίδας:

ΘΕΩΡΙΑ ( ΚΑΡΤΕΣΙΑΝΕΣ ΣΥΝΤΕΤΑΓΜΕΝΕΣ )

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΕΡΓΑΣΙΑ 3. Παίζοντας Sudoku. Ημερομηνία Ανάρτησης: 16/03/2018 Ημερομηνία Παράδοσης: 03/04/2018, 09:00

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 18/12/12, 22:00

ΘΕΜΑ Α. 1. Στην εντολή εκχώρησης Χ ΨΕΥΔΗΣ η μεταβλητή Χ είναι τύπου χαρακτήρες.


Tο περιβάλλον Code::Blocks

ÁÎÉÁ ÅÊÐÁÉÄÅÕÔÉÊÏÓ ÏÌÉËÏÓ

ΠΡΟΣΟΜΟΙΩΣΗ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Γʹ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΕΠΠ ΤΡΙΤΗ 18 ΑΠΡΙΛΙΟΥ 2017 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΠΤΑ (7)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ. Πρώτη Σειρά ασκήσεων Ημερομηνία Παράδοσης: 24 Απριλίου 2018, 12 μ.μ.

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB

Α2. Να αναφέρετε ονομαστικά τις βασικές λειτουργίες που εκτελεί ένας υπολογιστής (Μονάδες 3)

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

ÔÏÕËÁ ÓÁÑÑÇ ÊÏÌÏÔÇÍÇ

Προγραμματισμός ΙI (Θ)

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

ΟΔΗΓΙΕΣ ΧΡΗΣΤΗ ΓΙΑ ΤΟ ΠΡΟΓΡΑΜΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ ΤΑΞΗΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

Δομημένος Προγραμματισμός (ΤΛ1006)

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσμία: Τετάρτη 9/11/2016, 21:00

ΑΡΧΗ 2ΗΣ ΣΕΛΙΔΑΣ Γ Α... Β

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Θέμα Α 1. 1 Τα θέματα προέρχονται από Επαναληπτικά Διαγωνίσματα από το "Στέκι των Πληροφορικών" και Π. Τσιωτάκη

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

α. Λογικό διάγραμμα είναι η μέθοδος που χρησιμοποιεί απλά σχήματα που υποστηρίζονται με απλές λέξεις για την αναπαράσταση συγκεκριμένων λειτουργιών.

Α2. Να γράψετε τους αριθμούς της Στήλης Α και δίπλα το γράμμα της Στήλης Β που αντιστοιχεί σωστά.

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Α

Μαλούτα Θεανώ Σελίδα 1

ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 25/11/12, 22:00

Λειτουργικά Συστήματα

Β.1. i. Να εξηγήσετε τι εννοούμε με τον όρο μεταφερσιμότητα των προγραμμάτων. Μονάδες 3

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

Tο περιβάλλον Code::Blocks

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΚΑΙ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ

Εγχειρίδιο Χρήσης Slide Recorder

8. Λεξιλόγιο μιας γλώσσας είναι όλες οι ακολουθίες που δημιουργούνται από τα στοιχεία του αλφαβήτου της γλώσσας, τις λέξεις.

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

«Επικοινωνίες δεδομένων»

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

Transcript:

20 ος ΠΑΝΕΛΛΗΝΙΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΜΑΤΑ ΤΕΛΙΚΗΣ ΦΑΣΗΣ ΘΕΜΑ ο : Data Blocks [20 Μονάδες] Η Ελληνική Εταιρεία Επιστημόνων & Επαγγελματιών Πληροφορικής & Επικοινωνιών (ΕΠΥ), με τη συμπλήρωση 0 χρόνων προσφοράς, εγκατέστησε έναν web server για τη δημοσιοποίηση του τεράστιου υλικού που έχει παραχθεί. Το υλικό αυτό είναι αποθηκευμένο σε μονάδες αποθήκευσης, σε διαφορετικούς servers, σε πολλά πανεπιστημιακά ιδρύματα. Ο web server έχει τη δυνατότητα να ανακαλεί με μεταβλητό αριθμό blocks, τμήμα από τις αποθηκευμένες πληροφορίες. Απαραίτητη κάθε φορά προϋπόθεση είναι: Ο συνολικός αριθμός των υφιστάμενων blocks, πρέπει να είναι ακέραιο πολλαπλάσιο του αριθμού των blocks που ανακαλούνται. Πρόβλημα: Να αναπτύξετε ένα πρόγραμμα σε μια από τις γλώσσες του ΙΟΙ το οποίο: Αφού διαβάζει το συνολικό αριθμό των υφιστάμενων blocks αποθηκευμένης πληροφορίας, θα επιστρέφει το πλήθος των δυνατών τρόπων ανάκτησής της και πόσα blocks μεταφέρονται κάθε φορά, με αύξουσα σειρά. Αρχεία Εισόδου: Τα αρχεία εισόδου με όνομα blocks.in είναι αρχεία κειμένου με ακριβώς έναν αριθμό N ( 5 N 999999999), τον αριθμό των συνολικώς υφιστάμενων blocks. Αρχεία Εξόδου: Τα αρχεία εξόδου με όνομα blocks.out είναι αρχεία κειμένου με την εξής δομή. Στην πρώτη γραμμή υπάρχει ένας ακέραιος αριθμός K που εκφράζει τον αριθμό των διαφορετικών τρόπων ανάκλησης των δεδομένων. Ακολουθούν K γραμμές σε κάθε μία από τις οποίες υπάρχει ένας αριθμός. Ο αριθμός των blocks που ανακαλούνται σε κάθε περίπτωση. Παράδειγμα Αρχείων Εισόδου Εξόδου blocks.in blocks.out 5 5 Μορφοποίηση: Στην έξοδο, όλες οι γραμμές τερματίζουν με ένα newline χαρακτήρα. Μέγιστος χρόνος εκτέλεσης: 5 sec. +0-20-00999, fax +0-20-089 E-mail: epy@epy.gr, Web: www.epy.gr από 6

ΘΕΜΑ 2 ο : Sonar [5 Μονάδες] Οι Ελληνικές Ένοπλες Δυνάμεις με στόχο την προστασία των νησιών του ανατολικού Αιγαίου, ανέπτυξαν από τη δεκαετία του 70 συστήματα επιτήρησης ακτογραμμών με χρήση sonar. Ειδικά σε περιοχές στρατηγικής σημασίας, το δίκτυο sonar αναπτύχθηκε σε καρτεσιανή μορφή για μεγαλύτερη αποτελεσματικότητα. Το Σώμα Πληροφορικής, σε συνεργασία με το τμήμα Πληροφορικής και Τηλεπικοινωνιών του Πανεπιστημίου Αθηνών, ανέλαβε να αναπτύξει κατάλληλο λογισμικό, ώστε να υπάρχει ψηφιακή απεικόνιση του κάθε επιτηρούμενου πεδίου. Στο παρακάτω σχήμα φαίνεται ένα τέτοιο παράδειγμα: 0 * 9 8 7 6 9 * 5 9 * 4 9 * 2 7 2 4 5 6 7 8 9 0 Με έντονα μαύρα γράμματα εμφανίζεται η στάθμη του σήματος που λαμβάνεται κατά τη λήψη του εκπεμφθέντος ηχοσυρμού. Είναι φανερό ότι:. Το σήμα είναι τόσο μικρότερης στάθμης όσο μακρύτερα εντοπιστεί στόχος. (Για σύστημα Ν Χ Ν sonar ο εγγύτερος στο sonar στόχος έχει σήμα στάθμης Ν και ο πλέον απομεμακρυσμένος ). 2. Όταν οι στόχοι κινούνται σε σειρά ή σε μέτωπο το αντίστοιχο sonar λαμβάνει μόνο σήμα από τον εγγύτερο στόχο. (Στο σχήμα μας, το δεύτερο οριζόντιο sonar λαμβάνει μόνο το σήμα από τον στόχο με συντεταγμένες [2, 4]). Παρατήρηση: Στόχοι που είναι καλυμμένοι και κατά μέτωπο και κατά σειρά, δηλαδή εσωτερικοί σε νηοπομπή στόχοι, ΔΕΝ μπορούν να εντοπιστούν. (Σκοτεινή περιοχή στο παρακάτω σχήμα) 8 7 6 7 * 5 7 * 4 7 * * 2 5 5 2 4 5 6 7 8 +0-20-00999, fax +0-20-089 E-mail: epy@epy.gr, Web: www.epy.gr 2 από 6

Πρόβλημα: Να αναπτύξετε ένα πρόγραμμα σε μια από τις γλώσσες του ΙΟΙ το οποίο: Αφού διαβάζει τις μη μηδενικές στάθμες σήματος που λαμβάνει κάθε sonar (πρώτα οριζόντιων και μετά κάθετων), θα επιστρέφει το πλήθος των στόχων που μπορούν να εντοπιστούν και ταξινομημένες με βάση τις τεταγμένες τους (οριζόντιος άξονας), τις θέσεις των στόχων. Στο παράδειγμά μας: [2, 4], [2, 5], [2, 6], [0, 0]. Σημειώνεται ότι στόχοι που μπορούν να εντοπιστούν και από τα οριζόντια και από τα κάθετα sonar (πχ. [2, 4] & [0, 0]) «κλειδώνονται» και καταγράφονται μόνο μια φορά. Αρχεία Εισόδου: Τα αρχεία εισόδου με όνομα sonar.in είναι αρχεία κειμένου με την εξής δομή: Στην πρώτη γραμμή έχουν έναν αριθμό Ν (0 Ν 99999) τις διαστάσεις (Ν Χ Ν) του επιτηρούμενου πεδίου. Στη δεύτερη γραμμή έχουν δύο αριθμούς Μ, Μ2 (χωριζόμενους με ένα κενό) τον αριθμό των οριζόντιων και κάθετων sonar που ανίχνευσαν στόχο (Μ, Μ2 Ν 2 ). Στις επόμενες Μ γραμμές υπάρχουν με αύξουσα σειρά οι αριθμοί και η αντίστοιχη στάθμη σήματος, των οριζόντιων sonar που εντόπισαν στόχο. Στις επόμενες Μ2 γραμμές υπάρχουν με αύξουσα σειρά οι αριθμοί και η αντίστοιχη στάθμη σήματος, των κάθετων sonar που εντόπισαν στόχο. Σε όλα τα sonar ο αριθμός τους από τη στάθμη σήματος, χωρίζονται με ένα κενό. Αρχεία Εξόδου: Τα αρχεία εξόδου με όνομα sonar.out είναι αρχεία κειμένου με την εξής δομή. Στην πρώτη γραμμή υπάρχει ένας ακέραιος αριθμός Ν που εκφράζει τον αριθμό των στόχων που εντοπίστηκαν. Ακολουθούν N γραμμές σε κάθε μία από τις οποίες υπάρχουν οι συντεταγμένες των στόχων που εντοπίστηκαν, ταξινομημένες με βάση τις τεταγμένες τους. Στο παράδειγμά μας [2, 4], [2, 5], [2, 6], [0, 0] Παράδειγμα Αρχείων Εισόδου Εξόδου 0 2 4 2 7 0 4 9 5 9 6 9 0 sonar.in 4 2 4 2 5 2 6 0 0 sonar.out Μορφοποίηση: Στην έξοδο, όλες οι γραμμές τερματίζουν με ένα newline χαρακτήρα. Μέγιστος χρόνος εκτέλεσης: 25 sec. +0-20-00999, fax +0-20-089 E-mail: epy@epy.gr, Web: www.epy.gr από 6

ΘΕΜΑ ο : Ancient Code [45 Μονάδες] Σε poster που ανάρτησαν δύο υποψήφιοι διδάκτορες αρχαιολογίας κατά τη διάρκεια του 2 ου Πανελλήνιου Συνεδρίου Πληροφορικής (ΕΠΥ, Σάμος 2008) παρουσίασαν παλίμψηστο κώδικα της Ελληνιστικής περιόδου, που περιέγραφε τη λειτουργία του Μηχανισμού των Αντικυθήρων. Οι συνάδελφοι της Επιστημονικής Επιτροπής, προκειμένου να επιβεβαιώσουν το σημαντικό αυτό εύρημα, απευθύνθηκαν σε κορυφαίους επιστήμονες των θεωρητικών επιστημών. Βούληση της Επιστημονικής Επιτροπής ήταν το κείμενο να περάσει διαδοχικά από όλους τους ειδικούς με σκοπό να υπάρξει η εγκυρότερη γνώμη. Δυστυχώς όμως οι σχέσεις μεταξύ τους, δεν ήταν οι καλλίτερες δυνατές. Το κείμενο λοιπόν έπρεπε να μεταφερθεί από ειδικό σε ειδικό χωρίς αυτό να μπορεί να γίνει με οποιονδήποτε συνδυασμό. Ο τελευταίος πχ. που θα μελετήσει τον κώδικα, θα πρέπει να διατηρεί επικοινωνία με τον πρώτο, ώστε να μπορεί να το επιστρέψει εκεί από όπου ξεκίνησε. Πρόβλημα: Να αναπτύξετε πρόγραμμα σε μια από τις γλώσσες του ΙΟΙ το οποίο: αφού διαβάζει τις συσχετίσεις μεταξύ των επιστημόνων, θα καθορίζει μια τουλάχιστον δυνατή σειρά μεταβίβασης. Αν αυτό δεν μπορεί να συμβεί θα επιστρέφει την τιμή 0. Το κείμενο πρέπει να γυρίσει στον αρχικό παραλήπτη. (Είναι φανερό ότι μπορεί να υπάρχουν περισσότερες από μία λύσεις, οποιαδήποτε σωστή είναι απολύτως αποδεκτή.). Σημείωση : Κάθε επιστήμονας έχει τουλάχιστον έναν συνάδελφο με τον οποίο έχει καλές σχέσεις. Η σχέση αυτή είναι αμφίδρομη. Σημείωση 2.: Ο κώδικας δεν μπορεί να μελετηθεί (περάσει) περισσότερες από μία φορές από τον ίδιο επιστήμονα. Αρχεία Εισόδου: Τα αρχεία εισόδου με όνομα code.in είναι αρχεία κειμένου με την εξής δομή: Στην πρώτη γραμμή υπάρχει ένας ακέραιος Ν (0 Ν 0000), ο αριθμός των συσχετίσεων μεταξύ των επιστημόνων. Οι επόμενες Ν γραμμές έχουν την παρακάτω δομή. Ο πρώτος αριθμός M ( Μ 000) κάθε γραμμής, είναι ο αύξων αριθμός ενός επιστήμονα. Ο δεύτερος αριθμός Κ ( Κ 000) είναι επίσης ο αύξων αριθμός ενός επιστήμονα, με τον οποίο διατηρεί καλές σχέσεις. Η σχέση αυτή είναι αμφίδρομη. (Οι δύο αριθμοί χωρίζονται με ένα κενό). Αρχεία Εξόδου: Τα αρχεία εξόδου με όνομα code.out είναι αρχεία κειμένου με την εξής δομή. Έχουν ακριβώς Π γραμμές Π (0 Π 000), όπου Π ο αριθμός των επιστημόνων. (Άρα ο κώδικας θα περάσει μόνο μια +0-20-00999, fax +0-20-089 E-mail: epy@epy.gr, Web: www.epy.gr 4 από 6

φορά από κάθε επιστήμονα). Στην πρώτη γραμμή είναι ο αριθμός του επιστήμονα στον οποίο θα παραδοθεί πρώτα το κείμενο. Στην τελευταία γραμμή είναι ο αριθμός του τελευταίου επιστήμονα από τον οποίο θα περάσει το κείμενο πριν επιστρέψει στον πρώτο. Παράδειγμα Αρχείων Εισόδου Εξόδου code.in 2 0 2 4 4 5 5 6 6 7 7 8 8 9 9 0 code.out 2 4 5 6 7 8 9 0 (Η έξοδος είναι ενδεικτική και ΔΕΝ είναι η μόνη σωστή) Μορφοποίηση: Στην έξοδο, όλες οι γραμμές τερματίζουν με ένα newline χαρακτήρα. Μέγιστος χρόνος εκτέλεσης: 20 sec. ΝΑ ΑΠΑΝΤΗΣΕΤΕ ΚΑΙ ΣΤΑ ΤΡΙΑ ΘΕΜΑΤΑ ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ ΤΕΣΣΕΡΙΣ ΩΡΕΣ ΚΑΛΗ ΣΑΣ ΕΠΙΤΥΧΙΑ Με τη συνεργασία: Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης, Εθνικού & Καποδιστριακού Πανεπιστήμιου Αθηνών, Εθνικού Μετσοβείου Πολυτεχνείου, Πανεπιστημίου Αιγαίου, Πανεπιστημίου Ιωαννίνων, Πανεπιστημίου Πατρών, Πανεπιστημίου Πειραιώς & Α-ΤΕΙ Αθήνας Ακολουθούν χρήσιμες οδηγίες. +0-20-00999, fax +0-20-089 E-mail: epy@epy.gr, Web: www.epy.gr 5 από 6

Διαβάστε τις ακόλουθες παρατηρήσεις προσεκτικά. Ερωτήσεις που αφορούν τις παρατηρήσεις αυτές δεν θα απαντηθούν. Η πιστή τήρηση των αναφερόμενων οδηγιών είναι απαραίτητη.. Οι αναφερόμενοι σε κάθε θέμα χρόνοι είναι ενδεικτικοί. Η επιτροπή μπορεί να τους αυξομειώσει προκειμένου να επιτύχει καλλίτερη κλιμάκωση της βαθμολογίας. 2. Έλεγχος τιμών δεν απαιτείται. Οι τιμές των αρχείων ελέγχου είναι πάντα έγκυρες.. Στην αρχή του πηγαίου κώδικά σας, θα πρέπει να χρησιμοποιήσετε τις επικεφαλίδες /* USER: username LANG: C TASK: blocks, sonar, code */ για κώδικα σε C /* USER: username LANG: C++ TASK: blocks, sonar, code */ για κώδικα σε C++ (* USER: username LANG: pascal TASK: blocks, sonar, code *) για κώδικα σε PASCAL 4. Το σύστημα αξιολόγησης τρέχει" σε Linux. Σας προτείνουμε να δοκιμάζετε τις λύσεις σας στο σύστημα. Έχετε δικαίωμα πολλαπλών υποβολών μέχρι το τέλος του διαγωνισμού. Μετά από κάθε υποβολή θα λαμβάνετε την αξιολόγηση της λύσης σας, σε τμήμα των Αρχείων Ελέγχου. 5. Οι επιλογές του μεταγλωττιστή που χρησιμοποιούνται για τη βαθμολόγηση είναι οι εξής: C: gcc -Wall -O2 -static -lm pipe C++: g++ -Wall -O2 -static -lm -pipe -include /usr/include/stdlib.h Pascal: fpc -So -O Xs 6. Το Linux ξεχωρίζει μεταξύ κεφαλαίων και πεζών γραμμάτων. Ελέγξτε ότι τα ονόματα των αρχείων εισόδου και εξόδου είναι γραμμένα με μικρά (πεζά) γράμματα. 7. Τα προγράμματά σας πρέπει να επιστρέφουν ως κωδικό εξόδου το μηδέν. Για προγραμματιστές σε C και C++ η συνάρτηση main() πρέπει πάντα να τερματίζει με τις εντολές "return(0);" ή "exit(0);". Οι προγραμματιστές σε Pascal πρέπει να χρησιμοποιούν την εντολή "halt" μόνο με κωδικό εξόδου το μηδέν (μόνο δηλαδή με την μορφή "halt;" Ή "halt(0);". 8. Το πρόγραμμα αξιολόγησης θα εξετάσει την τιμή που επιστρέφει το πρόγραμμα σας. Εάν η τιμή αυτή δεν είναι μηδέν, τότε το πρόγραμμα δεν θα βαθμολογηθεί για το συγκεκριμένο test. 9. Κανένας άλλος χαρακτήρας εκτός του χαρακτήρα νέας γραμμής (newline) (χαρακτήρας 0A στο ASCII εκφρασμένο στο δεκαεξαδικό σύστημα αρίθμησης) (\n για προγραμματιστές C ή C++, $0A για προγραμματιστές Pascal) δεν θα υπάρχει μετά τον τελευταίο αριθμό κάθε γραμμής των αρχείων εισόδου και εξόδου. Δηλαδή, κάθε γραμμή των αρχείων εισόδου και εξόδου, συμπεριλαμβανομένης και της τελευταίας, τερματίζεται με τον χαρακτήρα νέας γραμμής όπως ορίστηκε άνωθεν. 0. Κάθε απόπειρα κακόβουλης εισόδου ή ακόμα και εξερεύνησης του συστήματος, εκτός της παρεχόμενης διεπαφής, θα εντοπίζεται και θα επιβάλλονται κυρώσεις. +0-20-00999, fax +0-20-089 E-mail: epy@epy.gr, Web: www.epy.gr 6 από 6