1 ΘΕΜΑ Α: Α. Να αναφέρετε ονομαστικά τις βασικές λειτουργίες ( πράξεις ) επί των δομών δεδομένων. Β. Μια ουρά 10 θέσεων έχει την αρχική μορφή Α Ζ Τ Ε Λ Γνωρίζουμε τα εξής στοιχεία: 1. Μετά από μια σειρά διεργασιών η ουρά έχει: Δείκτη Front = 4 Δείκτη Rear = 8 2. Έχει δύο νέα στοιχεία με τη σειρά εισόδου τους το O και το Σ. Β-1. Ποια είναι η τελική μορφή της ουράς; Β-2. Ποιες διεργασίες εκτελέστηκαν για να πάρει η ουρά την τελική της μορφή; Β-3. Δεδομένου ότι στη συνέχεια γίνεται συγκεκριμένη διεργασία χωρίς να εισέρχεται άλλο στοιχείο στην ουρά, πόσα κενά στοιχεία θα έχει η ουρά αν ο δείκτης Front και ο δείκτης Rear συμπέσουν; Μονάδες 6 Γ. Να χαρακτηρίσετε τις πιο κάτω προτάσεις ως σωστές ή λανθασμένες: 1. Ένας πίνακας δύο διαστάσεων είναι μια δυναμική δομή δεδομένων. 2. Η διαχείριση ενός πίνακα μπορεί να γίνει με τη δομή Αρχή_Επανάληψης Μέχρις_ότου. 3. Η σειριακή αναζήτηση επιβάλλεται στην περίπτωση που ο πίνακας είναι ταξινομημένος. 4. Η υπερχείλιση μπορεί να συμβεί όταν σε μια αρχικά άδεια στοίβα 6 θέσεων εκτελεστούν διαδοχικά 6 ωθήσεις. 5. Η διαδικασία FIFO εφαρμόζεται στην ουρά. 6. Ένας πίνακας έχει μέγεθος που καθορίζεται τη στιγμή της εκτέλεσης του αλγορίθμου. Δ. Δίνεται ο πίνακας δύο διαστάσεων Μονάδες 12
2 Π 1 2 3 4 4 8 12 16 9 18 27 36 16 32 48 64 1. Να γραφεί αλγόριθμος ο οποίος θα κατασκευάζει τον συγκεκριμένο πίνακα. 2. Με δεδομένο τον Π να γραφεί τμήμα αλγορίθμου που θα διαχωρίζει τον πίνακα Π σε δύο πίνακες Λ 4 16 36 64 Και Κ 1 2 3 4 8 12 9 18 27 16 32 48 Ε. Έστω ο πίνακας Α που περιέχει με την σειρά τους 200 πρώτους περιττούς αριθμούς, (δηλ. 1,3,5,7,...), μετά την εκτέλεση του κάτωθι τμήματος αλγορίθμου: s 0 Για i από 1 μέχρι Ν s s + A[ Α [ 2*i ] ] Τέλος_επανάληψης
3 Ε-1. Αν είναι γνωστό ότι το s = 68, ποια από τις επόμενες τιμές παίρνει το Ν; α) Ν = 2 β) Ν = 3 γ) Ν = 4 δ) Ν = 5 Ε-2. Δικαιολογήστε την απάντησή σας ΘΕΜΑ Β: Μονάδες 2 Μονάδες 6 A. Δίνονται οι δύο μονοδιάστατοι πίνακες καθώς και ο πιο κάτω αλγόριθμος ΟΝΟΜΑ: John Bob Luke Ray Joy Tex Ryan Pat Mike Max Eτος: 1970 1968 1929 2001 1998 2006 1938 1989 1940 1991 Αλγόριθμος Θέμα Β_Α Για i από 1 μέχρι 10 Εμφάνισε Δώσε Όνομα:, i Διάβασε ΟΝΟΜΑ [ i ] Εμφάνισε Δώσε έτος Γέννησης:, i Διάβασε Ετος[ i ] Τέλος_Επανάληψης Εμφάνισε Παρακαλώ δώσε το τρέχον ημερολογιακό έτος: Διάβασε Τρέχον_Έτος Εμφάνισε Πρώτη Ομάδα: Σ_18 0 Για i από 1 μέχρι 10 Αν (Τρέχον_Έτος - Ετος[ i ] ) >= 18 τότε Εμφάνισε ΟΝΟΜΑ[ i ] Σ_18 Σ_18 + 1 Τέλος_Αν Τέλος_Επανάληψης Εμφάνισε Πλήθος πρώτης ομάδας:, Σ_18
4 Εμφάνισε Δεύτερη Ομάδα: Σ_70 0 Για i από 1 μέχρι 10 Αν (Τρέχον_Έτος - Ετος[ i ]) >= 70 τότε Εμφάνισε ΟΝΟΜΑ[ i ] Σ_70 Σ_70 + 1 Τέλος_Αν Τέλος_Επανάληψης Εμφάνισε Πλήθος δεύτερης ομάδας: Σ_70 Τέλος Θέμα Β_Α Τι θα εμφανιστεί κατά την εκτέλεση του πιο πάνω αλγορίθμου στην οθόνη; Β. Μονάδες 10 Στον αλγόριθμο της ταξινόμησης μονοδιάστατου πίνακα Ν στοιχείων με τη μέθοδο της ευθείας ανταλλαγής υπάρχει το μειονέκτημα της συνεχούς επανάληψης ακόμη και στην περίπτωση που ο πίνακας έχει ταξινομηθεί από πριν. To πιο κάτω τμήμα αλγορίθμου αποτελεί βελτιωμένη έκδοση της ταξινόμησης της ευθείας ανταλλαγής. Στην περίπτωση που σε κάποια επανάληψη δε γίνει καμία αντιμετάθεση, ( ο πίνακας έχει ταξινομηθεί οπότε ) ο αλγόριθμος τερματίζεται. Done Aληθής i 2 Όσο (i < = Ν) και (Done = αληθής) επανάλαβε Done Ψευδής Για j από Ν μέχρι i με_βήμα 1 Αν Α[ j 1 ] > A[ j ] τότε temp Α[ j 1 ] A[ j 1 ] A[ j ] A[ j ] temp Done Aληθής Τέλος_αν Τέλος_επανάληψης i i + 1 Τέλος_επανάληψης Β-1. Να μετατραπεί σε ισοδύναμο τμήμα αλγορίθμου χρησιμοποιώντας αποκλειστικά τη Δομή Αρχή_Επανάληψης Μέχρις_ότου. Β-2. Να γίνει το διάγραμμα ροής του αρχικού τμήματος αλγορίθμου.
5 ΘΕΜΑ Γ: Στην ένωση γεωργικών συνεταιρισμών Λεστινίτσας είναι εγγεγραμμένοι 234 αγρότες ελαιοπαραγωγοί. Κάθε χρόνο η Ευρωπαϊκή Ένωση δίνει ποσό επιδότησης σε Ευρώ όσο το 60% της αξίας του λαδιού που παρήγαγε ο κάθε αγρότης. (Αν κάποιος τη συγκεκριμένη χρονιά δεν έχει παραγωγή, δεν παίρνει επιδότηση). Η μέρα πληρωμής της επιδότησης είναι η ίδια για όλους τους αγρότες της Λεστινίτσας. Τα τελευταία χρόνια έχει γίνει πλέον έθιμο στο χωριό, όσοι λαμβάνουν ποσό επιδότησης μεγαλύτερο από τη μέση επιδότηση για κάθε αγρότη, τη μέρα της πληρωμής κερνούν στο καφενείο του χωριού όσους δεν πήραν επιδότηση από ένα γιαουρτάκι που κοστίζει 1,2Ευρώ. Να γραφεί αλγόριθμος ο οποίος Α. Ζητά τα ονόματα και την παραγωγή του κάθε αγρότη σε κιλά και τα καταχωρεί σε δύο μονοδιάστατους πίνακες ΟΝ και Π αντίστοιχα.( Η παραγωγή πρέπει να είναι θετικός αριθμός). Β. Ζητά την αξία ενός κιλού λαδιού και δημιουργεί μονοδιάστατο πίνακα Ε που περιέχει το ποσό της επιδότησης κάθε αγρότη. Γ. Ζητά το όνομα ενός αγρότη βρίσκει και εμφανίζει πόσοι αγρότες πήραν ποσό επιδότησης μεγαλύτερο από τον συγκεκριμένο αγρότη. Αν το όνομα δεν υπάρχει να εμφανίζει κατάλληλο μήνυμα. Δ. Υπολογίζει και εμφανίζει πόσοι και ποιοι θα πάρουν κέρασμα στο καφενείο, ποιο είναι το συνολικό ποσό που θα ξοδευτεί για γιαουρτάκια και πόσα χρήματα πρέπει να συνεισφέρει ο κάθε αγρότης που πρέπει να συμμετάσχει για να αγοραστούν τα γιαουρτάκια.. Θεωρήστε ότι υπάρχει τουλάχιστον ένας αγρότης χωρίς παραγωγή. Μονάδες 8 ΘΕΜΑ Δ: 10 πόλεις συνδέονται με σιδηροδρομικό δίκτυο και κάθε μια τους διαθέτει σιδηροδρομικό σταθμό με σταθμάρχη. Οι σταθμάρχες των 10 πόλεων μέσα σε ένα μήνα εξέδωσαν έναν αριθμό εισιτηρίων για επιβάτες που ταξίδεψαν σε κάθε έναν από τους υπόλοιπους 9 προορισμούς. Είναι γνωστό ότι η αξία του εισιτηρίου από πόλη σε πόλη φαίνεται στον πιο κάτω πίνακα όπου ο αριθμός γραμμής αντιστοιχεί στην πόλη αφετηρίας και ο αριθμός της στήλης στην πόλη προορισμού.
6 0 2 3 4 5 6 7 8 9 10 2 0 2 3 4 5 6 7 8 9 3 2 0 2 3 4 5 6 7 8 4 3 2 0 2 3 4 5 6 7 5 4 3 2 0 2 3 4 5 6 6 5 4 3 2 0 2 3 4 5 7 6 5 4 3 2 0 2 3 4 8 7 6 5 4 3 2 0 2 3 9 8 7 6 5 4 3 2 0 2 10 9 8 7 6 5 4 3 2 0 Να γραφεί αλγόριθμος ο οποίος: Α. Ζητά τα ονόματα των 10 πόλεων και τα καταχωρεί σε μονοδιάστατο πίνακα Π. Μονάδες 2 Β. Δημιουργεί τον πιο πάνω πίνακα ΕΙΣ. Γ. Ζητά τον αριθμό εισιτηρίων κάθε πόλης προς κάθε πόλη και δημιουργεί πίνακα 10 10 ο οποίος περιέχει το ποσό που κάθε πόλη εισέπραξε από τα εισιτήρια που πούλησε προς τις άλλες. ( ο αριθμός των εισιτηρίων πρέπει να είναι θετικός). Δ. Δεδομένου ότι η εταιρεία σιδηροδρόμων θα κλείσει τους τέσσερις σταθμούς με τις λιγότερες εισπράξεις, να εμφανίζει τα ονόματα των τεσσάρων πόλεων των οποίων οι σταθμοί θα κλείσουν. Μονάδες 6 Ε. Να υπολογίζει και να εμφανίζει το ποσοστό επί της συνολικής είσπραξης της εταιρείας στο οποίο αντιστοιχούν οι εισπράξεις των τεσσάρων σταθμών που κλείνουν. Θεωρήστε ότι δεν υπάρχουν δύο σταθμοί με την ίδια είσπραξη. Σε μια γραμμή και ότι ο αριθμός των εισιτηρίων είναι ακέραιος.