Θέματα Ανάπτυξης Εφαρμογών σε Προγραμματιστικό Περιβάλλον Γ λυκείου Προσανατολισμός Σπουδών Οικονομίας και Πληροφορικής Θέμα Α Α1. Να γράψετε στο τετράδιο σας το γράμμα της κάθε πρότασης και δίπλα τη λέξη ΣΩΣΤΟ, αν η πρόταση είναι σωστή, ή τη λέξη ΛΑΘΟΣ, αν η πρόταση είναι λανθασμένη. α. Αν σε έναν δυαδικό αριθμό γίνει ολίσθηση ενός ψηφίου προς τα δεξιά και κατόπιν στον αριθμό που προκύπτει γίνει ολίσθηση ενός ψηφίου προς τα αριστερά, τότε ο τελευταίος αριθμός είναι πάντα ίδιος με τον αρχικό. β. Η ταξινόμηση ευθείας ανταλλαγής στοιχείων μπορεί να πραγματοποιήσει περιττές επαναλήψεις. γ. Σε ένα υποπρόγραμμα είναι υποχρεωτικό να υπάρχει λίστα παραμέτρων. δ. Ο έλεγχος εγκυρότητας δεδομένων εισόδου γίνεται αποκλειστικά μόνο με δομή επανάληψης Αρχή_επανάληψης Μέχρις_ότου. ε. Η δομή δεδομένων πίνακας είναι δομή κύριας μνήμης. Α2. Να απαντήσετε στα παρακάτω ερωτήματα: α. Τι εννοούμε λέγοντας ότι οι μεταβλητές έχουν ισχύ μόνο τοπικά (μονάδες 2); Πως ονομάζονται αυτές οι μεταβλητές σύμφωνα με την εμβέλεια τους και ποια είναι τα πλεονεκτήματα τους (μονάδες 2); Ποια άλλα είδη εμβέλειας γνωρίζετε (μονάδες 2); β. Να αναφέρετε επιγραμματικά τα πλεονεκτήματα του τμηματικού προγραμματισμού (μονάδες 4). γ. Ποια είναι τα κριτήρια που πρέπει να ικανοποιεί ένας αλγόριθμος (μονάδες 2); Αναλύστε ένα από αυτά (μονάδα 1). Μονάδες 13 1
Α3. Να συμπληρώσετε κατάλληλα τον ακόλουθο πίνακα γράφοντας τον αριθμό επανάληψης και τις τιμές που εμφανίζονται στην οθόνη σε κάθε επανάληψη κατά την εκτέλεση του παρακάτω τμήματος προγράμματος και της διαδικασίας. X 100 Y 10 ΟΣΟ Υ <= 60 ΕΠΑΝΑΛΑΒΕ ΚΑΛΕΣΕ Δ (Χ, Υ) ΓΡΑΨΕ Χ, Υ Αριθμός επανάληψης Επανάληψη 1. ΔΙΑΔΙΚΑΣΙΑ Δ (Υ, Χ) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Χ, Υ ΑΡΧΗ Υ Υ 10 Χ Χ + 20 ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ Οθόνη εμφάνισης των Χ, Υ Μονάδες 6 Α4. Δίνεται πίνακας ονομάτων 7 θέσεων με τα εξής στοιχεία στις αντίστοιχες θέσεις: Γιάννης, Αγαθή, Έλενα, Μάριος, Χρήστος, Εύη, Δημήτρης α. Πόσες επαναλήψεις θα χρειαστούν για να εντοπιστεί με σειριακή αναζήτηση: 1. Το όνομα Δημήτρης. 2. Το όνομα Αγαθή. β. Τι θα έπρεπε να πραγματοποιήσετε στον πίνακα ονομάτων, έτσι ώστε να μπορείτε να χρησιμοποιήσετε την δυαδική αναζήτηση (3 μονάδες); Πόσες επαναλήψεις θα χρειάζονταν για να εντοπιστούν τα δύο παραπάνω ονόματα με αυτήν την μέθοδο αναζήτησης (2 μονάδες); 2
Α5. Στο παρακάτω τμήμα προγράμματος υπολογίζεται και εμφανίζεται ο μέσος όρος των στοιχείων ενός πίνακα 100 ακέραιων αριθμών. Σ 0 ΓΙΑ x ΑΠΟ 1 ΜΕΧΡΙ 100 Σ Σ + Α [ x ] ΜΟ Σ / 100 ΓΡΑΨΕ ΜΟ α. Να τροποποιήσετε το τμήμα προγράμματος, έτσι ώστε ο μέσος όρος να υπολογίζεται σε ένα υποπρόγραμμα και να εμφανίζεται κατάλληλα στο πρόγραμμα (Το υποπρόγραμμα να γραφεί ολοκληρωμένο μετά το τμήμα προγράμματος). β. Να τροποποιήσετε το τμήμα προγράμματος, έτσι ώστε να υπολογιστεί ο μέσος όρος ακέραιων αριθμών που θα διαβάζονται από το πληκτρολόγιο μέχρι να δοθεί κάποιος αρνητικός αριθμός ως είσοδος. Θέμα Β Β1. Να ξαναγράψετε ολόκληρο το παρακάτω τμήμα προγράμματος, συμπληρώνοντας τα κενά έτσι ώστε να διαβάζεται αρχικά, με έλεγχο εγκυρότητας, ένας αριθμός που είναι πολλαπλάσιο του 50 και στη συνέχεια να εμφανίζεται μαζί και με τους 49 προηγούμενους του: ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ Χ ΜΕΧΡΙΣ_ΟΤΟΥ Χ... ΓΙΑ i ΑΠΟ... ΜΕΧΡΙ... ΜΕ_ΒΗΜΑ... ΓΡΑΨΕ i 3
Β2. Ο αλγόριθμος της ταξινόμησης φυσαλίδας έχει το μειονέκτημα ότι είναι αρκετά αργός και δεν μπορεί να αντιληφθεί αν ο πίνακας έχει ταξινομηθεί νωρίτερα ώστε να τερματίσει τις επαναλήψεις. Μία τροποποίηση του γνωστού αλγορίθμου η οποία μπορεί να εφαρμόσει αυτόν τον τερματισμό νωρίτερα, λέγεται «έξυπνη» ταξινόμηση φυσαλίδας και με την χρήση της δεν θα πραγματοποιηθούν περιττές επαναλήψεις. Στο παρακάτω τμήμα προγράμματος παρουσιάζεται αυτή η παραλλαγή του αλγορίθμου φυσαλίδας για αύξουσα σειρά ταξινόμησης. Να γράψετε στο τετράδιο σας τους αριθμούς 1 έως 8, που αντιστοιχούν στα κενά του τμήματος κώδικα και δίπλα τους ότι πρέπει να συμπληρωθεί, ώστε το τμήμα να επιτελεί την ενέργεια που σας περιγράφεται. Αντιμετ ΑΛΗΘΗΣ i... (1) ΟΣΟ i <= Ν ΚΑΙ Αντιμετ =... (2) ΕΠΑΝΑΛΑΒΕ Αντιμετ... (3) ΓΙΑ j ΑΠΟ Ν ΜΕΧΡΙ... (4) ΜΕ ΒΗΜΑ... (5) ΑΝ Π [ j ]... (6) Π [ j 1 ] ΤΟΤΕ ΤΕΛΟΣ_ΑΝ temp Π [ j 1 ] Π [ j 1 ] Π [ j ] Π [ j ] temp Αντιμετ ΑΛΗΘΗΣ i... (7) +... (8) Υπόδειξη: Χρησιμοποιείται μία λογική μεταβλητή που αρχικοποιείται σε ΨΕΥΔΗΣ, κάθε φορά που ξεκινά ο έλεγχος από το τέλος του πίνακα, έτσι ώστε αν δεν γίνει καμία αντιμετάθεση να τερματίζεται η ταξινόμηση, ενώ γίνεται ΑΛΗΘΗΣ όταν πραγματοποιηθεί κάποια αντιμετάθεση. Μονάδες 8 4
Β3. Να γραφεί τμήμα προγράμματος σε «ΓΛΩΣΣΑ», το οποίο να δημιουργεί τον παρακάτω πίνακα Α [4, 6]: 1 5 9 13 17 21 2 6 10 14 18 22 3 7 11 15 19 23 4 8 12 16 20 24 Μονάδες 8 Θέμα Γ Το Bitcoin είναι ένα λογισμικό ανοιχτού κώδικα το οποίο δημιουργήθηκε με σκοπό την εκτέλεση συναλλαγών χρησιμοποιώντας κρυπτογραφημένες ψηφιακές πληροφορίες. Αυτές οι πληροφορίες έχει επικρατήσει να λέγονται bitcoins και συνήθως αναφέρονται ως το «ψηφιακό νόμισμα» για τις συναλλαγές του παραπάνω λογισμικού. Μερικά από τα βασικότερα πλεονεκτήματα του είναι ότι οι συναλλαγές πραγματοποιούνται με ένα κοινό παγκοσμίως νόμισμα, χωρίς να χρειάζονται ισοτιμίες συναλλάγματος για το νόμισμα κάθε χώρας και οι μεταφορές είναι άμεσες, χωρίς να υπάρχουν οι εκάστοτε μεσάζοντες (π.χ. τράπεζες), λειτουργία που αποσκοπεί στην εξάλειψη των ειδικών τελών πληρωμής προς αυτούς, με αποτέλεσμα το μοναδικό τέλος με τα bitcoin να είναι σχεδόν μηδενικό. Η ιστοσελίδα μας παρέχει δωρεάν στους χρήστες-πελάτες της τις εξής υπηρεσίες για bitcoins: 1. Υπηρεσία ανταλλακτηρίου Ευρώ σε bitcoins και αντίστροφα*. 2. Υπηρεσία μεταφοράς bitcoins σε λογαριασμούς τρίτων. *Δίνεται η ισοτιμία Bitcoins Ευρώ: 1BTC = 6578 Να γραφεί πρόγραμμα σε «ΓΛΩΣΣΑ» το οποίο: Γ1. Θα περιλαμβάνει κατάλληλο τμήμα δηλώσεων. 5
Γ2. Να ζητάει και να διαβάζει το όνομα του χρήστη της ιστοσελίδας και την χρονολογία γέννησης του και στη συνέχεια να εμφανίζει μενού ε- πιλογών με τις παραπάνω υπηρεσίες διαβάζοντας την επιλογή του χρήστη. Γ3. Να διαβάζει το ποσό συναλλαγής και τον τύπο του νομίσματος («ΕΥ- ΡΩ» ή «ΒITCOINS») (μονάδα 1) και: α. Για την υπηρεσία ανταλλακτηρίου να καλεί το υποπρόγραμμα που περιγράφεται στο ερώτημα Γ6 και να εμφανίζει σε κατάλληλο μήνυμα το αρχικό ποσό και το νόμισμα, όπως επίσης και το ποσό, το οποίο είναι το αποτέλεσμα της εκτέλεσης της υπηρεσίας (μονάδες 2). β. Για την υπηρεσία μεταφοράς bitcoins να διαβάζεται ο αριθμητικός κωδικός λογαριασμού του χρήστη στον οποίο θα μεταφερθούν τα χρήματα και να εμφανίζει μήνυμα της μορφής: «Ο/Η ΟΝΟ- ΜΑ_ΧΡΗΣΤΗ μετέφερε ΠΟΣΟ bitcoins στο λογαριασμό ΑΡΙΘ- ΜΟΣ_ΛΟΓΑΡΙΑΣΜΟΥ» (μονάδες 3). ΠΡΟΣΟΧΗ: η μεταφορά πραγματοποιείται μόνο για bitcoins, οπότε αν το αρχικό νόμισμα είναι σε Ευρώ να εκτελείται υποχρεωτικά πρώτα η υπηρεσία ανταλλακτηρίου και έπειτα η υπηρεσία μεταφοράς. Μονάδες 6 Γ4. Η διαδικασία αυτή να επαναλαμβάνεται όσο επιλέγεται μία από τις δύο υπηρεσίες της ιστοσελίδας και όσο η ηλικία του χρήστη (σύμφωνα με την χρονολογία γέννησής του) είναι από 18 και άνω. Μονάδες 3 Γ5. Να εμφανιστεί ο συνολικός αριθμός συναλλαγών που πραγματοποιήθηκαν (κάθε διαφορετική υπηρεσία που εκτελείται είναι και διαφορετική συναλλαγή), το συνολικό ποσό σε bitcoins που ανταλλάχθηκε από όλους τους πελάτες, καθώς επίσης και το ποσό της μεγαλύτερης συναλλαγής σε bitcoins που πραγματοποιήθηκε και το όνομα του χρήστη που την εκτέλεσε. Γ6. Να δημιουργηθεί κατάλληλο υποπρόγραμμα που να δέχεται ως είσοδο το ποσό χρημάτων και τον τύπο του νομίσματος και να εκτελεί την υπηρεσία ανταλλακτηρίου, επιστρέφοντας στο κυρίως πρόγραμμα την αξία του ποσού στο άλλο νόμισμα. Μονάδες 3 6
Θέμα Δ Η Ευρωπαϊκή Στατιστική Υπηρεσία Eurostat επιθυμεί να ελέγξει τις εισαγωγές προϊόντων των 28 κρατών-μελών της Ευρωπαϊκής Ένωσης, ώστε να μπορέσει να εξάγει κάποια στατιστικά στοιχεία. Για αυτό το σκοπό αναθέτει σε εσάς να δημιουργήσετε ένα πρόγραμμα σε «ΓΛΩΣΣΑ» το οποίο: Δ1. Θα περιλαμβάνει κατάλληλο τμήμα δηλώσεων. Δ2. Να διαβάζει για τις χώρες-μέλη τα ονόματα τους σε πίνακα κατάλληλων διαστάσεων και για κάθε μία από αυτές τις εισαγωγές προϊόντων (σε εκατομμύρια ευρώ) που έγιναν τα τελευταία δέκα έτη, από το έ- τος 2008 έως και το έτος 2017. Δ3. Να υπολογίζει και να εμφανίζει τη χρονιά (π.χ. 2010), κατά την οποία έγινε η μεγαλύτερη εισαγωγή προϊόντων συνολικά από όλες τις χώρες. Δ4. Να εμφανίζει τα ονόματα των 10 κρατών με τον μεγαλύτερο αριθμό εισαγωγών συνολικά για τη δεκαετία. Δ5. Να δημιουργεί νέο πίνακα κατάλληλης διάστασης, που για κάθε χώρα και για κάθε έτος, θα περιέχει τα ποσοστά εισαγωγής προϊόντων της χώρας σε σχέση με τις συνολικές ετήσιες εισαγωγές της. Δ6. Γνωρίζοντας ότι η Ελλάδα είναι η έκτη χώρα κατά σειρά καταχώρησης, να εμφανίζεται το ποσοστό συμμετοχής της στις εισαγωγές για κάθε έτος. Επίσης να εμφανίζεται κατάλληλο μήνυμα, αναλόγως αν η Ελλάδα σύμφωνα με το ποσοστό του τελευταίου έτους έκανε περισσότερες ή λιγότερες εισαγωγές σε σχέση με τις εισαγωγές του έτους 2008 και κατά πόσο τοις εκατό. Μονάδες 3 Επιμέλεια θεμάτων: Ζουλάμογλου Πέτρος 7