Γ ΤΑΞΗ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΘΕΜΑ Α [40 μόρια] α) Να επιλέξτε το γράμμα Σ, αν μια πρόταση είναι σωστή και το γράμμα Λ αν είναι λάθος: [10 μόρια] 1) Το παρακάτω σύνολο εντολών αποδίδει σε κάθε περίπτωση στη μεταβλητή Β την τιμή 77. Αν Α mod 3 = 3 τότε Β 7 αλλιώς Β 77 Τέλος_αν 2) Σε μια ουρά στην οποία ο δείκτης FRONT που δείχνει το πρώτο στοιχείο έχει την τιμή 4 και ο δείκτης REAR που δείχνει το τελευταίο έχει την τιμή 6, μπορεί να γίνει εξαγωγή 3 φορές. 3) Σε μία σύνθετη λογική έκφραση είναι απαραίτητη η χρήση συγκριτικών τελεστών. 4) Αν Α, Β είναι λογικές εκφράσεις τότε η έκφραση (Α ΚΑΙ ΟΧΙ Α) Ή Β έχει πάντα ως αποτέλεσμα την τιμή της έκφρασης Β. 5) Κανένα άλυτο πρόβλημα δεν θα μπορούσε να χαρακτηριστεί δομημένο. 6) Στη φυσική γλώσσα κατά βήματα μπορεί να παραβιαστεί η καθοριστικότητα. 7) Ο πιο αποδοτικός αλγόριθμος ταξινόμησης είναι η μέθοδος της φυσαλίδας. 8) Η είσοδος σε κάθε βρόχο γίνεται υποχρεωτικά από την αρχή του. 9) Σε πρόγραμμα μία Αν κλείνει πάντα με Τέλος_Αν. 10) Οι γλώσσες 4 ης γενιάς απευθύνονται μόνο σε προγραμματιστές. β) 1)Να περιγράψετε τις βασικές λειτουργίες που εκτελούν οι υπολογιστές.[6 μόρια] 2) Τι είναι αρχεία [2 μόρια] 3) Τι είναι αλφάβητο μιας γλώσσας; [2 μόρια] γ) Να συμπληρωθούν τα κενά έτσι ώστε το κάθε τμήμα αλγορίθμου, να γεμίζει έναν πίνακα Α με τους αριθμούς 1, 2, 3, 4,, 8. 1. Χ 1 Όσο Χ <= επανάλαβε Α[ ] Χ Χ + 1 Τέλος_Επανάληψης 2. Χ 1 Αρχή_Επανάληψης Χ Χ + 1 Α[ ] Μέχρις_Ότου > 9 [6 μόρια] 1
ε) Παρακάτω δίνεται μια ουρά 10 θέσεων και δύο στοίβες 6 θέσεων η κάθε μια οι Σ1 και Σ2. [9 μόρια] 6 7 8 9 1 2 3 4 5 6 7 8 9 10 16 25 36 Σ1 Ουρά Σ2 1. Ποιες οι αρχικές τιμές των δεικτών της ουράς και των στοιβών Σ1 και Σ2 πριν οποιαδήποτε μεταβολή ; 2. Αν επιχειρήσουμε να ωθήσουμε όλα τα στοιχεία της ουράς στη στοίβα Σ1 τι θα συμβεί στη στοίβα; 3. Αν επιχειρήσουμε να απωθήσουμε ένα στοιχείο από τη Σ2 τι θα συμβεί στη στοίβα; 4. Να εξάγετε 2 στοιχεία της ουράς στη στοίβα Σ2. Ποιες είναι οι νέες τιμές των δεικτών της ουράς και της στοίβας; ) 5. Να γράψετε τις λειτουργίες με τις οποίες εξάγονται 2 στοιχεία της στοίβας Σ1 και στη συνέχεια εισάγονται στην ουρά. 6. Να αφαιρέσετε 2 στοιχεία από την ουρά και να τα εισάγετε στην στοίβα Σ2. Ποιες λειτουργίες εκτελέσατε? 7. Να σχεδιάσετε την τελική κατάσταση των τριών δομών δεδομένων μετά την εκτέλεση των λειτουργιών στις ερωτήσεις 4, 5 και 6. στ) Δίνεται το παρακάτω πρόγραμμα σε «ΓΛΩΣΣΑ». 1. ΠΡΟΓΡΑΜΜΑ ΕΙΝΑΙ-ΠΡΩΤΟΣ 2. ΜΕΤΑΒΛΗΤΕΣ 3. ΑΚΕΡΑΙΕΣ: Χ, i, C 4. ΧΑΡΑΚΤΗΡΕΣ: ΜΗΝΥΜΑ 5. ΑΡΧΗ 6. ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ 7. ΔΙΑΒΑΣΕ Χ 8. ΜΕΧΡΙΣ_ΟΤΟΥ Χ>0 9. C 0 10. ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Χ ΕΠΑΝΑΛΑΒΕ 11. AN (Χ MOD i) = 0 TOTE 12. C C + 1 13. ΤΕΛΟΣ_ΑΝ 14. ΤΕΛΟΣ_ΓΙΑ 15. ΑΝ C=2 TOTE 16. MHNYMA EINAI ΠΡΩΤΟΣ 17. ΑΛΛΙΩΣ 18. ΜΗΝΥΜΑ ΔΕΝ ΕΙΝΑΙ ΠΡΩΤΟΣ 19. ΤΕΛΟΣ 20. ΓΡΑΨΕ ΜΗΝΥΜΑ 21. ΤΕΛΟΣ_ΑΛΓΟΡΙΘΜΟΥ 2
Να γράψετε στο τετράδιό σας τον αριθμό κάθε γραμμής του προγράμματος, στην οποία εντοπίζετε συντακτικό λάθος και να περιγράψετε το λάθος αυτό. [5 μόρια] ΘΕΜΑ Β [20 μόρια] α) Δίνεται ο αλγόριθμος: Αλγόριθμος Βαθμολογία Α 0 Για i από 1 μέχρι 500 Διάβασε Χ Α Α + Χ Αν i mod 5 = 0 τότε Υ Α / 5 Εμφάνισε "Ο ", i div 5, "ος μαθητής έχει μέσο όρο ", Υ Α 0 Τέλος_αν Τέλος_επανάληψης Τέλος Βαθμολογία α1) Να μεταφέρετε τον παρακάτω πίνακα στο τετράδιό σας και να τον συμπληρώσετε εκτελώντας τον αλγόριθμο για τις 10 πρώτες επαναλήψεις, δηλαδή μέχρι το i να πάρει την τιμή 10, ως εξής: Γνωρίζοντας ότι η μεταβλητή Χ παίρνει από το πληκτρολόγιο τις συγκεκριμένες τιμές που αναγράφονται στον πίνακα, καταγράψτε την τιμή που θα έχει η μεταβλητή Α στο τέλος κάθε επανάληψης, καθώς και την έξοδο στην οθόνη εφόσον υπάρχει εμφάνιση στην οθόνη στην αντίστοιχη επανάληψη. i X A Έξοδος στην οθόνη - - 0-1 12 2 15 3 17 4 13 5 18 6 16 7 10 8 15 9 13 10 11 [5 μόρια] 3
α2) Ο αλγόριθμος που ακολουθεί είναι ισοδύναμος με τον αρχικό, με τη διαφορά ότι κάνει χρήση εμφωλευμένων επαναλήψεων και δεν περιλαμβάνει δομή επιλογής. Αλγόριθμος Βαθμολογία (1) Για i από 1 μέχρι (2) (3) Για j από 1 μέχρι (4) Διάβασε Χ Α Α + Χ Τέλος_επανάληψης (5) Εμφάνισε "Ο ", (6), "ος μαθητής έχει μέσο όρο ", Υ Τέλος_επανάληψης Τέλος Βαθμολογία Να γράψετε στο τετράδιό σας τον αριθμό για καθένα από τα κενά 1-6 και δίπλα την κατάλληλη εντολή ή έκφραση. Σημειώνεται ότι ένα από τα κενά δεν πρέπει να συμπληρωθεί. [3 μόρια] α3) Να περιγράψετε με συντομία το πρόβλημα που λύνει ο αλγόριθμος. [2 μόρια] β) Τι θα εμφανίσει το παρακάτω πρόγραμμα αν για είσοδο δώσουμε κάποιες από τις παρακάτω τιμές με την σειρά που αναγράφονται; 5, 3, 28, -2, 18, 16, 17 [10 μόρια] ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Α, Χ, Β ΑΡΧΗ Α 5 ΟΣΟ Α < 10 ΕΠΑΝΑΛΑΒΕ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ Χ ΜΕΧΡΙΣ_ΟΤΟΥ Χ>=1 ΚΑΙ Χ<=20 Β ΣΥΝΟΛΟ (Α, Χ) +1 ΓΡΑΨΕ Α, Β, Χ ΑΝ Α > Β ΤΟΤΕ ΓΡΑΨΕ Α ΤΕΛΟΣ_ΑΝ Α Α + 2 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ 4
ΣΥΝΑΡΤΗΣΗ ΣΥΝΟΛΟ (Χ, Υ) : ΑΚΕΡΑΙΑ ΜΕΤΑΒΛΗΤΕΣ AKEΡΑΙΕΣ : Χ, Υ ΑΡΧΗ ΑΝ Χ < Υ ΤΟΤΕ Χ Χ + Υ MOD Χ ΑΛΛΙΩΣ Χ Χ - X DIV Y ΤΕΛΟΣ_ΑΝ ΣΥΝΟΛΟ (Χ + Υ) DIV2 ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ ΘΕΜΑ Γ [20 μόρια] Ο δήμος Αγρινίου κατασκεύασε νέο ανοικτό αμφιθέατρο για την πραγματοποίηση εκδηλώσεων. Το αμφιθέατρο αριθμεί 15 σειρές καθισμάτων. Αποφασίστηκε για τη συναυλία ενός μουσικού, το κόστος του εισιτηρίου της 1 ης σειράς να είναι 20 και κάθε επόμενης να είναι μειωμένο κατά 2. Για τις 8 τελευταίες σειρές όμως το κόστος εισιτηρίου θα είναι 5. Τα έσοδα θα διατεθούν για φιλανθρωπικούς σκοπούς. α) Να αναπτύξετε υποπρόγραμμα που θα δέχεται τον αριθμό της σειράς και θα επιστρέφει το κόστος του εισιτηρίου. β) Να αναπτύξετε πρόγραμμα, το οποίο: 1. θα διαβάζει επαναληπτικά τη σειρά που επιθυμεί να καθίσει ένας θεατής που αγοράζει εισιτήριο. 2. θα καλεί το υποπρόγραμμα του ερωτήματος (α). 3. θα εμφανίζει το κόστος του εισιτηρίου. Η επανάληψη θα ολοκληρώνεται όταν εισαχθεί ως σειρά ο αριθμός 0. Θεωρούμε ότι τα εισιτήρια επαρκούν και δεν υπάρχει έλλειψη θέσεων. 4. θα εμφανίζει το σύνολο των εισιτηρίων που κόπηκαν, πόσα ήταν τα εισιτήρια της πρώτης σειράς, το σύνολο των εισπράξεων και το ποσοστό των θεατών που επέλεξαν το φθηνό εισιτήριο των 5. 5. θα εμφανίζει πόσοι θεατές πλήρωσαν εισιτήριο του οποίου η αξία διαφέρει το πολύ 2, σε σχέση με την αξία του εισιτηρίου που πλήρωσε ο 1 ος θεατής. ΘΕΜΑ Δ [20 μόρια] Να γίνει αλγόριθμος που: α) Διαβάζει για 500 ροδακινοπαραγωγούς το όνομά τους και την μηνιαία παραγωγή τους σε τόνους για το προηγούμενο έτος, εξασφαλίζοντας ότι είναι μη αρνητικές ποσότητες (θεωρήστε δεδομένο ότι είναι πραγματικοί αριθμοί). 5
β) Υπολογίζει και εμφανίζει σε κάθε μήνα, το όνομα του παραγωγού με την μεγαλύτερη παραγωγή (θεωρήστε δεδομένο ότι είναι ένας παραγωγός κάθε μήνα). γ) Υπολογίζει και εμφανίζει πόσα φορτηγά των 2 τόνων χρειάστηκε κάθε παραγωγός για την μεταφορά της σοδειάς του, για κάθε μήνα του έτους ξεχωριστά. δ) Θεωρώντας ότι, για κάθε φορτηγό τα μεταφορικά έξοδα είναι 200 και ότι κάθε κιλό ροδάκινο πουλιέται 0,45, υπολογίζει και εμφανίζει τα συνολικά κέρδη κάθε παραγωγού στην διάρκεια του έτους. ε) Αν μια εταιρεία ζητά να αγοράσει ποσότητα τουλάχιστον ίση με 100 τόνους, να βρεθεί αν υπάρχει παραγωγοί που μπορούν να την καλύψουν στο τέλος του έτους. Αν ναι, εμφανίζει τα ονόματά τους, αλλιώς εντοπίζει και εμφανίζει όλους τους δυνατούς συνδυασμούς από 2 παραγωγούς που το άθροισμα των παραγωγών τους μπορεί να καλύψει την απαιτούμενη ποσότητα. 6