ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΣΤΡΙΤΣΙΟΥ ΠΑΡΑΣΚΕΥΗ 5 Μαΐου 2014 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) ΘΕΜΑΤΑ- ΛΥΣΕΙΣ Θέμα 1 ο Α1. Το πρόβλημα των τεσσάρων χρωμάτων διατυπώθηκε για πρώτη φορά το 1852 από τον Francis Guthrie, ο οποίος έθεσε το ερώτημα «αν είναι δυνατόν σε οποιοδήποτε χάρτη να χρωματιστούν όλες οι χώρες χρησιμοποιώντας το πολύ τέσσερα χρώματα, χωρίς καμία χώρα να έχει το ίδιο χρώμα με μια γειτονική της». Το πρόβλημα λύθηκε τελικά το 1976 από τους Kenneth Appel και Wolfgang Haken, αφού απέδειξαν με τη βοήθεια υπολογιστή ότι αυτό είναι δυνατό. 1. Σε ποια κατηγορία ανήκε αυτό το πρόβλημα ως προς τη δυνατότητα επίλυσής του για τη χρονική περίοδο από το 1852 μέχρι και το 1976; Σήμερα, πλέον, σε ποια κατηγορία κατατάσσεται; Μονάδες1 2. Σε ποια κατηγορία κατατάσσεται αυτό το πρόβλημα ως προς το είδος της επίλυσης που επιζητά; Μονάδες 1 Α2. Με τον όρο ελεύθερο λογισμικό ή λογισμικό ανοιχτού κώδικα αναφερόμαστε σε προγράμματα των οποίων το αρχικό πηγαίο πρόγραμμα σε γλώσσα υψηλού επιπέδου είναι ελεύθερα διαθέσιμο. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή, ή τη λέξη ΛΑΘΟΣ, αν είναι λανθασμένη. 1. Το γεγονός ότι για το ελεύθερο λογισμικό είναι διαθέσιμο το αρχικό πηγαίο πρόγραμμα σε γλώσσα υψηλού επιπέδου, σημαίνει ότι μπορεί οποιοσδήποτε να μελετήσει τις εντολές από τις οποίες αποτελείται ένα τέτοιο πρόγραμμα.σωστο 2. Όταν ένας χρήστης διαπιστώσει την ύπαρξη ενός λογικού λάθους σε ένα εκτελέσιμο πρόγραμμα τότε έχει τη δυνατότητα να το διορθώσει μόνος του, ακόμα κι αν δε διαθέτει το αρχικό πηγαίο πρόγραμμα σε γλώσσα υψηλού επιπέδου. ΛΑΘΟΣ 1
3. Αν οι εντολές του πηγαίου προγράμματος τροποποιηθούν, τότε είναι απαραίτητο το πηγαίο πρόγραμμα να ξαναπεράσει από τη διαδικασία μετάφρασης σε γλώσσα μηχανής πριν χρησιμοποιηθεί η τροποποιημένη εκδοχή. ΣΩΣΤΟ. 4. Έστω ότι σας δίνεται ένα εκτελέσιμο πρόγραμμα για το φυλλομετρητή Mozilla Firefox που είναι ελεύθερο λογισμικό, το οποίο μπορεί να εκτελεστεί στον υπολογιστή σας. Το ίδιο εκτελέσιμο πρόγραμμα μπορεί να εκτελεστεί και σε άλλους υπολογιστές οποιασδήποτε αρχιτεκτονικής, αφού το αρχικό πηγαίο πρόγραμμα από το οποίο προέρχεται είναι γραμμένο σε γλώσσα υψηλού επιπέδου. ΛΑΘΟΣ. 5. Αν για μια γλώσσα προγραμματισμού υπάρχει διαθέσιμος μόνο διερμηνευτής, τότε για να εκτελεστεί ένα πρόγραμμα που έχει γραφτεί σε αυτήν τη γλώσσα θα πρέπει να είναι διαθέσιμο το αντίστοιχο πηγαίο πρόγραμμα. ΣΩΣΤΟ Μονάδες 10 Α3 α) Τι είναι δομή δεδομένων; Να αναφέρετε τρεις δομές δεδομένων που γνωρίζετε. 4 μονάδες β) Αναφέρατε ονομαστικά έξη λειτουργίες(ή πράξεις) επί δομών δεδομένων 3 μονάδες γ) Γιατί υπάρχουν διαφορετικές δομές δεδομένων; 2 μονάδες 2
α,γ: σελ 54-55 β:πίνακας, στοίβα, ουρά Α4. Ο παρακάτω αλγόριθμος δέχεται ως δεδομένα μια αριθμητική τιμή Χ και έναν μονοδιάστατο πίνακα Α μεγέθους τουλάχιστον ίσο με Ν+1, στον οποίο έχουν τοποθετηθεί Ν τιμές ταξινομημένες σε αύξουσα σειρά. Ο αλγόριθμος τοποθετηθεί την τιμή Χ στην κατάλληλη θέση του πίνακα Α ώστε και πάλι όλες οι Ν+1 τιμές του να είναι ταξινομημένες. ΑΛΓΟΡΙΘΜΟΣ Προσθήκη ΔΕΔΟΜΕΝΑ // Χ, Α, Ν // Α[Ν+1] Χ ΓΙΑ λ ΑΠΟ Ν+1 ΜΕΧΡΙ 2 ΜΕ_ΒΗΜΑ -1 ΑΝ Α[λ] < Α[λ-1] ΤΟΤΕ ΑΝΤΙΜΕΤΑΘΕΣΕ Α[λ], Α[λ-1] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΠΟΤΕΛΕΣΜΑΤΑ // Α // ΤΕΛΟΣ Προσθήκη Για παράδειγμα, αν ο πίνακας Α έχει αρχικά το περιεχόμενο (Ν = 9): 1 2 3 4 5 6 7 8 9 Α 12 34 45 48 52 66 87 88 91 για Χ = 46, μετά την εκτέλεση του αλγορίθμου θα έχει το περιεχόμενο: 1 2 3 4 5 6 7 8 9 10 Α 12 34 45 46 48 52 66 87 88 91 α) Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-3 και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή, ή τη λέξη ΛΑΘΟΣ, αν είναι λανθασμένη. 1. Το αποτέλεσμα του παραπάνω αλγορίθμου είναι ο πίνακας Α με τα Ν+1 στοιχεία του σε αύξουσα σειρά. ΣΩΣΤΟ 2. Αν η συνθήκη της εντολής ΑΝ ΤΟΤΕ του αλγορίθμου αλλάξει σε: Α[λ] > Α[λ-1] τότε το αποτέλεσμα του αλγορίθμου είναι ο πίνακας Α με τα Ν+1 στοιχεία του σε φθίνουσα σειρά. ΛΑΘΟΣ 3. Αν η εντολή ΓΙΑ ΑΠΟ ΜΕΧΡΙ του αρχικού αλγορίθμου αλλάξει σε: ΓΙΑ λ ΑΠΟ 2 ΜΕΧΡΙ Ν+1 τότε το αποτέλεσμα του αλγορίθμου είναι ο πίνακας Α με τα Ν+1 στοιχεία του σε φθίνουσα σειρά. ΛΑΘΟΣ 3 μονάδες β) Ο αλγόριθμος που ακολουθεί έχει το ίδιο αποτέλεσμα με τον αρχικό, με τη διαφορά ότι χρησιμοποιεί την εντολή ΟΣΟ ΕΠΑΝΑΛΑΒΕ αντί για την ΓΙΑ ΑΠΟ ΜΕΧΡΙ, με τέτοιο τρόπο ώστε οι επαναλήψεις να σταματούν αμέσως όταν η τιμή Χ τοποθετηθεί στην κατάλληλη θέση του πίνακα. Να γράψετε στο τετράδιό σας τον αριθμό για καθένα από τα κενά 1-6 και δίπλα την απαιτούμενη αριθμητική ή λογική έκφραση. 3
ΑΛΓΟΡΙΘΜΟΣ Προσθήκη_2 ΔΕΔΟΜΕΝΑ // Χ, Α, Ν // Α[Ν+1] Χ τοποθετήθηκε _(1)_ λ _(2)_ ΟΣΟ (3) ΚΑΙ (4) ΕΠΑΝΑΛΑΒΕ ΑΝ Α[λ] < Α[λ-1] ΤΟΤΕ ΑΝΤΙΜΕΤΑΘΕΣΕ Α[λ], Α[λ-1] ΑΛΛΙΩΣ τοποθετήθηκε _(5)_ ΤΕΛΟΣ_ΑΝ λ (6)_ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΠΟΤΕΛΕΣΜΑΤΑ // Α // ΤΕΛΟΣ Προσθήκη_2 6 μονάδες 1: ψευδης 2: Ν+1 3: λ>=2 4: (τοποθετηθηκε=ψευδης) 5: αληθής 6:λ-1 Α5. Δίνεται το παρακάτω πρόγραμμα, το οποίο αποτελείται από το κύριο πρόγραμμα και μια διαδικασία. Να σημειωθεί ότι το πρόγραμμα παραβιάζει τουλάχιστον ένα από τα αλγοριθμικά κριτήρια. ΠΡΟΓΡΑΜΜΑ Α3 ΜΕΤΑΒΛΗΤΕΣ (1) ΑΡΧΗ συμμετέχοντες <- 0 σύνολο <- 0 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΚΑΛΕΣΕ Απάντηση(συμμετοχή) ΑΝ συμμετοχή = 'ΝΑΙ' ΤΟΤΕ συμμετέχοντες <- συμμετέχοντες + 1 ΤΕΛΟΣ_ΑΝ σύνολο <- σύνολο + 1 ΚΑΛΕΣΕ Απάντηση(συνέχεια) ΜΕΧΡΙΣ_ΟΤΟΥ συνέχεια = 'ΟΧΙ' ποσοστό <- συμμετέχοντες / σύνολο ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΙΑΔΙΚΑΣΙΑ Απάντηση(Α) ΜΕΤΑΒΛΗΤΕΣ (2) ΑΡΧΗ ΔΙΑΒΑΣΕ Α ΟΣΟ Α <> 'ΝΑΙ' Ή Α <> 'ΟΧΙ' ΕΠΑΝΑΛΑΒΕ 4
ΔΙΑΒΑΣΕ Α ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ 1. Να γράψετε στο τετράδιό σας τον αριθμό για καθένα από τα κενά 1-2 και δίπλα τα αντίστοιχα τμήματα δηλώσεων του κύριου προγράμματος και της διαδικασίας. Μονάδες 4 2. Να γράψετε στο τετράδιό σας τις ενδείξεις α, β και γ για καθεμιά από τις παρακάτω προτάσεις και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή, ή τη λέξη ΛΑΘΟΣ, αν είναι λανθασμένη. Επίσης, να αιτιολογήσετε με συντομία τις απαντήσεις σας. α. Το πρόγραμμα παραβιάζει το κριτήριο της εξόδου. ΣΩΣΤΟ β. Η εντολή ποσοστό <- συμμετέχοντες / σύνολο μπορεί να παραβιάσει το κριτήριο της καθοριστικότητας. ΛΑΘΟΣ γ. Η επαναληπτική δομή στη διαδικασία Απάντηση παραβιάζει το κριτήριο της περατότητας, ανεξάρτητα από την τιμή της μεταβλητής Α. ΣΩΣΤΟ Μονάδες 6 Α6. Δίνεται ο αλγόριθμος του πολλαπλασιασμού αλά Ρωσικά σε φυσική γλώσσα κατά βήματα: 5
1. Να γράψετε τον παραπάνω αλγόριθμο σε ψευδογλώσσα. Μονάδες 2 2. Ακολούθως να τον τροποποιήσετε ώστε να ισχύει για όλους τους ακέραιους αριθμούς Μονάδες 3 3 Να γράψετε σε ποια από τις παραπάνω εντολές γίνεται: i) ολίσθηση αριστερά ii) ολίσθηση δεξιά θεωρώντας πως οι αριθμοί υποβάλλονται σε επεξεργασία στο δυαδικό σύστημα. Διάβασε Μ1, Μ2 P 0 Όσο Μ2>0 επανάλαβε Αν Μ2 mod 2=1 τότε P P + M1 Τέλος_Αν Μ1 Μ1 * 2 Μ2 Μ2 div 2 Τέλος_επανάληψης Εκτύπωσε P Μονάδες 1 Όπου Μ1 το α και όπου Μ2 το β Μ1 Μ1 * 2 6
Πολλαπλασιασμός : ολίσθηση αριστερά Διαίρεση : Ολίσθηση δεξιά Μ2 Μ2 div 2 7