53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η ΠΑΓΚΡΑΤΙ: Φιλολάου & Εκφαντίδου 26 : 210/76.01.470 210/76.00.179 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις, 1-5, και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι λανθασμένη. Α2. 1. Η σωστή επίλυση ενός προβλήματος προϋποθέτει μόνο τον επακριβή προσδιορισμό των δεδομένων που παρέχει το πρόβλημα. 2. Η διαδικασία της ώθησης πρέπει οπωσδήποτε να ελέγχει, αν η στοίβα είναι γεμάτη, οπότε λέγεται ότι συμβαίνει υποχείλιση (underflow) της στοίβας. 3. Ένα από τα στάδια επίλυσης ενός προβλήματος με τον υπολογιστή είναι η ανάπτυξη του αντίστοιχου αλγορίθμου. 4. Ο συντάκτης είναι ένα ειδικό πρόγραμμα που χρησιμοποιείται για την αρχική σύνταξη των προγραμμάτων και τη διόρθωσή τους στη συνέχεια. 5. Μερικές γλώσσες προγραμματισμού ονομάζουν ορίσματα τις τυπικές παραμέτρους και απλά παραμέτρους τις πραγματικές παραμέτρους. α. Να αναφέρετε τους κανόνες που πρέπει να ακολουθούνται αυστηρά στη χρήση των εμφωλευμένων βρόχων για τη σωστή λειτουργία των προγραμμάτων. β. Να δώσετε τον ορισμό των εννοιών οπτικός προγραμματισμός και οδηγούμενος από το γεγονός προγραμματισμός. Α3. Δίνονται οι παρακάτω ομάδες εντολών. Σε κάθε μια από αυτές, να βάλετε τις εντολές στη σωστή σειρά με την οποία θα πρέπει να γράφονται σε ένα πρόγραμμα. 1. 2. 1. ΓΡΑΨΕ Δεν υπάρχει ρίζα 2. ΑΝ Α>0 ΤΟΤΕ 3. ΤΕΛΟΣ_ΑΝ 4. ΑΛΛΙΩΣ 5. Ρίζα Τ_Ρ(Α) 1. ΜΕΧΡΙΣ_ΟΤΟΥ(Απάντηση= Ν ή Απάντηση= ν ) 2. ΔΙΑΒΑΣΕ Απάντηση 3. ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ 4. ΓΡΑΨΕ Δώσε απάντηση: [1]
Α4. Δίνεται το παρακάτω τμήμα αλγορίθμου. Αφού δώσετε μια γενική περιγραφή σχετικά με το τι υλοποιεί να το ξαναγράψετε κάνοντας χρήση αποκλειστικά ενός αθροιστή, της δομής επανάληψης και ως επιπλέον μεταβλητή(εκτός του αθροιστή) τον μετρητή της δομής επανάληψης. χ 2 υ 4 σ 0 Για ι από 1 μέχρι 49 Αν ι mod 2 <>0 τότε σ σ+χ/υ Αλλιώς σ σ-χ/υ χ χ+2 υ υ*4 Α5. Να θεωρήσετε ένα μονοδιάστατο πίνακα ΠΙΝ 30 ακέραιων αριθμών. Να συμπληρώσετε το παρακάτω τμήμα αλγορίθμου ώστε ο πίνακας να ταξινομείται σε αύξουσα διάταξη σύμφωνα με τον αλγόριθμο της ευθείας ανταλλαγής. Να γράφετε τον αριθμό που βρίσκεται μέσα στην παρένθεση και δίπλα την απάντηση σας. Για κ από 8 μέχρι (1) Για λ από (2)μέχρι (3) με_βήμα -1 Αν ΠΙΝ[ (4)]> ΠΙΝ[ (5)] τότε προς ΠΙΝ[ (6)] ΠΙΝ[ (7)] ΠΙΝ[ (8)] ΠΙΝ[ (9)] (10) Α6. Για το παρακάτω τμήμα αλγορίθμου να γράψετε το διάγραμμα ροής που προκύπτει: Β 2 Γ 4 Κ 1 Αρχή_επανάληψης Ζ 4 Διάβασε Χ Όσο Ζ<=10 επανάλαβε Εμφάνισε Χ+Β Διάβασε Χ Ζ Ζ+3 [2]
Κ Κ+1 Μέχρις_ότου Κ>10 Αν Χ+Ζ+Γ>10 τότε Εμφάνισε Χ Α7. Δίνεται συνάρτηση Πρόσθεση η οποία δέχεται αποκλειστικά δύο ακέραιους αριθμούς και επιστρέφει το άθροισμα τους. Επίσης δίνεται το παρακάτω τμήμα προγράμματος: Τμήμα Προγράμματος ΓΡΑΨΕ Δώσε 4 αριθμούς ΔΙΑΒΑΣΕ Α,Β,Γ,Δ Υ ΓΡΑΨΕ Υ Να συμπληρώσετε το κενό με τέτοιο τρόπο ώστε να γίνεται χρήση της συνάρτησης προκειμένου να υπολογιστεί το άθροισμα των τεσσάρων αριθμών. Δεν επιτρέπεται να προσθέσετε καμία γραμμή προγράμματος επιπλέον καθώς και η χρήση αριθμητικών τελεστών. ΘΕΜΑ Β Δίνεται ο ακόλουθος πίνακας και το παρακάτω τμήμα αλγορίθμου. 1 4 4 4 4 2 3 1 4 4 2 6 3 3 1 2 6 6 3 3 2 1 6 6 3 2 5 5 1 6 2 5 5 5 5 1 Σ1 0 Σ2 0 Για κ από 1 μέχρι 6 Για λ από 1 μέχρι 6 Σ1 Σ1+Α[κ,λ] Αν κ<λ ΚΑΙ κ+λ<7 τότε Σ2 Σ2+Α[κ,λ] Εμφάνισε Σ1,Σ2 Β1. Πόσες φορές εκτελείται η εντολή Σ1 Σ1+Α[κ,λ] Μονάδες 3 Β2. Πόσες φορές εκτελείται η εντολή Σ2 Σ2+Α[κ,λ] Β3. Τι εμφανίζει η εντολή Εμφάνισε Σ1, Σ2. Δεν χρειάζεται να παρουσιάσετε την εκτέλεση όλου του αλγορίθμου και τις τιμές που παίρνει σταδιακά η καθεμία από τις μεταβλητές. Β4. Να μετατρέψετε το παραπάνω τμήμα αλγορίθμου σε ισοδύναμο με την χρήση της δομής επανάληψης Όσο επανάλαβε, αντί της εντολής Για από μέχρι Β5. Δίνεται το παρακάτω τμήμα αλγορίθμου Σ2 0 Για κ από μέχρι [3]
Για λ από μέχρι Σ2 Σ2+Α[κ,λ] Εμφάνισε Σ2 Να συμπληρώσετε το παραπάνω τμήμα αλγορίθμου ώστε στην μεταβλητή Σ2 να υπολογίζεται το ίδιο άθροισμα με το άθροισμα που υπολογίζεται στο τμήμα αλγορίθμου του ερωτήματος Β1. Μπορείτε να χρησιμοποιήσετε εκφράσεις μέσα στις οποίες να χρησιμοποιείτε μόνο την μεταβλητή κ ή την μεταβλητή λ ή απλές αριθμητικές εκφράσεις ΘΕΜΑ Γ Στα πλαίσια μηχανογράφησης των σχολείων της Δευτεροβάθμιας εκπαίδευσης της χώρας Χ μια εταιρεία λογισμικού αναλαμβάνει να υλοποιήσει ένα πληροφοριακό σύστημα διαχείρισης των δεδομένων που συγκεντρώνονται από τις επιμέρους διευθύνσεις δευτεροβάθμιας. Για το λόγο αυτό να γράψετε αλγόριθμο ο οποίος: Γ1. Θα διαβάζει για κάθε μαθητή των 19 σχολείων κάθε νομού της χώρας Χ(52 νομοί σε όλη τη χώρα) το βαθμό του στο μάθημα του προγραμματισμού και θα τον αποθηκεύει σε κατάλληλο δισδιάστατο πίνακα. Να θεωρήσετε ότι κάθε νομός έχει 19 σχολεία και σε κάθε σχολείο υπάρχουν 109 μαθητές. Να γίνει έλεγχος εγκυρότητας στα δεδομένα ώστε οι βαθμοί να είναι μεγαλύτεροι του μηδενός και μικρότεροι ίσοι του 100. Γ2. Θα υπολογίζει και θα εκτυπώνει το μέσο όρο κάθε σχολείου και θα τον αποθηκεύει σε δισδιάστατο πίνακα ΜΟ[52,19],τον οποίο πρέπει να κατασκευάσετε. Γ3. Θα εμφανίζει κατά φθίνουσα σειρά τους βαθμούς των μαθητών σε κάθε σχολείο του κάθε νομού. Προσοχή η φθίνουσα διάταξη αφορά το κάθε σχολείο ξεχωριστά και όχι το νομό στο σύνολό του. Γ4. Θα διαβάζει ένα όνομα νομού και στη συνέχεια έναν αριθμό ο οποίος θα εκφράζει τον αριθμό του σχολείου για τον συγκεκριμένο νομό. Στη συνέχεια ο αλγόριθμος θα αναζητάει τον συγκεκριμένο νομό και όταν τον εντοπίσει θα εκτυπώνει τη συχνότητα εμφάνισης κάθε βαθμολογίας των μαθητών του σχολείου που προσδιορίστηκε παραπάνω. Να θεωρήσετε ότι και το όνομα του νομού και ο αριθμός που εκφράζει το σχολείο είναι έγκυρες τιμές. ΘΕΜΑ Δ Ένα ηλεκτρονικό παιχνίδι παίζεται με δύο παίκτες ως εξής: Κάθε παίκτης έχει στην διάθεσή του ένα ταμπλό-δισδιάστατο πίνακα 50 γραμμών και 50 στηλών στον οποίο τοποθετεί 10 σημαίες-βάσεις. Στην συνέχεια οι δύο παίκτες παίζουν εναλλάξ κάνοντας ο καθένας κάθε φορά μία επίθεση (προσπάθεια κατάληψης σημαίας) σε μία θέση του πίνακα του αντιπάλου τους. Μάλιστα κάθε φορά που ένας παίκτης θα κάνει μία τέτοια επίθεση θα αναφέρει και το προς τα πού θέλει να εξαπλωθεί αυτή η επίθεση. Η επιλογή αυτή θα μπορεί να είναι «ΠΑΝΩ»,«ΚΑΤΩ», «ΑΡΙΣΤΕΡΑ», «ΔΕΞΙΑ», και η επίθεση που θα πραγματοποιείται κάθε φορά θα εξαπλώνεται 5 επιπλέον θέσεις εκτός της αρχικής και προς την κατεύθυνση που δηλώθηκε στον πίνακα του αντιπάλου. Να γραφεί πρόγραμμα το οποίο Δ1. να δέχεται τα ονόματα των δύο παικτών και στην συνέχεια να καλεί το υποπρόγραμμα ΚΑΤΑΣΚΕΥΗ μία φορά για κάθε παίκτη, με την βοήθεια του οποίου, θα διαμορφώνει ο κάθε παίκτης τον αρχικό πίνακα ταμπλό με τις σημαίες του. Για τον σκοπό αυτό ο κάθε παίκτης θα δίνει τις συντεταγμένες των 10 θέσεων του πίνακα στις οποίες επιθυμεί να τοποθετήσει τις σημαίες τους. Οι πίνακες των δύο παικτών μετά την κλήση αυτού του υποπρογράμματος θα πρέπει να έχουν σε όλες τις θέσεις τους, είτε την λέξη «ΑΔΕΙΟ», είτε την λέξη «ΣΗΜΑΙΑ». Η ακριβής λειτουργία του υποπρογράμματος περιγράφεται παρακάτω. Μονάδες 3 [4]
Δ2. Θα δέχεται εναλλάξ για κάθε παίκτη τις συντεταγμένες της θέσης του πίνακα του αντίπαλου παίκτη στην οποία θέλει να εκδηλώσει την επίθεσή του, αλλά και την επιλογή κατεύθυνσης στην οποία θέλει να εξαπλώσει την επίθεσή του, όπως αυτή περιγράφηκε παραπάνω. Ο πίνακας του αντιπάλου θα πρέπει να διαμορφώνεται ώστε στις θέσεις στις οποίες έγινε επίθεση να είναι γραμμένη πλέον η λέξη «ΕΠΙΘΕΣΗ» αντί της λέξης «ΑΔΕΙΟ» ή «ΣΗΜΑΙΑ» που θα υπήρχε πριν. Σε αυτό το στάδιο θα πρέπει να γίνεται έλεγχος εγκυρότητας ώστε η επίθεση να εξαπλώνεται μόνο α)σε θέσεις που είναι εντός του πίνακα και όχι εκτός αυτού και β)σε θέσεις στις οποίες προηγουμένως ήταν αποθηκευμένη η λέξη «ΑΔΕΙΟ». Φυσικά η διαμόρφωση κάποιων θέσεων σε «ΕΠΙΘΕΣΗ» θα πρέπει να γίνεται αφού πρώτα γίνει ο προαναφερθείς έλεγχος εγκυρότητας. Επίσης αν ο έλεγχος εγκυρότητας δείξει πως υπάρχει λάθος, τότε δεν μετράει οποιαδήποτε σημαία ενδεχομένως επιτυγχάνεται σε αυτήν την επίθεση. Όπως έχει προαναφερθεί σκοπός της επίθεσης είναι το να πετύχει η επίθεση αυτή σημαία του αντιπάλου και υπενθυμίζεται ότι κάθε επίθεση εκδηλώνεται σε 5 επιπλέον θέσεις του πίνακα εκτός της αρχικής. Ο παραπάνω έλεγχος εγκυρότητας, η διαμόρφωση του αντίπαλου πίνακα και η μέτρηση των σημαιών που επιτυγχάνονται θα πρέπει να γίνονται από υποπρόγραμμα που θα κατασκευάσετε για τον σκοπό αυτό. Η ακριβής λειτουργία του υποπρογράμματος περιγράφεται παρακάτω. Δ3. για κάθε κίνηση του κάθε παίκτη, να αναφέρει πόσες σημαίες κατερρίφθησαν αλλά και το σκορ σε χτυπημένες σημαίες συνολικά για τους δύο αντιπάλους ξεκινώντας την μέτρηση από την αρχή του παιχνιδιού. Δ4. να ολοκληρώνει το παιχνίδι και να εμφανίζει το όνομα του νικητή του παιχνιδιού όταν συμβεί κάτι από τα ακόλουθα τρία Αν κάποιος χτυπήσει και τις 10 σημαίες του αντιπάλου, τότε αυτόματα σταματάει το παιχνίδι και είναι νικητής Αν κάθε παίκτης κάνει από 50 σωστές κινήσεις (σωστές εννοούμε πως μετράμε μία κίνηση μόνο αν δεν εξαπλώνεται η επίθεση εκτός πίνακα ή πάνω σε θέση που νωρίτερα έχει ξαναγίνει επίθεση). Σε αυτήν την περίπτωση νικητής είναι όποιος έχει πετύχει περισσότερες σημαίες του αντιπάλου ή έχουμε ισοπαλία. Αν κάποιος παίκτης σε μία προσπάθεια του κάνει 5 συνεχόμενες λάθος απόπειρες (λάθος υπό την έννοια ότι η επίθεση εξαπλώνεται εκτός πίνακα ή σε θέση στην οποία νωρίτερα έχει ξαναγίνει επίθεση.)σε αυτήν την περίπτωση ο παίκτης που έκανε αυτά τα λάθη χάνει αυτόματα το παιχνίδι και νικητής αναδεικνύεται ο αντίπαλός του. Δ5. Να κατασκευάσετε το υποπρόγραμμα του ερωτήματος Δ1. Το υποπρόγραμμα αυτό θα πρέπει να γεμίζει έναν πίνακα με την λέξη «ΑΔΕΙΟ» σε κάθε θέση του και στην συνέχεια να δέχεται από έναν παίκτη τις συντεταγμένες 10 θέσεων στις οποίες θέλει να τοποθετήσει τις σημαίες του και σε αυτές τις θέσεις να τοποθετεί την λέξη «ΣΗΜΑΙΑ» Δ6. Να κατασκευάσετε το υποπρόγραμμα ΠΑΙΧΝΙΔΙ το οποίο θα δέχεται από τον παίκτη του οποίου είναι η σειρά να παίξει την επιλογή του δηλαδή συντεταγμένες θέσεις και κατεύθυνση, θα κάνει έλεγχο εγκυρότητας για το ότι η επίθεση του εκδηλώνεται σε περιοχή που δεν είναι εκτός ορίων του πίνακα και το ότι εκδηλώνεται σε περιοχή στην οποία νωρίτερα δεν έγινε επίθεση και αφού διαμορφώσει τον πίνακα ώστε να γράφει πλέον ΕΠΙΘΕΣΗ στις θέσεις στις οποίες εκδηλώθηκε η επίθεση, να επιστρέφει στο πρόγραμμα, τον πίνακα διαμορφωμένο, αλλά και το σκορ του παίκτη σε συνολικές σημαίες αντιπάλου και τα λάθη του παίκτη, σε αυτήν την προσπάθεια δηλαδή πόσες αποτυχημένες προσπάθειες έγιναν πριν δοθεί η σωστή προσπάθεια επιλογής. Επιμέλεια Προτεινόμενων Θεμάτων ΘΩΜΟΥ ΔΗΜΗΤΡΗΣ ΚΟΖΩΝΗΣ ΜΑΡΙΟΣ [5]