ΚΕΠΛΗΝΕΤ Ηλείας

Πανελλήνιο Σχολικό Δίκτυο

Το Στέκι των Πληροφορικών

SaferInternet.gr

SafeLine.gr

 

Εφαρμογή Χαρτογράφησης Μονάδων Εκπαίδευσης Ν. Ηλείας

Ενημερωτικό Δελτίο «ΤΠΕ στην Εκπαίδευση» - ΚΕ.ΠΛΗ.ΝΕ.Τ. Ηλείας

25ος Πανελλήνιος Διαγωνισμός Πληροφορικής

2ος Πανελλήνιος Διαγωνισμός Εκπαιδευτικής Ρομποτικής WRO (World Robot Olympiad)

Ημέρα Ασφαλούς Διαδικτύου 2013

Ανακύκλωση Ηλεκτρικών και Ηλεκτρονικών Συσκευών

 

Ιστοσελίδες μονάδων

Αναφορά προβλημάτων

Διαδικτυακά εργαλεία τεχνικού ελέγχου

ΠΔΠ: Οδηγίες και παρατηρήσεις

Διαβάστε προσεκτικά τις παρακάτω παρατηρήσεις:

  1. Οι αναφερόμενοι σε κάθε θέμα χρόνοι είναι ενδεικτικοί. Η επιτροπή μπορεί να τους αυξομειώσει προκειμένου να επιτύχει καλύτερη κλιμάκωση της βαθμολογίας.
  2. Έλεγχος τιμών, δεν απαιτείται. Οι τιμές που χρησιμοποιούν τα αρχεία ελέγχου είναι πάντα έγκυρες.
  3. την αρχή του πηγαίου κώδικά σας, θα πρέπει να χρησιμοποιήσετε τις επικεφαλίδες, ανάλογα με τη γλώσσα προγραμματισμού και το πρόβλημα:

    /*
    USER:username
    LANG: C
    TASK: hydrologis,
    */

    /*
    USER: username
    LANG: C++
    TASK: aegean,
    */

    (*
    USER: username
    LANG: pascal
    TASK: cpu,
    *)

  4. Το σύστημα αξιολόγησης "τρέχει" σε Linux. Σας προτείνουμε να δοκιμάζετε τις λύσεις σας στο σύστημα. Έχετε δικαίωμα πολλαπλών υποβολών μέχρι το τέλος του διαγωνισμού. Μετά από κάθε υποβολή θα λαμβάνετε την αξιολόγηση της λύσης σας, σε τμήμα των Αρχείων Ελέγχου.
  5. Οι επιλογές του μεταγλωττιστή που χρησιμοποιούνται για τη βαθμολόγηση είναι οι εξής:
    C: gcc -std=c99 -O2 -DCONTEST -s -static -lm
    C++: g++ -O2 -DCONTEST -s -static -lm
    Pascal: gpc -O2 -DCONTEST -s
  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) δεν θα υπάρχει μετά τον τελευταίο αριθμό κάθε γραμμής των αρχείων εισόδου και εξόδου. Δηλαδή, κάθε γραμμή των αρχείων εισόδου και εξόδου, συμπεριλαμβανομένης και της τελευταίας, τερματίζεται με τον χαρακτήρα νέας γραμμής όπως ορίστηκε παραπάνω.
  10. Κάθε απόπειρα κακόβουλης εισόδου ή ακόμα και εξερεύνησης του συστήματος, εκτός της παρεχόμενης διεπαφής, θα εντοπίζεται και θα επιβάλλονται κυρώσεις.

 

Σημείωση 1: Οι μαθητές θα πρέπει να γνωρίζουν ότι τα αρχεία input & output αποτελούνται μόνο από χαρακτήρες με ASCII κωδικοποίηση. Σύμφωνα με αυτήν: space_character: 32, Α: 128, Β: 129, …, Ω: 151. Καμία άλλη κωδικοποίηση όπως UTF 7, UTF 8 κλπ δεν μπορεί να χρησιμοποιηθεί. Τα σημεία στίξης (, ’ . ) αλλά και κάθε άλλος χαρακτήρας (πχ EOL κ.λπ.) αγνοούνται.

Σημείωση 2: Όταν δεν δίνεται ο αριθμός των γραμμών του αρχείου θα πρέπει να γίνει έλεγχος τερματισμού. Παρακάτω φαίνεται πώς μπορεί να διαβαστεί το αρχείο (μέχρι το τέλος του) στις διάφορες γλώσσες.

Pascal
while not eof(fin) do
begin
  read(fin,c);
  ...
end;
C / C++ (βιβλιοθήκη stdio)
while(fscanf(fin,"%c",&c)==1) {
  ...
}
C++ (βιβλιοθήκη fstream)
while(fin>>c) {
  ...
}

Στη C++ καλό θα είναι να προτιμηθεί η βιβλιοθήκη stdio αντί για την fstream καθώς είναι πιο γρήγορη.