ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ
ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
Εξαμηνιαίες | Μάθημα | Εισαγωγή στον Προγραμματισμό των Υπολογιστών |
Εξετάσεις | Διδάσκων | Ι. Κάβουρας |
Σεπτεμβρίου | Εξάμηνο | Α’ |
2000 | Ημέρα | Δευτέρα, 25/9/2000 |
Ώρα | 17.30 |
Διάρκεια εξέτασης 3 ώρες. Απαντήστε σ’ όλα τα θέματα.
ΚΑΛΗ ΣΑΣ ΕΠΙΤΥΧΙΑ
ΘΕΜΑ 1ο (35%)
Τα αποτελέσματα των εκλογών μεταξύ τριών υποψηφίων σε μια χώρα με πέντε εκλογικές περιφέρειες ήταν τα ακόλουθα:
Εκλογ. Περιφ. | Υποψήφιος Α | Υποψήφιος Β | Υποψήφιος Γ |
1 | 182 | 41 | 202 |
2 | 145 | 85 | 325 |
3 | 195 | 15 | 115 |
4 | 110 | 24 | 407 |
5 | 255 | 11 | 357 |
Να γραφεί ένα πρόγραμμα Java το οποίο:
α) να αρχικοποιεί τα στοιχεία ενός διδιάστατου πίνακα 5 γραμμών και 3 στηλών, όπως παραπάνω. Οι διαστάσεις του πίνακα πρέπει να έχουν δηλωθεί ως σταθερές (final static).
β) να υπολογίζει τον συνολικό αριθμό ψήφων που έλαβε κάθε υποψήφιος, καθώς και το ποσοστό του επί του συνόλου των ψήφων
γ) εάν κάποιος υποψήφιος έλαβε πάνω από 50% των ψήφων να εκτυπώνει το όνομά του (Γ, στην περίπτωση αυτή) ως νικητή των εκλογών
δ) εάν δεν υπάρχει υποψήφιος που να έλαβε πάνω από το 50% των ψήφων να δηλώνεται ότι θα διεξαχθεί επαναληπτικός γύρος μεταξύ των δύο πρώτων και να εκτυπώνονται τα στοιχεία τους και τα ποσοστά που αυτοί έλαβαν.
ΘΕΜΑ 2ο (20%)
Γράψτε ένα πρόγραμμα Java που διαβάζει από την προκαθορισμένη είσοδο ένα κείμενο που τελειώνει με τον χαρακτήρα “!”. Το πρόγραμμα θα πρέπει να εμφανίζει το πλήθος των μονών και των διπλών γραμμάτων που διαβάστηκαν. Θεωρείστε ότι γράμμα είναι οποιοσδήποτε κεφαλαίος ή πεζός ελληνικός χαρακτήρας. Για παράδειγμα, αν τα δεδομένα του προγράμματος είναι:
“Εισαγωγή στον Προγραμματισμό!”
τότε το πρόγραμμά σας θα πρέπει να εμφανίσει:
Μονά γράμματα: 26, Διπλά γράμματα: 1.
ΘΕΜΑ 3ο (30%)
Η κάθε εγγραφή ενός ακολουθιακού αρχείου περιέχει το ονοματεπώνυμο ενός ατόμου (συμβολοσειρά 35 χαρακτήρων), τη διεύθυνσή του (συμβολοσειρά 60 χαρακτήρων) και τα χρόνια υπηρεσίας του (ακέραιο). Γράψτε ένα πρόγραμμα που να δημιουργεί ένα νέο ακολουθιακό αρχείο, η κάθε εγγραφή του οποίου να περιέχει μόνο το ονοματεπώνυμο των ατόμων που έχουν φθάσει ή υπερβεί τα 35 χρόνια υπηρεσίας.
ΘΕΜΑ 4ο (15%)
Δίνεται το παρακάτω πρόγραμμα σε γλώσσα Java: import java.io.*; class program_2 { public static void main (String args[]) throws IOException { String s = new String(); String ts = new String(); s = RS(); boolean ok = true; while ( !(s.equals("telos")) && ok) { ts = RS(); if (s.compareTo(ts) > 0 ) ok = false; s = ts; } if (!ok) System.out.print("not "); System.out.println("sorted"); } static String RS()throws IOException { char []sarray = new char[5]; for (int i = 0;i<5;i++) sarray[i]=(char)System.in.read(); System.in.skip(2); return String.valueOf(sarray); } }