ΑΕΠΠ 6o Επαναληπτικό Διαγώνισμα Ονοματεπώνυμο: ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμίας από τις παρακάτω προτάσεις 1-5 και, δίπλα, τη λέξη ΣΩΣΤΟ, αν η πρόταση είναι σωστή, ή τη λέξη ΛΑΘΟΣ, αν η πρόταση είναι λανθασμένη. 1. Ο δείκτης εμπρός (front) μιας ουράς μας δίνει τη θέση του στοιχείου, το οποίο σε πρώτη ευκαιρία θα εξαχθεί. 2. Κάθε πεδίο μιας δευτερεύουσας μνήμης αποτελείται από πολλές εγγραφές. 3. Ο διαχωρισμός αποτελεί την αντίστροφη πράξη της συγχώνευσης. 4. Στη ΓΛΩΣΣΑ, ο μέσος όρος ενός συνόλου ακεραίων μεταβλητών πρέπει να αποθηκευτεί σε μεταβλητή πραγματικού τύπου. 5. Οι τεχνητές γλώσσες χαρακτηρίζονται από στασιμότητα Α2. Για να βρούμε την επίδοση ενός αλγορίθμου, συνήθως μετράμε τις βασικές πράξεις που γίνονται σε αυτόν. Αναφέρετε ποιες είναι συνήθως αυτές οι βασικές πράξεις. Α3. Αναφέρετε τι εννοούμε όταν λέμε «Χειρότερη περίπτωση αλγορίθμου» Α4. Συμπληρώστε τον παρακάτω πίνακα αναγράφοντας τις κατάλληλες πολυπλοκότητες Εντολή/Αλγόριθμος/Είδος/Πολυώνυμο Γραμμική Πολυπλοκότητα Κυβική Πολυπλοκότητα Εκθετική Πολυπλοκότητα x x + 1 α 1 β α^2 + α Γράψε β Δυαδική Αναζήτηση Σειριακή Αναζήτηση Ταξινόμηση Ευθείας Ανταλλαγής Πολυπλοκότητα Ο(n) Μονάδες 8
Α5. Αλγόριθμος ΘΕΜΑ_Α5 n 30 ΟΣΟ n>10 ΕΠΑΝΑΛΑΒΕ Διάβασε κ ΑΝ κ>50 ή κ<0 TOTE S<--S+k S<--S*k+n n n - 2 ΓΡΑΨΕ S Τέλος ΘΕΜΑ_Α5 1. Ποιο είναι το μέγεθος εισόδου του παραπάνω αλγορίθμου. 2. Πότε παρουσιάζεται η χειρότερη περίπτωση του παραπάνω αλγορίθμου. 3. Πόσες πράξεις γίνονται στην χειρότερη περίπτωση. 4. Να μετατραπεί ο παραπάνω αλγόριθμος σε ισοδύναμο με την χρήση της επαναληπτικής δομής ΓΙΑ. ΘΕΜΑ Β Β1. Να γραφούν τρία ξεχωριστά τμήματα αλγορίθμων, που το πρώτο να μην πλήρει το κριτήριο της καθοριστικότητας, το δεύτερο της περατότητας και το τρίτο της αποτελεσματικότητας. Β2. Δίνεται το παρακάτω ημιτελές τμήμα αλγορίθμου μ (1) λ μ ΓΙΑ γρ ΑΠΟ 1 ΜΕΧΡΙ 4 ΓΙΑ στ ΑΠΟ 1 ΜΕΧΡΙ (2) ΑΝ γρ+στ=5 ΤΟΤΕ Α[γρ,στ] (3) μ (4) Α[γρ,στ] (5) λ (6)
Για κάθε κενό, να γράψετε στο τετράδιο σας τον αριθμό και δίπλα πως πρέπει να συμπληρωθεί, ώστε ο πίνακας Α[4,4] να παίρνει τελικά τις παρακάτω τιμές: 20 15 10 20 5 0 13-5 -10 6-15 -20-1 -25-30 -35 Β3. Δίνεται το παρακάτω τμήμα αλγορίθμου L 0 F 2 ΓΙΑ k ΑΠΟ 1 ΜΕΧΡΙ 4 ΜΕ_ΒΗΜΑ 2 ΑΝ Α[F] > C[k] TOTE A[k+2] C[F] div 3 B Ασπρο Β Μαύρο C[F-1] C[F-1]*4+1 L L+2 F L k + F A[k+1] A[k] 10 ΓΡΑΨΕ L,B,F C[k-1] A[L-1] mod 5 + C[1] + F Να δημιουργήσετε έναν πίνακα τιμών με τις τιμές των μεταβλητών L,B,F που θα εμφανιστούν κατά την εκτέλεση του, αν η αρχική κατάσταση των πινάκων Α και C είναι αυτή που ακολουθεί. Να γράψετε και την τελική κατάσταση των πινάκων Α και C A 8-10 22 6-5 C 4-2 15 7 9 Μονάδες 11
B4. Ζητήσαμε από δύο μαθητές να γράψουν έναν αλγόριθμο ο οποίος να διαβάζει τρεις τιμές (όχι κατ ανάγκη διαφορετικές) από το πληκτρολόγιο και να εμφανίζει την μεγαλύτερη. Παρακάτω βλέπετε τον τρόπο σκέψης καθενός μαθητή και την αντίστοιχη υλοποίηση σε αλγόριθμο. Ενώ οι σκέψεις είναι σωστές, οι κωδικοποιήσεις των σκέψεων είναι λάθος. Για κάθε ένα μαθητή να δώσετε ένα παράδειγμα τ ριών τιμών που να καταδεικνύει το λάθος του. Μαθητής 1 Μαθητής 2 Θα πάρω τρεις τιμές και θα θεωρήσω ότι η πρώτη είναι η μεγαλύτερη. Μετά όποια από τις άλλες είναι ακόμα μεγαλύτερη, θα ονομάζω εκείνη μέγιστη. ΔΙΑΒΑΣΕ max,β,γ ΑΝ β>max ΤΟΤΕ max β _ΑΝ γ>max TOTE max γ ΓΡΑΨΕ max Θα πάρω τρεις τιμές και θα τις συγκρίνω συνδυαστικά μεταξύ τους. Όποια δεν είναι μικρότερη από καμία άλλη, εκείνη θα ονομάζω μέγιστη. ΔΙΑΒΑΣΕ α,β,γ ΑΝ α>β ΚΑΙ α>γ ΤΟΤΕ max α _ΑΝ β>α ΚΑΙ β>γ TOTE max β max γ ΓΡΑΨΕ max
ΘΕΜΑ Γ Ένα συνεργείο εξειδικεύεται στο service των εξωλέμβιων κινητήρων μηχανοκίνητων σκαφών. Σε κάθε κινητήρα ενός σκάφους, πραγματοποιεί ένα μικρό ή ένα μεγάλο service ανάλογα με τις ώρες λειτουργίας του, χρησιμοποιώντας υλικά σύμφωνα με τον παρακάτω πίνακα: Είδος service Ωρες λειτουργίας κινητήρα Υλικά που χρησιμοποιούνται Μικρό Μέχρι 100 1 τεμάχιο από το υλικό Α 2 τεμάχια από το υλικό Β Μεγάλο Περισσότερες 1 τεμάχια από το υλικό Α από 100 2 τεμάχια από το υλικό Β 2 τεμάχια από το υλικό Γ Συνολικό Κόστος 80 120 Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ το οποίο: Γ1. Να διαβάζει τα διαθέσιμα τεμάχια που έχει το συνεργείο από τα υλικά Α,Β και Γ. Μονάδες 1 Γ2. Για κάθε κινητήρα στον οποίον πραγματοποιείται service, να διαβάζει τις ώρες λειτουργίας του. Η επαναληπτική διαδικασία να τερματίζει, όταν δεν μπορεί να πραγματοποιηθεί service λόγω μη επάρκειας ενός εκ των υλικών ή όταν διαβαστεί απάντηση «ΟΧΙ» στο μήνυμα για συνέχιση ή τερματισμό. Γ3. Για κάθε κινητήρα, να εξετάζει αν μπορεί να πραγματοποιηθεί το αντίστοιχο service ελαττώνοντας τις κατάλληλες ποσότητες υλικών και εμφανίζοντας το κόστος. Γ4. Να εμφανίζει το ποσοστό των κινητήρων που δεν πραγματοποίησαν μεγάλο service, γιατί οι ώρες λειτουργίας ήταν λιγότερες του ορίου κατά πέντε το πολύ ώρες. Αν δεν υπάρχουν τέτοιοι κινητήρες, να εμφανίζει πόσοι κινητήρες είχαν ώρες λειτουργίας πάνω από 50 και κάτω από 100. Γ5. Α. Να εμφανίζει το πλήθος των κινητήρων που εξυπηρετήθηκαν στο κάθε είδος service και το συνολικό κόστος που πλήρωσαν στο συνεργείο. Β. Μετά το τέλος της επαναληπτικής διαδικασίας, αν κάποιο από το υλικό έχει έλλειψη, να εμφανίζει την ονομασία του. Σημείωση: Θεωρήστε ότι τα υλικά επαρκούν για τουλάχιστον ένα service.
ΘΕΜΑ Δ Ένας κοινωφελές ίδρυμα διοργάνωσε δύο τηλεμαραθώνιους με σκοπό τη συγκέντρωση χρημάτων για την κατασκευή ενός εξειδικευμένου κέντρου για άτομα με αναπηρίες. Να γραφεί πρόγραμμα στο οποίο: Δ1. Να δημιουργεί δύο πίνακες ΧΡ1[150] και ΧΡ2[150] και να καταχωρίζει σε αυτούς την τιμή 0 σε όλα τα στοιχεία τους. Μονάδες 1 Δ2. Θα αποθηκεύονται σε δυο πίνακες ΟΝ1 και ΧΡ1 τα ονόματα και τα χρήματα που έδωσαν μέχρι 150 διαφορετικά άτομα που συμμετείχαν στον πρώτο τηλεμαραθώνιο και Μονάδες 4 Δ3. Θα αποθηκεύονται σε δυο άλλους πίνακες ΟΝ2 και ΧΡ2 τα ονόματα και τα χρήματα που έδωσαν μέχρι 150 διαφορετικά άτομα που συμμετείχαν στον δεύτερο τηλεμαραθώνιο. Μονάδες 4 Στον κάθε τηλεμαραθώνιο δωρίζονται ποσά είτε μέχρι να δοθεί σαν όνομα το ΤΕΛΟΣ είτε μέχρι να γεμίσουν όλες οι θέσεις του πίνακα. Κάθε άτομο μπορεί να ξανασυμμετέχει δίνοντας καινούργιο ποσό, αλλά στον πίνακα με τα ονόματα αναγράφεται ΜΙΑ φορά το όνομα του, και στον πίνακα με τα χρήματα το ΣΥΝΟΛΟ των χρημάτων που έχει δώσει. π.χ. Αν ο Καρράς δώσει 100, μετά ο Βασιλείου δώσει 150, μετά ο Λέκκας δώσει 50 και μετά ο Βασιλείου ξαναδώσει άλλα 200 και ο Καρράς ξαναδώσει άλλα 50 θα υπάρχουν οι εγγραφές: Καρράς 150 Βασιλείου 350 Λέκκας 50 Θεωρούμε ότι κάθε άτομο συμμετέχει ΜΟΝΟ στον έναν από τους δύο τηλεμαραθώνιους, και ότι αφού ολοκληρωθεί ο πρώτος τηλεμαραθώνιος (είτε επειδή δόθηκε σαν όνομα το ΤΕΛΟΣ είτε επειδή γέμισαν και οι 150 θέσεις) ξεκινάει ο δεύτερος τηλεμαραθώνιος. Δ4. Να καλέσετε τη διαδικασία ΤΑΞΙΝΟΜΗΣΗ για κάθε τηλεμαραθώνιο ξεχωριστά, η οποία θα δέχεται τα ονόματα και τις προσφορές ενός τηλεμαραθώνιου και θα τους επιστρέφει ταξινομημένους κατά φθίνουσα σειρά ως προς χρήματα. Δ5. Να δημιουργήσετε δύο νέους πίνακες ΣΟΝ και ΣΧΡ μεγέθους 20 θέσεων, με τα ονόματα και τα χρήματα των ατόμων που έδωσαν τις 20 καλύτερες προσφορές από τους δύο τηλεμαραθώνιους. Στο τέλος να εμφανίζονται τα ονόματα και τα χρήματα που έδωσαν τα 20 αυτά άτομα. Θεωρούμε ότι θα υπάρχουν συνολικά προσφορές χρημάτων από τουλάχιστον 20 διαφορετικά άτομα και από τους δύο τηλεμαραθώνιους. Δ6. Να γράψετε τη διαδικασία ΤΑΞΙΝΟΜΗΣΗ του ερωτήματος (Δ4). Μονάδες 4 Σημείωση: Να μην χρησιμοποιηθεί κανένας νέος πίνακας, εκτός από αυτούς που αναφέρονται στην εκφώνηση του θέματος Δ.