ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / ΘΕΡΙΝΑ ΣΕΙΡΑ: 1 η ΗΜΕΡΟΜΗΝΙΑ: 08 / 02 / 2015 ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: Ι. ΜΙΧΑΛΕΑΚΟΣ- Α.ΚΑΤΡΑΚΗ - Π.ΣΙΟΤΡΟΠΟΣ ΘΕΜΑ Α Α1. Να γράψετε στο γραπτό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη Σωστό, αν είναι σωστή ή τη λέξη Λάθος, αν είναι λανθασμένη. 1. Η ολίσθηση αριστερά ισοδυναμεί με πολλαπλασιασμό επί δύο. 2. Ο διαχωρισμός αποτελεί αντίστροφη πράξη της εισαγωγής. 3. Ένα τμήμα αλγορίθμου που εκτελείται επαναληπτικά καλείται βρόχος. 4. Η στοίβα χρησιμοποιεί δύο δείκτες. 5. Προγράμματα + Δομές Δεδομένων = Αλγόριθμοι. Α2. 1. Δώστε τον ορισμό της δομής δεδομένων. 2. Να αναφέρετε ονομαστικά τις σκοπιές από τις οποίες η Πληροφορική μελετά τα δεδομένα. Α3. Δίνεται ο μονοδιάστατος πίνακας με όνομα Π και 5 ακεραίων στοιχείων : Σελίδα 1 από 5 Δείκτης 1 2 3 4 5 Στοιχείο 5 6 7 9 12 (Μονάδες 6) και το παρακάτω ημιτελές (περιέχει κενά) τμήμα αλγορίθμου γραμμένο σε «ΓΛΩΣΣΑ»: ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ ΓΙΑ Υ ΑΠΟ.. ΜΕΧΡΙ. ΜΕ_ΒΗΜΑ.. ΑΝ Π[ ] Π[ ] ΤΟΤΕ ΠΡΟΣΩΡΙΝΗ Π[Υ-1] Π[ ] Π[ ] Π[ ] ΠΡΟΣΩΡΙΝΗ ΤΕΛΟΣ_ΑΝ
Να ξαναγράψετε στο γραπτό σας το παραπάνω ημιτελές τμήμα με συμπληρωμένα τα κενά διαστήματα ώστε μετά την εκτέλεση του ο πίνακα Π να έχει τη μορφή Δείκτης 1 2 3 4 5 Στοιχείο 12 9 5 6 7 Α4. Δίνεται μια ουρά 6 θέσεων η οποία υλοποιείται με την βοήθεια ενός μονοδιάστατου πίνακα με όνομα ΟΝ. Στην ουρά έχουν τοποθετηθεί ήδη τα ονόματα «ΜΙΧΑΛΗΣ», ΘΟΔΩΡΗΣ», «ΦΩΤΗΣ», «ΓΙΑΝΝΗΣ» στην 1 η, 2 η, 3 η, και 4 η θέση αντίστοιχα. 1. Ποιες είναι οι τρέχουσες τιμές των δεικτών της ουράς; 2. Να σχεδιάσετε στο γραπτό σας την ουρά που προκύπτει μετά από την εκτέλεση των εξής λειτουργιών: 1. Εισαγωγή τιμής «ΓΙΩΤΑ» 2. Εισαγωγή της τιμής «ΡΑΝΙΑ» 3. Εξαγωγή (Μονάδες 3) 3. Ποιες είναι οι τιμές των δεικτών της ουράς μετά από τις παραπάνω λειτουργίες; (Μονάδες 7) Α5. Να γράψετε στο γραπτό σας καθένα από τους αριθμούς της Στήλης Α και δίπλα του ένα γράμμα της Στήλης Β, ώστε να προκύπτει η σωστή αντιστοίχηση. Στήλη Α Στήλη Β 1. Συγχώνευση α. Στοίβα 2. Στατική δομή δεδομένων β. Δεν έχει σταθερό μέγεθος. 3. FIFO γ. Πίνακας 4. Δυναμική δομή δεδομένων δ. Τερματισμός μιας επαναληπτικής διαδικασίας. 5. Τιμή «φρουρός» ε. Η είσοδος σε κάθε βρόχο γίνεται πάντα από την αρχή του. 6. LIFO στ. Λειτουργία δομής δεδομένων 7. Εμφωλευμένοι βρόχοι ζ. Ουρά (Μονάδες 7) Σελίδα 2 από 5
ΘΕΜΑ Β B1. Δίνεται το παρακάτω πρόγραμμα γραμμένο σε «ΓΛΩΣΣΑ»: Σελίδα 3 από 5 ΠΡΟΓΡΑΜΜΑ Β1_Ερώτημα ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Ι, Ν ΠΡΑΓΜΑΤΙΚΕΣ: Χ, Υ, Ζ ΑΡΧΗ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ Ν ΜΕΧΡΙΣ_ΟΤΟΥ ( Ν>=2) ΚΑΙ (Ν<=100) Υ 0 ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν ΔΙΑΒΑΣΕ Χ Υ Υ + Χ Ζ Υ / Ν ΓΡΑΨΕ Ζ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ 1. Ποιος είναι ο ρόλος της των μεταβλητών Ν και Ζ στο πρόγραμμα; 2. Να ξαναγράψετε το παραπάνω τμήμα ώστε να επιτελεί την ίδια λειτουργία χρησιμοποιώντας για είσοδο αντί της κοινής μεταβλητής Χ έναν μονοδιάστατο πίνακα με όνομα Χ. (Μονάδες 6) Β2. Δίνεται ο παρακάτω αλγόριθμος γραμμένος σε «ψευδογλώσσα» ο οποίος έχει σαν στόχο να εντοπίσει τη θέση που βρίσκεται η τιμή 22 μέσα στα Ν-στοιχεία ενός δεδομένου πίνακα μιας διάστασης με όνομα ΠΙΝ από ακεραίους ο οποίος περιέχει μοναδικά στοιχεία. Αλγόριθμος Αναζήτηση Δεδομένα // ΠΙΝ, Ν // Ι 1 Όσο ΠΙΝ[Ι] < > 22 επανάλαβε Ι Ι+1 Τέλος_επανάληψης Αποτελέσματα // Ι // Τέλος Αναζήτηση 1. Σε ποια περίπτωση ο παραπάνω αλγόριθμος δεν λειτουργεί σωστά; Αιτιολογήστε την απάντηση σας (Μονάδες 5) 2. Να ξαναγράψετε τον παραπάνω αλγόριθμο ώστε να λειτουργεί σωστά για όλες τις πιθανές περιπτώσεις. (Μονάδες 5)
ΘΕΜΑ Γ Μια εταιρεία κινητής τηλεφωνίας συνδέει τους πελάτες της με δύο ειδών συμβόλαια. Με συμβόλαιο καρτοκινητής και συμβόλαιο με πάγιο. Να αναπτύξετε αλγόριθμο σε «ψευδογλώσσα» ο οποίος: Γ1. Για κάθε πελάτη να διαβάζει το ονοματεπώνυμο του, και το είδος του συμβολαίου του, εξασφαλίζοντας ότι δίνονται μόνο ο χαρακτήρας Κ για το συμβόλαιο καρτοκινητής, και ο χαρακτήρας Σ, για συμβόλαιο με πάγιο. (Μονάδες 3) Γ2. Για κάθε πελάτη καρτοκινητής να διαβάζει για κάθε μήνα τους τελευταίους 12 μήνες, το πλήθος των κλήσεων.(θετικός ακέραιος αριθμός) που έκανε, τα δευτερόλεπτα ανά κλήση (θετικός ακέραιος αριθμός), και τέλος το πλήθος των μηνυμάτων που έχει στείλει (θετικός ακέραιος αριθμός). Γ3. Για κάθε πελάτη καρτοκινητής να εμφανίζει τα χρήματα που πλήρωσε κάθε μήνα με δεδομένο ότι κάθε δευτερόλεπτο ομιλίας κοστίζει 0,01 ευρώ με ελάχιστη χρέωση τα 30 δευτερόλεπτα ανά κλήση ομιλίας και για κάθε μήνυμα 0.02 ευρώ ανά μήνυμα. (Μονάδες 5) Γ4. Η παραπάνω διαδικασία δηλ. τα ερωτήματα Γ1-Γ3, να επαναλαμβάνεται μέχρι να δοθεί αντί ονοματεπωνύμου πελάτη η λέξη «ΤΕΛΟΣ». Γ5. Στο τέλος ο αλγόριθμος να εμφανίζει:: α. Τα συνολικά έσοδα της εταιρείας του τελευταίους 12 μήνες από πελάτες καρτοκινητής. β. Το όνομα του πελάτη από τους πελάτες καρτοκινητής που πλήρωσε (συνολικά στο 12μηνο) τα περισσότερα χρήματα. (να θεωρήσετε ότι υπάρχει μόνο ένας τέτοιος πελάτης). γ. Το ποσοστό επί τοις εκατό (%) των πελατών με συμβόλαιο με πάγιο στο σύνολο των πελατών της εταιρείας. (Μονάδες 6) Παρατηρήσεις: 1. Τα δεδομένα εισόδου που δίνονται από το χρήστη, εκτός από το είδος του συμβολαίου να θεωρηθούν έγκυρα. 2. Δεν είναι υποχρεωτικό να υπάρχουν κατάλληλα διαμορφωμένα μηνύματα για την είσοδο των δεδομένων και την εμφάνιση των αποτελεσμάτων. 3. Να θεωρήσετε ότι ο αλγόριθμος επεξεργάζεται τουλάχιστον έναν πελάτη. Σελίδα 4 από 5
ΘΕΜΑ Δ Ένας μεγάλος εκπαιδευτικός όμιλος επιθυμεί να διοργανώσει μια εκδήλωση με σκοπό την αποτίμηση της εκπαιδευτικής χρονιάς που πέρασε, και την βράβευση μαθητών του ομίλου που αρίστευσαν στις πρόσφατες εισαγωγικές εξετάσεις. Λόγω και της οικονομικής κρίσης το αρμόδιο γραφείο του ομίλου που έχει την ευθύνη για την άρτια διοργάνωση της όλης εκδήλωσης πραγματοποιεί έρευνα για την ενοικίαση κατάλληλου διαθέσιμου χώρου καθώς και την ύπαρξη χορηγών οι οποίοι θα καλύψουν το κόστος της εκδήλωσης αυτής. Να γράψετε αλγόριθμο σε «ΓΛΩΣΣΑ» ο οποίος: Δ1. Περιέχει τμήμα δηλώσεων.. Δ2. Διαβάζει την χωρητικότητα (σε άτομα) και την τιμή ενοικίασης (σε ευρώ) 8 κατάλληλων διαθέσιμων χώρων και να τα καταχωρίζει στους μονοδιάστατους πίνακες ΑΤΟΜΑ και ΤΙΜΗ αντίστοιχα. Η καταχώριση θα γίνεται με τέτοιο τρόπο ώστε να υπάρχει αντιστοιχία θέσης μεταξύ των δύο προαναφερθέντων πινάκων, και να γίνεται ο κατάλληλος έλεγχος εγκυρότητας των δεδομένων εισόδου, ώστε να εξασφαλίζεται ότι οι τιμές των στοιχείων του πίνακα ΑΤΟΜΑ είναι θετικοί αριθμοί. Να θεωρήσετε ότι οι τιμές των στοιχείων του πίνακα ΑΤΟΜΑ είναι ακέραιοι αριθμοί και του πίνακα ΤΙΜΗ είναι θετικοί πραγματικοί αριθμοί. Οι τιμές που θα εισαχθούν και στους δύο πίνακες θεωρούνται μοναδικές. Δ3. Διαβάζει τη επωνυμία και την προσφορά (σε ευρώ) 10 διαφορετικών χορηγών και την καταχωρίζει στους παράλληλους πίνακες ΧΟΡΗΓΟΣ και ΠΡΟΣΦΟΡΑ αντίστοιχα, θεωρώντας ότι οι τιμές των στοιχείων που εισάγονται στον πίνακα ΠΡΟΣΦΟΡΑ είναι μοναδικοί θετικοί πραγματικοί αριθμοί. Δ4. Βρίσκει την πιο συμφέρουσα τιμή ενοικίασης από τους διαθέσιμους χώρους ενοικίασης. Δ5. Εμφανίζει τους χορηγούς (επωνυμίες) που εξασφαλίζουν το ελάχιστο δυνατό πλήθος χορηγών που απαιτούνται για την ανωτέρω συμφέρουσα τιμή ενοικίασης, καθώς και το ενδεχόμενο πλεόνασμα χρημάτων. Σε περίπτωση όπου δεν βρεθούν τέτοιοι χορηγοί να εμφανίζεται κατάλληλο ενημερωτικό μήνυμα. (Μονάδες 8) Υπόδειξη για το ΘΕΜΑ Δ: Τόσο κατά την είσοδο των δεδομένων (και τον έλεγχο εγκυρότητας; αυτών όπου ζητείται), όσο και κατά την έξοδο των αποτελεσμάτων να υπάρχουν κατάλληλα διαμορφωμένα μηνύματα. ΣΑΣ ΕΥΧΟΜΑΣΤΕ ΕΠΙΤΥΧΙΑ! Σελίδα 5 από 5