53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η ΠΑΓΚΡΑΤΙ: Φιλολάου & Εκφαντίδου 26 : 210/76.01.470 210/76.00.179 ΘΕΜΑ Α [Α.1.1]. Από ποιους παράγοντες εξαρτάται η επιλογή της γλώσσας για την ανάπτυξη μιας εφαρμογής; [Α.1.2]. Τι είναι η τιμή φρουρός; Να δώσετε ένα παράδειγμα εκφώνησης προβλήματος, μαζί με τον αλγόριθμο επίλυσής του, στο οποίο χρησιμοποιείται τιμή φρουρός, και να αναφέρετε ποια είναι σε αυτό η τιμή φρουρός. Μονάδες 6 [Α.2]. Να χαρακτηρίσετε τις παρακάτω προτάσεις ως σωστές η λανθασμένες 1)Η ιεραρχική σχεδίαση προγράμματος υλοποιείται με τον τμηματικό προγραμματισμό. 2)Η καλύτερη γλώσσα προγραμματισμού είναι η JAVA 3)Η αριθμητική έκφραση 40/5*4 έχει τιμή 2 4)Το παρακάτω τμήμα αλγορίθμου δεν εμφανίζει σε καμία περίπτωση τον χαρακτήρα B Αν α>0 Ή β>0 τότε Εμφάνισε A Αλλιώς_αν α>0 ΚΑΙ β>0 τότε Εμφάνισε B 5)Η λογική έκφραση ((5>3) ΚΑΙ Β) και η λογική μεταβλητή Β έχουν πάντοτε την ίδια τιμή. Μονάδες 10 [Α.3]. Ένας μαθητής στο πρόβλημα «Να δοθεί αλγόριθμος ο οποίος να δέχεται βαθμούς μαθητών (στην κλίμακα [0,100]), μέχρι να δοθεί ο βαθμός -1 και στο τέλος να εμφανίζει τους δύο μεγαλύτερους βαθμούς που εμφανίστηκαν.», έδωσε το παρακάτω τμήμα αλγορίθμου σαν λύση(να θεωρήσετε ότι αποκλείεται δύο μαθητές να έχουν τον ίδιο βαθμό, και ότι οι δύο πρώτοι βαθμοί είναι διαφορετικοί από το -1): Διάβασε α,β Αν α>β τότε ΜΑΧ1 α Αλλιώς ΜΑΧ2 β Αρχή_επανάληψης Διάβασε α Αν α<>-1 τότε Αν α>μαχ2 τότε ΜΑΧ2 α Αλλιώς_αν α>μαχ1 τότε ΜΑΧ1 α ΜΑΧ2 ΜΑΧ1 Μέχρις_ότου α=-1 Είναι σωστή ή λάθος η λύση που έδωσε και γιατί; Να δικαιολογήσετε πλήρως την απάντηση σας και αν είναι λάθος, να προτείνετε έναν τρόπο να διορθωθούν τα λάθη του. [1]
Μονάδες 6 [Α.4.1]. Δίνεται πίνακας Α ακέραιου τύπου με 200 στοιχεία που είναι όλα φυσικοί αριθμοί. Τι πρόκειται να συμβεί στον πίνακα Α, αν εκτελεστεί το παρακάτω τμήμα αλγορίθμου Για κ από 2 μέχρι 200 Για λ από 200 μέχρι κ με_βήμα -1 Αν Α[λ] MOD2 = 0 KAI A[λ-1] MOD2 = 1 τότε Ρ Α[λ] Α[λ] Α[λ-1] Α[λ-1] Ρ [Α.4.2]. Αν θέλουμε ο πίνακας Α να αναδιαμορφώνεται ως εξής: στις πρώτες θέσεις του να τοποθετηθούν όλα τα στοιχεία του που το τελευταίο ψηφίο τους είναι 4, 5, 6, στις επόμενες θέσεις του να τοποθετηθούν όλα τα στοιχεία που το τελευταίο ψηφίο τους είναι 0,1,2 ή 3 και στις τελευταίες θέσεις του, όλα τα υπόλοιπα στοιχεία του πίνακα, τότε να συμπληρωθεί η κενή γραμμή του παρακάτω τμήματος αλγορίθμου Για κ από 2 μέχρι 200 Για λ από 200 μέχρι κ με_βήμα -1 Αν τότε Ρ Α[λ] Α[λ] Α[λ-1] Α[λ-1] Ρ [Α.4.3]. Δίνεται το παρακάτω τμήμα αλγορίθμου Για κ από 2 μέχρι 20 Για λ από 200 μέχρι κ με_βήμα -1 Αν Α[λ] > Α[λ-1] τότε Ρ Α[λ] Α[λ] Α[λ-1] Α[λ-1] Ρ Το παραπάνω τμήμα αλγορίθμου 1)ταξινομεί όλα τα στοιχεία του πίνακα Α σε φθίνουσα σειρά 2)εντοπίζει τα 19 μεγαλύτερα στοιχεία του πίνακα και τα τοποθετεί στις 19 πρώτες θέσεις του πίνακα 3) εντοπίζει τα 19 μικρότερα στοιχεία του πίνακα και τα τοποθετεί στις 19 πρώτες θέσεις του πίνακα 4)ταξινομεί τα στοιχεία που βρίσκονται αρχικά στις 19 πρώτες θέσεις του πίνακα 5)τίποτα από τα παραπάνω Να επιλέξετε την σωστή απάντηση Μονάδες 10 [2]
[Α.5.1]. Δίνεται το παρακάτω τμήμα αλγορίθμου Φ ΨΕΥΔΗΣ Κ 0 Αρχή_επανάληψης Μ 0 Όσο Μ<ΤΕΛΟΣ1 επανάλαβε Μ Μ+2 Εμφάνισε ΕΠΑΝΑΛΗΨΗ Κ Κ+1 Αν Κ=ΤΕΛΟΣ2 τότε Φ ΑΛΗΘΗΣ Μέχρις_ότου Φ=ΑΛΗΘΗΣ α)αν οι μεταβλητές ΤΕΛΟΣ1 και ΤΕΛΟΣ2 έχουν τιμές 4 και 3 αντίστοιχα, τότε πόσες φορές εκτελείται η εντολή Εμφάνισε ΕΠΑΝΑΛΗΨΗ β)αν η μεταβλητή ΤΕΛΟΣ1 έχει τιμή 2, τότε τι τιμή πρέπει να έχει η μεταβλητή ΤΕΛΟΣ2, ώστε να εκτελείται 6 φορές η εντολή Εμφάνισε ΕΠΑΝΑΛΗΨΗ γ)αν η μεταβλητή ΤΕΛΟΣ2 έχει τιμή 5 τότε ποιες είναι οι δυνατές τιμές της μεταβλητής ΤΕΛΟΣ1 ώστε η εντολή Εμφάνισε ΕΠΑΝΑΛΗΨΗ, να εκτελείται τουλάχιστον 15 φορές. [Α.5.2]. Δίνεται το παρακάτω τμήμα αλγορίθμου Χ ΑΡ Όσο Χ<=ΤΕ επανάλαβε Εμφάνισε Χ Χ Χ+ΒΜ Να συμπληρωθεί ο πίνακας τοποθετώντας στα κενά είτε σταθερές, είτε αριθμητικές εκφράσεις που εξαρτώνται από το α ΑΡ ΒΜ ΤΕ Πλήθος εκτελέσεων της εντολής Εμφάνισε Χ 5 2 15 10 8 3 4 40 4 8 20 4 Α 5 3 2 α 6 Μονάδες 8 [3]
ΘΕΜΑ Β [Β.1]. Δίνονται οι παρακάτω δισδιάστατοι πίνακες(α,β) διάστασης 4x4. Με βάση το τμήμα προγράμματος και την συνάρτηση που παρουσιάζονται παρακάτω να δώσετε τα περιεχόμενο του δισδιάστατου πίνακα(γ) που παράγεται. Πίνακας Α 10 90 21 21 23 12 290 111 1112 23 12 10 22 1000 9021 10 Πίνακας Β 19 90 2 100div10 10 12 10 1 2 2 10 12 5 12 1 9878 Τμήμα Προγράμματος ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 4 ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 4 Γ[ι,κ] ΣΥΝΑΡΤ(Α[ι,κ],Β[ι,κ]) ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Συνάρτηση ΣΥΝΑΡΤΗΣΗ ΣΥΝΑΡΤ(Χ,Υ):ΑΚΕΡΑΙΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ:Χ,Υ ΑΡΧΗ ΣΥΝΑΡΤ 0 ΟΣΟ (Υ>0) ΕΠΑΝΑΛΑΒΕ ΑΝ Υ MOD 2<>0 TOTE ΣΥΝΑΡΤ ΣΥΝΑΡΤ+Χ ΤΕΛΟΣ_ΑΝ Χ Χ*2 [4]
Υ Υ DIV 2 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ [Β.2.1]. Θέλουμε στην οθόνη να εμφανιστούν οι παρακάτω τιμές 3,6,9,12,18,21,27. Δίνονται τα παρακάτω τμήματα αλγορίθμων τα οποία πρέπει να συμπληρώσετε το κάθε ένα ξεχωριστά ώστε επιτευχθούν τα παραπάνω αποτελέσματα. Α. χ 0 Όσο (1) επανάλαβε χ χ+ (2) Αν (3) ΚΑΙ (4) τότε Β. Γράψε χ Για χ από (5) μέχρι (6) με_βήμα (7) Αν (8) ΚΑΙ (9) τότε Γράψε χ [Β.2.2]. Χρησιμοποιώντας αποκλειστικά δομές επανάληψης και την εντολή γράψε(όσες φορές χρειαστεί) να κατασκευάσετε ισοδύναμο τμήμα αλγορίθμου το οποίο να εκτυπώνει τα ίδια αποτελέσματα που ζητήθηκαν στο ερώτημα Β.2.1. Μονάδες 12 [Β.3]. Με βάση τον παρακάτω αλγόριθμο να σχεδιάσετε το διάγραμμα ροής που θα προκύψει. Αλγόριθμος Θέμα_Β2 Διάβασε χ Όσο χ<>0 επανάλαβε Αν χ>0 τότε Αρχή_επανάληψης Διάβασε υ [5]
α υ*2 Εμφάνισε α Μέχρις_ότου υ>0 Αν χ<=0 τότε Για g από 10 μέχρι 3 με_βήμα -2 Εμφάνισε g Διάβασε χ Τέλος Θέμα_Β2 Μονάδες 5 [6]
ΘΕΜΑ Γ Σε ένα νησί πάνω σε κάποιον αυτοκινητόδρομό του, υπάρχουν 60 αθλητικοί όμιλοι αντισφαίρισης ξυλορακέτας. Σε έναν μονοδιάστατο πίνακα ΧΛΜ 60 θέσεων, αποθηκεύεται το χιλιόμετρο του αυτοκινητόδρομου στο οποίο βρίσκεται ο κάθε όμιλος από αυτούς. Οι χιλιομετρικές θέσεις των ομίλων να θεωρήσετε ότι είναι όλες διαφορετικές μεταξύ τους. Σε έναν άλλο δισδιάστατο πίνακα 60 γραμμών και 2 στηλών ΟΝ, αποθηκεύονται στην πρώτη στήλη του, το όνομα του κάθε ομίλου και στην δεύτερη στήλη του ο χαρακτηρισμός Θ, αν ο όμιλος λειτουργεί μόνο το καλοκαίρι, ή ο χαρακτηρισμός X, αν ο όμιλος λειτουργεί όλο τον χρόνο. Να γραφεί πρόγραμμα το οποίο: [Γ1]. να δέχεται τα στοιχεία των 2 πινάκων κάνοντας έλεγχο εγκυρότητας των στοιχείων που εισάγονται, ώστε να εξασφαλίζεται ότι: [Γ.1.1]. τα ονόματα των ομίλων που εισάγονται είναι όλα διαφορετικά μεταξύ τους. [Γ.1.2]. σαν χαρακτηρισμός ομίλου εισάγεται η τιμή Χ ή η τιμή Θ Μονάδες 2 [Γ.1.3]. ανά 50 χιλιόμετρα υπάρχουν το πολύ 4 όμιλοι. Αυτό θα πρέπει να εξασφαλίζεται ως εξής: για κάθε όμιλο που θα διαβάζεται το χιλιόμετρό στο οποίο είναι τοποθετημένος, θα πρέπει να εξασφαλίζεται ότι δεν υπάρχουν ήδη άλλοι 4 όμιλοι σε απόσταση μικρότερη ή ίση των 50 χιλιομέτρων από αυτά. [Γ2]. Για κάθε ζευγάρι ομίλων να δέχεται τον δείκτη εκτίμησης μεταξύ των δύο ομίλων (ο οποίος είναι ένας αριθμός). Το πρόγραμμα θα πρέπει να διαβάζει πρώτα αυτό το στοιχείο και στην συνέχεια να κατασκευάζει έναν νέο πίνακα ΔΕ[60,60], ο οποίος θα έχει στοιχεία μόνο κάτω από την κύρια διαγώνιο και εκεί θα αποθηκεύεται ο δείκτης επιλογής για κάθε ζευγάρι ομίλων, ο οποίος ισούται με το πηλίκο του δείκτη εκτίμησης δια την απόσταση των ομίλων, η οποία μπορεί να προκύψει από τον πίνακα με την θέση των ομίλων. Ο πίνακας αυτός για παράδειγμα στην θέση 5,3 θα έχει το δείκτη εκτίμησης ανάμεσα στους ομίλους 5 και 3, επομένως το στοιχείο 3,5 του ίδιου πίνακα δεν χρειάζεται να έχει τιμή. [Γ3]. Να δέχεται το όνομα ενός ομίλου Α και να εμφανίζει τα ονόματα όλων των ομίλων που λειτουργούν και τον χειμώνα και έχουν δείκτη επιλογής μικρότερο του 100 σε σχέση με τον Α. Αν οι όμιλοι αυτοί είναι λιγότεροι από 5 να επαναλαμβάνει την ίδια διαδικασία για τον πρώτο από τους ομίλους που εμφανίστηκε κ. ο. κ. μέχρι να εμφανιστούν τουλάχιστον 5 όμιλοι με δείκτη επιλογής μικρότερο του 100 σε σχέση με κάποιον όμιλο, ή μέχρι η διαδικασία αυτή να εκτελεστεί 4 φορές. Για τους σκοπούς του ερωτήματος αυτού, να χρησιμοποιήσετε τα υποπρογράμματα των ερωτημάτων Γ4 και Γ5. Κατά την ανάγνωση του ομίλου Α να γίνεται έλεγχος εγκυρότητας με την βοήθεια του υποπρογράμματος του ερωτήματος Γ4, ώστε να εξασφαλίζεται ότι ο όμιλος Α υπάρχει στον πίνακα ΟΝ.(Να θεωρήσετε ότι για κάθε όμιλο υπάρχει τουλάχιστον ένας άλλος όμιλος που λειτουργεί τον χειμώνα και με τον οποίο ο δείκτης επιλογής που έχουν είναι μικρότερος του 100). [Γ4]. Να κατασκευάσετε υποπρόγραμμα το οποίο να έχει σαν είσοδο τον πίνακα ΟΝ και μία μεταβλητή τύπου χαρακτήρα (όνομα ομίλου) και να επιστρέφει την τιμή 0 αν το περιεχόμενο της μεταβλητής δεν υπάρχει στον πίνακα, ή διαφορετικά την γραμμή μέσα στον πίνακα στην οποία υπάρχει το περιεχόμενο αυτό. [Γ5]. Να κατασκευάσετε υποπρόγραμμα το οποίο να έχει σαν είσοδο τον δισδιάστατο πίνακα ΔΕ, τον πίνακα ΟΝ και το όνομα ενός ομίλου και το οποίο: [Γ.5.1]. Να εμφανίζει τα ονόματα όλων των ομίλων που λειτουργούν και τον χειμώνα και οι οποίοι έχουν δείκτη επιλογής μικρότερο του 100 σε σχέση με τον όμιλο του οποίου το όνομα δόθηκε. [7]
[Γ.5.2]. Να επιστρέφει το όνομα του ομίλου από αυτούς που εμφανίστηκαν στο Γ.5.1. που εμφανίστηκε πρώτος, αλλά και το πλήθος των ομίλων που εμφανίστηκαν. ΘΕΜΑ Δ Ένας όμιλος επιχειρήσεων επιθυμεί να αναπτύξει ένα λογισμικό το οποίο θα χρησιμοποιηθεί από το τμήμα διαφήμισης του ομίλου για παραγωγή εξατομικευμένων συστάσεων ώστε να υλοποιηθούν νέα προϊόντα. Το λογισμικό θα αξιοποιηθεί σε τηλεφωνική έρευνα σε συγκεκριμένο δείγμα πολιτών. Σας ανατίθεται η διαδικασία ανάπτυξης του παραπάνω έργου. Για το σκοπό αυτό να δημιουργήσετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο: [Δ.1]. Θα δέχεται ως είσοδο 10 ερωτήσεις και θα τις αποθηκεύει σε κατάλληλο μονοδιάστατο πίνακα. Για παράδειγμα μια πιθανή ερώτηση θα μπορεί να είναι «Αγοράζετε επιτραπέζια παιχνίδια;» η οποία αποθηκεύεται ως πρόταση σε κελί του παραπάνω μονοδιάστατου πίνακα. Μονάδες 1 [Δ.2]. Θα δέχεται ως είσοδο το πλήθος του δείγματος πολιτών για το οποίο θα γίνει η έρευνα. Μονάδες 1 [Δ.3]. Για κάθε έναν από τους συμμετέχοντες στην έρευνα θα δίνεται ως είσοδος οι πιθανές του απαντήσεις σε κάθε μία από τις 10 ερωτήσεις οι οποίες μπορεί να είναι ΚΑΘΟΛΟΥ, ΑΡΚΕΤΑ, ΠΟΛΥ και θα αποθηκεύονται σε κατάλληλο πίνακα. Να γίνεται έλεγχος εγκυρότητας των δεδομένων. Μονάδες 2 [Δ.4]. Θα δημιουργεί έναν δισδιάστατο πίνακα ΑΠΑΝΤΗΣΕΙΣ[10,3] ο οποίος θα περιέχει για κάθε ερώτηση το πλήθος κάθε πιθανής απάντησης. Δηλαδή στην πρώτη στήλη κάθε γραμμής θα περιέχεται το πλήθος όσων απάντησαν ΚΑΘΟΛΟΥ, στην δεύτερη στήλη το πλήθος όσων απάντησαν ΑΡΚΕΤΑ και στην τρίτη στήλη το πλήθος όσων απάντησαν ΠΟΛΥ. Μονάδες 4 [Δ.5]. Με χρήση συνάρτησης η λειτουργία της οποίας περιγράφεται στο ερώτημα Δ.7 να εκτυπώνεται από το πρόγραμμα η ερώτηση στην οποία απάντησαν περισσότεροι επιλέγοντας «ΠΟΛΥ». Μονάδες 2 [Δ.6]. Να εκτυπώνεται η κάθε ερώτηση και στη συνέχεια οι πιθανές απαντήσεις ΚΑΘΟΛΟΥ, ΑΡΚΕΤΑ, ΠΟΛΥ συνοδευόμενες από το πόσες φορές δόθηκαν ως απάντηση σε φθίνουσα σειρά ως προς το πλήθος. Για παράδειγμα αν στην πρώτη ερώτηση έχουμε τις παρακάτω απαντήσεις ΚΑΘΟΛΟΥ:120 ΑΡΚΕΤΑ:91 ΠΟΛΥ:200 να εκτυπώνεται στην οθόνη: Αγοράζετε επιτραπέζια παιχνίδια; ΠΟΛΥ:200 ΚΑΘΟΛΟΥ:120 ΑΡΚΕΤΑ:91 Μονάδες 4 [Δ.7]. Να κατασκευαστεί συνάρτηση η οποία θα δέχεται ως είσοδο τον πίνακα ΑΠΑΝΤΗΣΕΙΣ και τον πίνακα του ερωτήματος Δ.1 και θα επιστρέφει την ερώτηση, σε επίπεδο πρότασης, στην οποία οι περισσότεροι έδωσαν την απάντηση «ΠΟΛΥ». Να θεωρήσετε ότι υπάρχει μία μόνο τέτοια ερώτηση. Μονάδες 6 Επιμέλεια Προτεινόμενων Θεμάτων ΘΩΜΟΥ ΔΗΜΗΤΡΗΣ ΚΟΖΩΝΗΣ ΜΑΡΙΟΣ [8]