ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 ο Α. Δίνεται η εντολή εκχώρησης: τ κ < λ Ποιες από τις παρακάτω προτάσεις είναι σωστές και ποιες λάθος. Να δικαιολογήσετε τις απαντήσεις σας. 1) Η τ είναι λογική μεταβλητή 2) τα κ, λ μπορεί να είναι λογικές μεταβλητές 3) τα κ, λ μπορεί να είναι αλφαριθμητικές μεταβλητές Μονάδες 6 Β. Να απαντήσετε με Σ ή Λ στα παρακάτω: 1. Στη δομή επιλογής εκτελούνται όλες οι εντολές με τη σειρά που είναι γραμμένες 2. Όταν η συνθήκη είναι αληθής στη δομή Μέχρις_ότου το πρόγραμμα εκτελεί την επόμενη εντολή, που ακολουθεί αμέσως μετά τη δομή της επανάληψης. 3. Στην επαναληπτική εντολή Για αν η τελική τιμή του μετρητή είναι μεγαλύτερη ή ίση από την αρχική και το βήμα είναι θετικό τότε ο βρόγχος επανάληψης εκτελείται 0 φορές. 4. Ένας βρόγχος που έχει γραφεί με τη βοήθεια της Όσο μπορεί πάντοτε να γραφεί και με τη βοήθεια της Για. Μονάδες 4 Γ. Να αναλύσετε τους όρους λίστα πραγματικών παραμέτρων και λίστα τυπικών παραμέτρων. Μονάδες 6 1
Δ. να συμπληρώσετε τα κενά στα δύο παρακάτω τμήματα αλγορίθμου έτσι, ώστε να εκτελούν σωστά έλεγχο που θα εξασφαλίζει ότι η μεταβλητή χ περιέχει θετικό ακέραιο διψήφιο. 1) ΕΜΦΑΝΙΣΕ Δώσε τιμή για το χ ΔΙΑΒΑΣΕ χ ΟΣΟ ΕΠΑΝΑΛΑΒΕ ΕΜΦΑΝΙΣΕ Λάθος, δώσε ξανά τιμή για το χ ΔΙΑΒΑΣΕ χ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Μονάδες 3 2) ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΕΜΦΑΝΙΣΕ Δώσε τιμή για το χ ΔΙΑΒΑΣΕ χ ΑΝ ΤΟΤΕ ΓΡΑΨΕ Λάθος ΤΕΛΟΣ_ΑΝ ΜΕΧΡΙΣ_ΟΤΟΥ Μονάδες 3 Ε. Έστω η εγγραφή ενός μαθητή με πεδία τα παρακάτω: Αριθμός μητρώου, έτος γεννήσεως, τάξη και τμήμα. Ποιο από τα παραπάνω πεδία ονομάζεται πρωτεύον κλειδί και γιατί; Μονάδες 4 2
Στ) Να δοθεί ένα παράδειγμα γλώσσας προγραμματισμού για κάθε μια από τις παρακάτω περιπτώσεις (να επιλέξετε ανάμεσα στα προτεινόμενα: PASCAL, C, LISP, SQL, COBOL) 1. Γλώσσα προγραμματισμού συστημάτων 2. Γλώσσα ερωταπαντήσεων 3. Γλώσσα αντικειμενοστραφής 4. Γλώσσα συναρτησιακή Μονάδες 4 Ζ) Δίνεται η παρακάτω συνάρτηση: ΣΥΝΑΡΤΗΣΗ ελ_αρ(χ): ΧΑΡΑΚΤΗΡΑΣ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: χ ΧΑΡΑΚΤΗΡΕΣ: αριθμός ΑΡΧΗ αριθμός άρτιος ΑΝ χmod2=1 ΤΟΤΕ αριθμός περιττός ΤΕΛΟΣ_ΑΝ ελ_αρ αριθμός ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ Να γραφεί διαδικασία η οποία θα επιτελεί ακριβώς το ίδιο έργο με την συνάρτηση. Μονάδες 10 3
ΘΕΜΑ 2 ο Δίνεται ο παρακάτω αλγόριθμος: Αλγόριθμος Α_2 Δεδομένα //Π// Εμφάνισε Δώσε τον αριθμό που ψάχνεις Διάβασε Χ Θ 0 ΒΡ Ψευδής Για i από 1 μέχρι 8 Αν Π[i] = Χ τότε Θ i ΒΡ Αληθής Τέλος_Αν Τέλος_Επανάληψης Αν ΒΡ = Ψευδής τότε Εμφάνισε Ο αριθμός που ψάχνεται δεν περιέχεται στον πίνακα Αλλιώς Τέλος_Αν Εμφάνισε Ο αριθμός, Χ, βρίσκεται στη θέση, Θ, του πίνακα Τέλος Α_2 4
Α) Να γίνει το διάγραμμα ροής του παραπάνω αλγόριθμου. (Μονάδες 7) Β) Να γράψετε αλγόριθμο ο οποίος θα εκτελεί την ίδια λειτουργία με αυτή του παραπάνω αλγόριθμου, με τη διαφορά ότι πρέπει να τερματίζει η επανάληψη όταν βρεθεί το στοιχείο αναζήτησης. (Μονάδες 6) Γ) Δίνεται πίνακας 8 θέσεων της μορφής: 1 2 3 4 5 6 7 8 54 23 23 7 10 1 54 29 Π Να γράψετε στο τετράδιό σας τί θα εμφανίσει ο αλγόριθμος που σας δόθηκε στην αρχή του θέματος, αν δοθούν ως είσοδοι ο παραπάνω πίνακας καθώς και η τιμή 54. (Μονάδες 7) ΘΕΜΑ 3 ο Να γραφεί αλγόριθμος ο οποίος προσομοιώνει το παιχνίδι της κρεμάλας για έναν παίχτη. Ο αλγόριθμος αρχικά διαβάζει έναν μονοδιάστατο πίνακα Α 11 θέσεων, ο οποίος έχει αποθηκευμένα ένα προς ένα τα γράμματα μίας λέξης, όπως φαίνεται στο παράδειγμα που ακολουθεί: 1 2 3 4 5 6 7 8 9 10 11 Υ Π Ο Λ Ο Γ Ι Σ Τ Η Σ Α Στη συνέχεια, ο αλγόριθμος θα πρέπει να δημιουργεί έναν νέο μονοδιάστατο πίνακα Λ, ο οποίος θα έχει επίσης 11 θέσεις, τοποθετώντας το πρώτο και το τελευταίο γράμμα της λέξης στις αντίστοιχες θέσεις και το σύμβολο της κάτω παύλας στις υπόλοιπες. Για παράδειγμα: 1 2 3 4 5 6 7 8 9 10 11 Υ _ Σ 5
Λ Έπειτα, ο αλγόριθμος θα ξεκινά μία επαναληπτική διαδικασία όπου σε κάθε βήμα θα ζητά από τον παίχτη να δώσει ένα γράμμα, το οποίο θα το διαβάζει και θα το αναζητά στον πίνακα Α (θα ελέγχει τα στοιχεία από το 2 ο μέχρι το 10 ο ). Αν το γράμμα υπάρχει στον πίνακα Α, θα πηγαίνει στην αντίστοιχη θέση του πίνακα Λ και θα το καταχωρεί. Αν δηλαδή ο παίχτης δώσει το γράμμα Ο, η νέα μορφή του πίνακα Λ θα είναι η ακόλουθη: 1 2 3 4 5 6 7 8 9 10 11 Υ _ Ο _ Ο Σ Αν το γράμμα που έδωσε ο παίχτης δεν υπάρχει στον πίνακα (αποτυχημένη προσπάθεια), τότε θα εμφανίζεται μήνυμα με το πλήθος των προσπαθειών που του απομένουν μέχρι να βρει τη λέξη. Η παραπάνω διαδικασία θα εκτελείται επαναληπτικά μέχρι ο παίχτης να βρει ολόκληρη τη λέξη ή όταν κάνει 5 αποτυχημένες προσπάθειες. Στο τέλος ο αλγόριθμος θα εμφανίζει κατάλληλα μηνύματα που θα εξηγούν την έκβαση του παιχνιδιού (αν ο παίχτης βρήκε τη λέξη ή όχι). Στην περίπτωση που ο παίχτης έχει βρει τη λέξη αυτή θα εμφανίζεται στην οθόνη. Μονάδες 20 ΘΕΜΑ 4 ο Στον φετινό Πανελλήνιο Διαγωνισμό Πληροφορικής έλαβαν μέρος 56 μαθητές από όλη την Ελλάδα. Ο κάθε μαθητής είχε να αντιμετωπίσει 9 προβλήματα αλγοριθμικής, το κάθε ένα από τα οποία βαθμολογείται από την κριτική επιτροπή με βαθμό από το 1 έως και το 10. Η τελική βαθμολογία του κάθε μαθητή υπολογίζεται από τον μέσο όρο των 2 υψηλότερων βαθμολογιών του. 6
Στο τέλος, δημιουργείται μία ομάδα που αποτελείται από τους 4 μαθητές με τη μεγαλύτερη τελική βαθμολογία και η οποία θα εκπροσωπήσει τη χώρα στη Βαλκανική Ολυμπιάδα Πληροφορικής. Να γράψετε πρόγραμμα το οποίο: 1) Αρχικά, διαβάζει τα ονοματεπώνυμα των 56 μαθητών και τα αποθηκεύει σε μονοδιάστατο πίνακα ΟΕ. (Μονάδες 2) 2) Αποθηκεύει σε δισδιάστατο πίνακα Β[56,9] τη βαθμολογία κάθε μαθητή σε κάθε πρόβλημα, ελέγχοντας τη σωστή καταχώρηση της βαθμολογίας. Επίσης, αποθηκεύει σε δισδιάστατο πίνακα ΧΡ[56,9] τον χρόνο (σε λεπτά) που χρειάστηκε ο κάθε μαθητής για να λύσει το αντίστοιχο πρόβλημα. (Μονάδες 4) 3) Στη συνέχεια, το πρόγραμμα καλεί κατάλληλο υποπρόγραμμα όπου δημιουργείται μονοδιάστατος πίνακας με την τελική βαθμολογία κάθε μαθητή και επιστρέφεται πίσω στο πρόγραμμα. (Μονάδες 2) 4) Τέλος, το πρόγραμμα πρέπει να εμφανίσει τα ονόματα των μαθητών που θα εκπροσωπήσουν τη χώρα στη Βαλκανική Ολυμπιάδα Πληροφορικής. Στην περίπτωση που ανάμεσα στους τέσσερεις καλύτερους μαθητές παρατηρηθεί ισοβαθμία τότε καλύτερος θεωρείται αυτός που έλυσε συνολικά σε μικρότερο χρονικό διάστημα τα 9 προβλήματα του διαγωνισμού. (Μονάδες 6) 5) Να υλοποιήσετε το υποπρόγραμμα που αναφέρεται στο ερώτημα 3. Σημειώσεις: (Μονάδες 6) α) Να θεωρήσετε ότι δεν υπάρχουν μαθητές που έλυσαν τα προβλήματα στον ίδιο χρόνο. β) Οι χρόνοι είναι σε λεπτά και είναι ακέραιοι αριθμοί. γ) Οι βαθμολογίες είναι πραγματικοί αριθμοί. 7